下面给你一个在 CentOS 7/8 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境的完整、常用做法。以 CentOS 7 + Apache + MariaDB + PHP 7.4 为例(CentOS 8 思路类似,只是命令略有差异)。
# 更新系统
yum update -y
# 关闭 SELinux(测试环境可选,生产环境建议配置规则)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
yum install httpd -y
systemctl start httpd
systemctl enable httpd
测试:
curl http://localhost
能看到 Apache 测试页即成功。
yum install mariadb-server mari mariadb -y
systemctl start mariadb
systemctl enable mariadb
初始化安全设置:
mysql_secure_installation
按提示设置 root 密码、删除测试库等。
登录测试:
mysql -u root -p
CentOS 7 默认 PHP 版本较低,推荐用 Remi 源安装 PHP 7.4:
yum install epel-release -y
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --enable remi-php74
yum install php php-cli php-common php-mysqlnd php-fpm php-gd php-mbstring php-xml -y
重启 Apache:
systemctl restart httpd
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
能看到 PHP 信息页即成功。
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
/var/www/html/etc/httpd/conf/httpd.conf/etc/php.ini403 禁止访问
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
PHP 不解析
php 并重启了 Apache如果你用的是 CentOS 8 / Stream / AlmaLinux / Rocky Linux,或想用 Nginx 替代 Apache,也可以告诉我,我可以给你对应版本。