按照 openSUSE SDB:LAMP setup 安装好了LAMP。运行的大多数命令都是来自与openSUSE SDB:LAMP setup中。
本页面描述如何安装LAMP,这是 Linux Apache MariaDB PHP. 为了这个目的,你需要安装:
- 一个运行的Apache2 web服务
- 一个已经配置好的MariaDB数据库服务
- PHP5和Apahce2一起运行;并且完美
- phpMyAdmin和一个已经配置好的pmadb数据库
整个安装需要的时间大概是20分钟,但这可能依赖你的网络连接情况。
安装apache2
第一,确保你有root权限和输入以下代码:
zypper in apache2
启动apache2
systemctl start apache2
如果你想重启apache,使用:
systemctl restart apache2
或者你想停止它,使用:
systemctl stop apache2
为了系统重启后自动启动apache服务
systemctl enable apache2
测试安装
为了检查你的apache2服务是否工作,使用你喜欢的文本编辑器在/srv/www/htdocs/文件夹中创建一个文件index.html文件写入以下内容:
<html><body><h1>Welcome to my web site!</h1></body></html>
现在使用你喜欢的浏览器,输入localhost,你应该可以看到一个页面中和大字标题 Welcome to my web site!
启用web服务可以外部访问
在目前的状态,web服务只允许使用localhost访问。如果你想允许它使用一个远程主机名(host)访问,你需要在防火墙中开启http(80)端口。这样做,编辑/etc/sysconfig/SuSEfirewall2文件和修改以下行
FW_CONFIGURATION_EXT=""
为
FW_CONFIGURATION_EXT="apache2"
在编辑完之后,你需要重启防火墙使用:
systemctl restart SuSEfirewall2
安装PHP
安装PHP7
确保你有root权限 -- 看下面,安装php7使用:
zypper in php7 php7-mysql apache2-mod_php7
别忘记启用mod-php通过运行:
a2enmod php7
你已经完成了,php7现在已经安装了。
安装PHP5
如果使用安装PHP5,步骤差不多和上面一样,使用"php5"代替"php7"
zypper in php5 php5-mysql apache2-mod_php5
a2enmod php5
注意你需要选择安装php5还是php7,你不能同时安装它们。
重启web服务器
现在你已经安装好了php,你需要重启你的apache2 web服务器:
systemctl restart apache2
测试安装
为了验证php是已经在运行,在/srv/www/htdocs/文件夹中创建一个index.php文件并写入以下内容:
<?php phpinfo(); ?>
现在,使用你的浏览器浏览localhost,你应该可以看到一个页面包含一个表格显示所有的PHP设置
安装 MariaDB
安装 Installing MariaDB
确保你有root权限 -- 同上。我们需要安装mariadb和mariadb-tools
zypper in mariadb mariadb-tools
启动MariaDB服务
启动MariaDB服务,运行:
systemctl start mysql
如果你想在服务器上面看发布消息,cat /var/log/messages.
cat /var/log/messages
确认这个服务能够在每次启动时自动启动:
systemctl enable mysql
如果你想重启mysql,运行:
systemctl restart mysql
或者你想停止它,运行:
systemctl stop mysql
配置 MariaDB/MySql 服务
和 Leap 42.1
通过配置MariaDB 服务提高安全性,请使用openSUSE提供的脚本mysql_secure_installation.后面的描述全过程
root # mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):
这里尽管按回车(Enter)键.
root #
... (output sequel of previous command)
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.
Set root password? [Y/n] y
这里尽管输入y.
root #
... (output sequel of previous command)
New password:
现在输入给root用户的密码
root # ... (output sequel of previous command) Re-enter new password:
输入确认密码
root # ... (output sequel of previous command) Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]
回答y来移除匿名用户。
root # ... (output sequel of previous command) ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]
现在回复y
root # ... (output sequel of previous command) ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n]
回复y
root # ... (output sequel of previous command) - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]
回复 y
最后可能会输出:
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
在过去的旧版本中
替换<NEW PASSWORD>的值为你想定义的一个新密码,运行:
mysqladmin -u root password '<NEW PASSWORD>'
输入目前的密码或密码从没有定义只需要按回车(Enter)
在客户端登录
现在你可以在服务器客户端中登录通过运行:
root # mysql -u root -p
Enter password:
然后输入你的密码
root # ... (output sequel of previous command) Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 154 Server version: 10.0.22-MariaDB openSUSE package Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
可以通过运行exit;回到终端.
安装 phpMyAdmin
什么是phpMyAdmin
phpMyAdmin -- a.k.a pma -- 是一个通过网站页面来管理你数据库的工具。
安装phpMyAdmin
安装phpMyAdmin,运行:
zypper in phpMyAdmin
这当然会安装一些依赖的php5模块和重启apache2服务。
登录到phpMyAdmin
为了登录到phpMyAdmin:
- 指向到localhost/phpMyAdmin
- 输入你mysql服务的用户名root和root用户的密码
- 点击'go'按钮
检查phpMyAdmin
现在你可以通过你的浏览器浏览http://localhost/phpMyAdmin/或http://ip_address/phpMyAdmin/并输入mysql root的用户名和他的密码。
就是这些!你现在可以通过一个网站页面来管理你的数据库了。
你可以阅读phpMyAdmin的文档在phpMyAdmin website
你现在应该有个在运行的LAMP服务了。
另外补充安装php扩展部分
安装php7的扩展
sudo zypper in php7-bcmath php7-opcache php7-bz2 php7-calendar php7-ctype php7-curl php7-dom php7-ftp php7-gd php7-gettext php7-gmp php7-iconv php7-imap php7-ldap php7-mbstring php7-mcrypt php7-odbc php7-openssl php7-pcntl php7-pgsql php7-posix php7-shmop php7-snmp php7-soap php7-sockets php7-sqlite php7-sysvsem php7-tokenizer php7-wddx php7-xmlrpc php7-xsl php7-zlib php7-exif php7-fastcgi php7-pear php7-sysvmsg php7-sysvshm php7-zip
如果你想安装php5的扩张,运行的命令和上面一样,把"php7"替换为"php5",运行:
sudo zypper in php5-bcmath php5-opcache php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm php5-zip
安装完之后,别忘记重启apache2 web服务。
sudo systemctl restart apache2
安装mysql
sudo zypper in mysql-community-server mysql-community-server-client mysql-community-server-tools mysql-connector-java mysql-workbench
参考:
-
SDB:LAMP setup本文的英文原文
- openSUSE之PHP学习之旅(1、环境配置) 学习了如何安装php模块
- 19. LAMP和LNMP服务器部署