如何在Debian 9 Stretch上安装Linux,Apache,MySQL,PHP(LAMP)堆栈
如何在Debian 9(Stretch)上设置和安装LAMP堆栈吗?
LAMP是四个经常用于开发Web应用程序(例如论坛,博客和商业网站)的开源软件的缩写:
L
inux操作系统A
pache Web服务器M
ySQL/MariaDB关系数据库管理系统(RDBMS)P
HP服务器端编程语言
本教程向您展示如何在Debian 9 Linux服务器上安装LAMP(Apache版本2,PHP版本7,MariaDB版本10.2)堆栈以及防火墙设置,以打开TCP端口80、22和443。
步骤1:应用补丁
执行以下apt-get命令/apt命令以更新系统:
$ sudo apt update
输出示例:
Hit:1 http://security.debian.org stretch/updates InRelease Hit:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease Reading package lists... Done Building dependency tree Reading state information... Done 38 packages can be upgraded. Run 'apt list --upgradable' to see them.
要将其修补为最新更新,请运行:
$ sudo apt-get upgrade
步骤2:安装Apache http服务器
执行以下命令:
$ sudo apt install apache2
您可以通过执行服务器的IP地址来查看默认页面。
要查找服务器的IP地址,请使用ip命令/ifconfig命令,如下所示:
$ ifconfig eth0 $ ip a show eth0 $ ip a show eth0 | grep -w inet
输出示例:
inet 10.114.13.8/24 brd 10.114.13.255 scope global eth0
打开浏览器,然后输入以下网址:
http://10.114.13.8
Apache HTTP服务器已成功安装在您的服务器上。
您可以通过编辑/var/www/html /目录中的index.html文件来更改默认页面:
$ sudo vi /var/www/html/index.html
如何停止/启动/重新启动/重新加载Apache HTTP服务器?
语法如下:
$ sudo systemctl {start|stop|restart|reload|status|graceful-stop|force-reload} apache2
要停止Apache 2服务器,请运行:
$ sudo systemctl stop apache2
要启动Apache 2服务器,请运行:
$ sudo systemctl start apache2
要重新启动Apache 2服务器,请运行:
$ sudo systemctl restart apache2
要重新加载Apache 2服务器,请运行:
$ sudo systemctl reload apache2
要查看Apache 2服务器的状态,请运行:
$ sudo systemctl status apache2
使用systemctl命令控制Apache 2服务器
如何更改Apache HTTP服务器的配置?
您需要编辑/etc/apache2 /目录中的文件:
$ cd /etc/apache2/ $ ls -l
您需要在/etc/apache2/conf-available /目录中编辑或添加新的配置文件。
这是默认的配置文件:
$ cat /etc/apache2/sites-enabled/000-default.conf
输出示例:
<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
步骤3:安装MariaDB服务器
MariaDB是RDBMS,可替代原始MySQL服务器。
它是世界上最受欢迎的数据库服务器之一。
它由MySQL的原始开发人员制作,并保证保持开源。
要安装MariaDB服务器,请运行:
$ sudo apt install default-mysql-server
或者
$ sudo apt install mariadb-server
如何保护MariaDB mysql服务器?
执行以下命令:
$ sudo mysql_secure_installation
请注意,MariaDB/mysql根帐户和系统根帐户是两个不同的帐户。
这不是用于服务器管理的根帐户。
因此,请确保设置不同的密码。
如何测试MariaDB安装?
执行以下命令:
$ mysql -u root -p
您将看到MariaDB mysql提示符。
您可以执行sql命令以查看数据库,版本等:
MariaDB [(none)]> show databases; MariaDB [(none)]> exit
步骤4:安装PHP版本7
与PHP 5.6相比,PHP版本7至少快30-50%。
因此,让我们在Debian 9服务器上安装PHP版本7和php模块:
$ sudo apt install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-gd php7.0-opcache
这将安装:
- 适用于Apache 2的PHP版本7
- PHP 7 MySQL连接模块
- PHP 7 OpCache模块可加速脚本
- PHP 7 GD图形模块
您可以使用以下语法搜索和安装其他PHP模块:
## [search php7 modules] ## $ apt-cache search php7 | grep module $ apt search php7 | grep mysql $ apt-cache search php7 | egrep 'mysql|gd|zip' $ apt-cache search php7 | more $ apt search php7 | more ## [search php7 modules] ## $ sudo apt install {module-name-here}
最后,重新启动Apache 2 HTTP服务器,运行:
$ sudo systemctl restart apache2
要测试PHP的安装,请在/var/www/html /目录中创建一个名为test.php的脚本:
$ sudo vi /var/www/html/test.php
其中追加以下PHP代码:
<?php phpinfo(); ?>
打开浏览器,然后输入以下网址:
http://10.114.13.8/test.php
PHP现在已安装并在您的服务器上运行。
步骤5:配置防火墙以打开端口80和443
执行以下命令以安装ufw防火墙前端:
$ sudo apt install ufw
您必须允许访问SSH端口22:
$ sudo ufw allow 22
打开端口80和443
$ sudo ufw allow 80 $ sudo ufw allow 443
现在,您具有默认策略和允许80/443的ssh端口。
启动防火墙是安全的,执行:
$ sudo ufw enable
输出示例:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
要查看防火墙规则,请运行:
$ sudo ufw status verbose
输出示例:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ --- 22 ALLOW IN Anywhere 80 ALLOW IN Anywhere 443 ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6) 80 (v6) ALLOW IN Anywhere (v6) 443 (v6) ALLOW IN Anywhere (v6)
现在LAMP在Debian 9系统上成功安装并运行。