下面给你一份**CentOS 上安装并配置 Apache(httpd)**的常用步骤,适用于 CentOS 7 / 8 / Stream(少量差异我会说明)。
sudo yum update -y
(CentOS 8 / Stream 可用 dnf 代替 yum)
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
检查状态:
sudo systemctl status httpd
如果开了 firewalld:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
如果是云服务器,还要在安全组放行 80 / 443 端口。
浏览器访问:
http://服务器IP
看到 Apache Test Page 说明成功。
/var/www/html/etc/httpd/conf/httpd.conf/etc/httpd/conf.d/echo "Hello Apache" > /var/www/html/index.html
编辑:
sudo vi /etc/httpd/conf/httpd.conf
修改:
DocumentRoot "/data/www"
<Directory "/data/www">
AllowOverride All
Require all granted
</Directory>
重启:
sudo systemctl restart httpd
新建配置文件:
sudo vi /etc/httpd/conf.d/www.example.com.conf
内容示例:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
<Directory /var/www/example>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
创建目录:
mkdir -p /var/www/example
echo "Example Site" > /var/www/example/index.html
重启 Apache:
sudo systemctl restart httpd
sudo vi /etc/httpd/conf/httpd.conf
确保:
LoadModule rewrite_module modules/mod_rewrite.so
并在目录中:
AllowOverride All
临时关闭测试(不推荐长期):
setenforce 0
正确做法:
sudo chcon -R -t httpd_sys_content_t /var/www
如果你愿意,可以告诉我:
我可以直接给你一套可用配置。