在 CentOS 上,Web 服务器一般是 Apache HTTP Server(httpd),而不是 Ubuntu 里的 apache2。下面给你一份从安装到基本配置的完整指南。
sudo yum install httpd -y
如果是 CentOS 8 / Stream:
sudo dnf install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
查看状态:
sudo systemctl status httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
浏览器访问:
http://服务器IP
看到 Apache Test Page 即成功。
| 作用 | 路径 |
|---|---|
| 主配置文件 | /etc/httpd/conf/httpd.conf |
| 站点配置目录 | /etc/httpd/conf.d/ |
| 网站根目录 | /var/www/html |
| 日志目录 | /var/log/httpd |
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com
sudo vi /etc/httpd/conf.d/example.com.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
sudo systemctl restart httpd
确保 httpd.conf 中:
LoadModule rewrite_module modules/mod_rewrite.so
目录中:
AllowOverride All
sudo yum install mod_ssl -y
证书配置:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/key.pem
</VirtualHost>
sudo setsebool -P httpd_read_user_content 1
或临时关闭测试:
sudo setenforce 0
如果你是想 “像 Ubuntu 那样用 apache2”,或者要 配置 PHP / MySQL / 反向代理 / 多站点,告诉我你的具体需求,我可以直接给你对应配置。