在 CentOS 上部署 Apache(httpd)网站,一般步骤如下(以 CentOS 7/8 为例,Apache 在 CentOS 中叫 httpd,不是 apache2):
# CentOS 7/8
sudo yum install httpd -y
# 或 CentOS 8 也可用 dnf
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
如果是云服务器,还要在安全组放行 80 / 443 端口。
浏览器访问:
http://服务器IP
看到 Apache Test Page 即成功。
默认目录:
/var/www/html
把网站文件放进去,例如:
sudo cp -r myweb/* /var/www/html/
sudo vi /var/www/html/index.html
示例:配置 www.example.com
sudo mkdir -p /var/www/example
sudo chown -R apache:apache /var/www/example
创建配置文件:
sudo vi /etc/httpd/conf.d/example.conf
内容:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
<Directory /var/www/example>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
重启 Apache:
sudo systemctl restart httpd
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www
如果用了 SELinux:
sudo setsebool -P httpd_read_user_content 1
sudo restorecon -Rv /var/www
sudo yum install php php-mysql -y
sudo systemctl restart httpd
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
如果你是指 Ubuntu 的 apache2(非 CentOS),或者想部署 HTTPS / 反向代理 / 数据库网站,可以告诉我具体需求。