下面以 Ubuntu 22.04 / 20.04 为例,系统讲解 Apache(httpd)的安装与基本配置。如果你用的是其他版本,步骤也基本一致。
sudo apt update
sudo apt install apache2 -y
sudo systemctl status apache2
正常应看到 active (running)。
常用命令:
sudo systemctl start apache2 # 启动
sudo systemctl stop apache2 # 停止
sudo systemctl restart apache2 # 重启
sudo systemctl enable apache2 # 开机自启
如果启用了 UFW 防火墙:
sudo ufw allow 'Apache Full'
验证:
sudo ufw status
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功。
| 路径 | 说明 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2/apache2.conf |
主配置文件 |
/etc/apache2/sites-available/ |
可用站点配置 |
/etc/apache2/sites-enabled/ |
已启用站点 |
/etc/apache2/mods-available/ |
可用模块 |
/etc/apache2/mods-enabled/ |
已启用模块 |
/var/log/apache2/ |
日志目录 |
sudo mkdir -p /var/www/example.com/public_html
echo "Hello Apache" | sudo tee /var/www/example.com/public_html/index.html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www
sudo nano /etc/apache2/sites-available/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 ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
sudo systemctl reload apache2
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
sudo a2enmod rewrite
sudo systemctl restart apache2
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
证书会自动续期。
<Directory> 配置Require all grantedsudo apache2ctl configtest
查看是否有语法错误。
你可以告诉我:
我可以给你 更精确的配置方案。