下面给你一份在 Ubuntu 上配置 Apache2 的常用指南,从安装到常见配置,适合多数 Web 服务场景。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
查看状态:
sudo systemctl status apache2
启动 / 停止 / 重启:
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
设置开机自启(默认已开启):
sudo systemctl enable apache2
sudo ufw allow 'Apache Full'
或只开放 80 / 443:
sudo ufw allow 80
sudo ufw allow 443
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 即成功。
默认根目录:
/var/www/html
配置文件目录:
/etc/apache2/
主要文件/目录:
apache2.conf:主配置sites-available/:可用站点sites-enabled/:已启用站点mods-available/ / mods-enabled/:模块ports.conf:端口配置sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
nano /var/www/example.com/public_html/index.html
内容示例:
<h1>Welcome to example.com</h1>
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}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf # 可选:禁用默认站点
sudo systemctl restart apache2
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
自动配置 80 → 443 跳转。
启用 rewrite(伪静态常用):
sudo a2enmod rewrite
sudo systemctl restart apache2
查看已启用模块:
apache2ctl -M
<Directory> 未配置 Require all granteda2ensitesudo apache2ctl configtest
如果你有具体需求(如 PHP / WordPress / 反向代理 / 多域名 / 内网部署),可以告诉我,我可以给你更针对性的配置。