在 Ubuntu 上配置 Apache2 通常包含:安装、基础配置、虚拟主机、HTTPS、权限等。下面给你一套从零到可用的常用配置流程(适合生产/开发环境)。
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 reload apache2
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload
验证:
sudo ufw status
浏览器访问服务器 IP,看到 Apache2 Ubuntu Default Page 即成功。
/var/www/html # 默认站点目录
/etc/apache2/
├── apache2.conf # 主配置文件
├── ports.conf # 端口配置
├── sites-available/ # 可用站点配置
├── sites-enabled/ # 已启用站点(软链接)
├── mods-available/
├── mods-enabled/
sudo mkdir -p /var/www/example.com/public_html
echo "Hello Apache2" | 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>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
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 a2enmod rewrite
sudo systemctl restart apache2
.htaccess 才能生效。
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
证书会自动续签。
sudo apt install php libapache2-mod-php php-cli php-mysql -y
验证:
php -v
测试 PHP:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/public_html/info.php
Require all granted 没加DocumentRoot 路径错误sudo apache2ctl configtest
sudo apt install libapache2-mod-security2
sudo a2enmod security2
隐藏版本信息:
ServerTokens Prod
ServerSignature Off
✅ 安装 Apache
✅ 配置虚拟主机
✅ 设置目录权限
✅ 启用 HTTPS
✅ 按需开启 PHP / rewrite
如果你愿意,可以告诉我:
我可以直接给你 一份完整可用的配置文件。