在 Ubuntu 上配置 Apache(通常指 Apache HTTP Server / Apache2)可以按下面步骤来,从安装 → 基本配置 → 虚拟主机 → 常见问题逐步说明。
sudo apt update
sudo apt install apache2 -y
apache2 -v
浏览器访问:
http://服务器IP
看到 Apache2 Ubuntu Default Page 说明安装成功。
| 目录 | 说明 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2 |
配置文件目录 |
/etc/apache2/sites-available |
虚拟主机配置(可用) |
/etc/apache2/sites-enabled |
虚拟主机配置(已启用) |
/etc/apache2/mods-available |
可用模块 |
/etc/apache2/mods-enabled |
已启用模块 |
/var/log/apache2 |
日志目录 |
编辑默认虚拟主机:
sudo nano /etc/apache2/sites-available/000-default.conf
修改:
DocumentRoot /var/www/html
sudo systemctl restart apache2
example.comsudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>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
sudo systemctl reload apache2
sudo a2enmod rewrite
sudo systemctl restart apache2
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2
如果启用了 UFW:
sudo ufw allow 'Apache Full'
查看状态:
sudo ufw status
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
sudo certbot renew --dry-run
sudo apachectl configtest
Require all grantedsudo netstat -tlnp | grep 80
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl status apache2
如果你需要:
可以告诉我你的具体使用场景,我可以给你更精确的配置方案。