下面给你一份 Ubuntu 下 Apache 的基础配置指南,从安装到常见配置,适合新手快速上手。
sudo apt update
sudo apt install apache2
安装完成后,Apache 会自动启动。
查看状态:
systemctl status apache2
sudo ufw allow 'Apache Full'
验证:
sudo ufw status
浏览器访问:
http://服务器IP
看到 Apache 默认页即成功。
| 路径 | 作用 |
|---|---|
/var/www/html |
默认网站根目录 |
/etc/apache2/ |
主配置目录 |
/etc/apache2/sites-available/ |
可用站点配置 |
/etc/apache2/sites-enabled/ |
已启用站点 |
/etc/apache2/mods-available/ |
模块配置 |
/etc/apache2/ports.conf |
端口配置 |
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
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 a2dissite 000-default.conf # 禁用默认站点(可选)
sudo systemctl reload apache2
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
自动配置 SSL 并续期。
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
启用模块(如 rewrite):
sudo a2enmod rewrite
sudo systemctl reload apache2
AllowOverride All
sudo apt install php libapache2-mod-php
sudo systemctl restart apache2
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
如果你有 具体需求(比如反向代理、多域名、本地开发、Docker 环境),可以直接说,我可以给你更精确的配置。