系统要求
更新系统
sudo yum update -y
安装Apache
sudo yum install httpd -y
启动Apache服务并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd
检查Apache状态
sudo systemctl status httpd
配置防火墙允许HTTP/HTTPS流量
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
测试Apache 在浏览器中输入服务器IP地址,应该看到Apache测试页面
安装MariaDB(MySQL的替代品)
sudo yum install mariadb-server mariadb -y
启动并启用MariaDB
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全安装脚本
sudo mysql_secure_installation
安装PHP及常用扩展
sudo yum install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel -y
重启Apache使PHP生效
sudo systemctl restart httpd
测试PHP
bash
sudo echo "" > /var/www/html/info.php
http://your-server-ip/info.php
,应该看到PHP信息页面创建网站目录
sudo mkdir -p /var/www/example.com/public_html
设置权限
sudo chown -R apache:apache /var/www/example.com/public_html
sudo chmod -R 755 /var/www
创建虚拟主机配置文件
sudo vi /etc/httpd/conf.d/example.com.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
测试配置并重启Apache
sudo apachectl configtest
sudo systemctl restart httpd
添加EPEL仓库
sudo yum install epel-release -y
sudo yum update -y
安装phpMyAdmin
sudo yum install phpmyadmin -y
配置phpMyAdmin
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
修改Require ip
部分以允许你的IP访问
重启Apache
sudo systemctl restart httpd
访问phpMyAdmin
在浏览器中访问 http://your-server-ip/phpmyadmin
禁用目录浏览
sudo sed -i 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' /etc/httpd/conf/httpd.conf
隐藏Apache版本信息
echo "ServerTokens Prod" | sudo tee -a /etc/httpd/conf/httpd.conf
echo "ServerSignature Off" | sudo tee -a /etc/httpd/conf/httpd.conf
限制HTTP方法
sudo echo "<Directory /var/www/html>
<LimitExcept GET POST>
deny from all
</LimitExcept>
</Directory>" | sudo tee -a /etc/httpd/conf/httpd.conf
重启Apache
sudo systemctl restart httpd
Apache无法启动
sudo tail -n 50 /var/log/httpd/error_log
sudo apachectl configtest
PHP不工作
sudo yum list installed | grep php
php -i | grep "Loaded Configuration File"
数据库连接问题
sudo systemctl status mariadb
mysql -u root -p
然后 SHOW GRANTS;
现在你已经成功在CentOS上搭建了一个完整的LAMP(Linux, Apache, MySQL/MariaDB, PHP)Web服务器环境!