在 CentOS 7 环境下部署 LAMP(Linux + Apache + MySQL 5.7 + PHP 7.4+) 环境的详细步骤如下:
sudo yum update -y
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel epel-release
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log
# 运行安全初始化脚本
sudo mysql_secure_installation
设置 root 密码(需满足复杂度要求)
删除匿名用户、禁止 root 远程登录、删除测试数据库等
mysql -u root -p
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
curl http://localhost
# 或浏览器访问服务器 IP,查看 "It works!" 页面
yum install epel-release -y
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
sudo yum-config-manager --enable remi-php74
yum install php74-php php74-php-cli php74-php-fpm php74-php-mysqlnd php74-php-mbstring php74-php-xml php74-php-gd php74-php-opcache -y
# 可选
yum install php74-php-curl php74-php-bcmath php74-php-intl php74-php-soap php74-php-json -y
php -v
sudo echo "" > /var/www/html/info.php
sudo systemctl restart httpd
curl http://localhost/info.php
# 或浏览器访问 http://<服务器IP>/info.php
默认情况下,Apache 会自动加载 PHP 模块(mod_php
)。如果未生效,手动修改配置:
sudo vim /etc/httpd/conf.d/php.conf
确保以下内容存在:
SetHandler application/x-httpd-php
sudo systemctl restart httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
Apache 启动失败:检查配置文件语法错误
sudo apachectl configtest
PHP 页面无法显示:确认 mod_php
已加载,且 php.conf
配置正确。
MySQL 无法远程连接:检查 bind-address
和用户权限。
此时,LAMP 环境已部署完成,可以通过浏览器访问 http://<服务器IP>
测试 Apache 和 PHP 页面。