LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。LAMP拥有庞大的社区支持和丰富的资源,适合开发、部署和维护各种规模的Web应用,由于其高度灵活性和可定制性,您可以根据项目需求调整每个组件的配置,以达到最佳性能和安全性。本文介绍如何在Alibaba Cloud Linux 3/2、CentOS 7.x操作系统的ECS实例内部署LAMP环境。
准备工作
创建用于部署LAMP环境的ECS实例,具体操作,请参见自定义购买实例。
该实例必须满足以下条件:
实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定和解绑弹性公网IP。
操作系统:Alibaba Cloud Linux 3/2、CentOS 7.x。
实例安全组的入方向规则已放行22、80、443端口。具体操作,请参见添加安全组规则。
步骤一:安装Apache
远程连接需要部署LAMP环境的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,安装Apache服务及扩展包。
sudo yum -y install httpd httpd-manual mod_ssl mod_perl
运行以下命令,查看Apache的版本号。
httpd -v
返回结果类似如下所示,表示Apache安装成功。
依次运行以下命令,启动Apache服务并设置服务开机自启动。
sudo systemctl start httpd sudo systemctl enable httpd
运行以下命令,查看Apache状态。
sudo systemctl status httpd
返回结果如下所示,表示Apache服务已启动。
步骤二:安装并配置MySQL
安装MySQL
当ECS实例操作系统为Alibaba Cloud Linux 3,需安装MySQL依赖包。
sudo yum install compat-openssl10
运行以下命令,更新YUM源。
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
运行以下命令,安装MySQL。
sudo yum -y install mysql-community-server
运行以下命令,查看MySQL版本号。
mysql -V
返回结果如下所示,表示MySQL安装成功。
mysql Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
运行以下命令,启动MySQL。
sudo systemctl start mysqld
依次运行以下命令,设置开机启动MySQL。
sudo systemctl enable mysqld sudo systemctl daemon-reload
配置MySQL
运行以下命令,查看
/var/log/mysqld.log
文件,获取并记录root用户的初始密码。sudo grep 'temporary password' /var/log/mysqld.log
命令行返回结果如下,其中
ARQTRy3+****
为MySQL的初始密码。在下一步重置root用户密码时,会使用该初始密码。2021-11-10T07:01:26.595215Z 1 [Note] A temporary password is generated for root@localhost: ARQTRy3+****
运行以下命令,配置MySQL的安全性。
sudo mysql_secure_installation
输入MySQL的初始密码。
说明在输入密码时,系统为了最大限度地保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。
Securing the MySQL server deployment. Enter password for user root: #输入上一步获取的root用户初始密码
设置MySQL的新密码。
The existing password for the user account root has expired. Please set a new password. New password: #输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/ Re-enter new password: #确认新密码。 The 'validate_password' plugin is installed on the server. The subsequent steps will run with the existing configuration of the plugin. Using existing password for root. Estimated strength of the password: 100 #返回结果包含您设置的密码强度。 Change the password for root ? (Press y|Y for Yes, any other key for No) :Y #您需要输入Y以确认使用新密码。 #新密码设置完成后,需要再次验证新密码。 New password:#再次输入新密码。 Re-enter new password:#再次确认新密码。 Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #您需要输入Y,再次确认使用新密码。
输入Y删除匿名用户。
Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y Success.
输入Y禁止使用root用户远程登录MySQL。
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y Success.
输入Y删除test库以及用户对test库的访问权限。
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y - Dropping test database... Success. - Removing privileges on test database... Success.
输入Y重新加载授权表。
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y Success. All done!
更多信息,请参见MySQL文档。
步骤三:安装并配置PHP
安装PHP
安装PHP。
Alibaba Cloud Linux 3
运行以下命令,更新YUM源。
sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm --nodeps
运行以下命令,启用
php:remi-8.0
模块流。sudo yum module enable -y php:remi-8.0
运行以下命令,安装PHP。
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring php-xml
Alibaba Cloud Linux 2
运行以下命令,更新YUM源。
sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
运行以下命令,修改
yum-plugin-releasever-adapter
插件配置以支持remi
源适配Alibaba Cloud Linux 2。sudo echo ", remi-php54.repo, remi-php71.repo, remi-php73.repo, remi-php80.repo, remi-php82.repo, remi.repo, epel.repo, remi-modular.repo, remi-php70.repo, remi-php72.repo, remi-php74.repo, remi-php81.repo, remi-php83.repo, remi-safe.repo" >> /etc/yum/pluginconf.d/releasever-adapter.conf
运行以下命令,启用PHP 8.0仓库。
sudo sed -i '1,10s/enabled=0/enabled=1/' /etc/yum.repos.d/remi-php80.repo
运行以下命令,安装PHP。
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring
CentOS 7.x
更新YUM源。
运行以下命令,安装EPEL源和Remi仓库。
sudo yum install -y epel-release sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
运行以下命令,启用PHP 8.0仓库。
sudo yum install -y yum-utils sudo yum-config-manager --enable remi-php80
运行以下命令,安装PHP。
sudo yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
运行以下命令,查看PHP版本。
php -v
返回结果如下所示,表示安装成功。
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies
修改Apache配置文件以支持PHP
运行以下命令,备份Apache配置文件。
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
修改Apache配置文件,添加Apache对PHP的支持。
重要若不添加此配置信息,后续您使用浏览器访问PHP页面时,页面将无法显示。
运行以下命令,打开Apache配置文件。
sudo vim /etc/httpd/conf/httpd.conf
按
i
进入编辑模式。添加下列配置信息。
<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>
按
Esc
键,输入:wq
,按Enter
键关闭并保存配置文件。运行以下命令,重启PHP-FPM.
sudo systemctl restart php-fpm
运行以下命令,在Apache网站根目录创建测试文件。
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'
运行以下命令,重启Apache服务。
sudo systemctl restart httpd
在本地机器的浏览器地址栏中,输入
http://实例公网IP/phpinfo.php
并按Enter键。显示类似如下页面表示安装成功。
成功搭建LAMP环境后,建议您删除phpinfo.php测试文件,以消除数据泄露风险。
sudo rm -rf <网站根目录>/phpinfo.php
本教程中网站根目录为
/var/www/html
,则需要运行以下命令删除测试文件。sudo rm -rf /var/www/html/phpinfo.php