在 Ubuntu 上配置 Apache2 通常包括安装、启动、配置虚拟主机、设置防火墙等步骤。下面给你一个从零开始的完整流程(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
sudo apt update
sudo apt install apache2 -y
安装完成后,Apache 会自动启动。
sudo systemctl status apache2
看到 active (running) 说明运行正常。
常用命令:
sudo systemctl start apache2 # 启动
sudo systemctl stop apache2 # 停止
sudo systemctl restart apache2 # 重启
sudo systemctl enable apache2 # 开机自启
在浏览器访问:
http://服务器IP
如果看到 Apache2 Ubuntu Default Page,说明成功。
sudo ufw allow 'Apache Full'
sudo ufw status
应看到类似:
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
| 路径 | 说明 |
|---|---|
/var/www/html |
默认网站目录 |
/etc/apache2/apache2.conf |
主配置文件 |
/etc/apache2/sites-available/ |
可用站点配置 |
/etc/apache2/sites-enabled/ |
已启用站点 |
/etc/apache2/mods-available/ |
可用模块 |
/var/log/apache2/ |
日志目录 |
sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>Welcome to example.com</h1>" > /var/www/example.com/index.html
sudo nano /etc/apache2/sites-available/example.com.conf
内容示例:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
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
如果你没有域名,可以修改本地 hosts 文件:
sudo nano /etc/hosts
添加:
127.0.0.1 example.com
浏览器访问:
http://example.com
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
证书会自动续期 ✅
sudo chmod -R 755 /var/www
sudo apache2ctl configtest
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。