温馨提示×

ubuntu apache2怎么配置好

小樊
40
2026-07-05 23:48:12
栏目: 智能运维

在 Ubuntu 上配置 Apache2 通常包含:安装、基础配置、虚拟主机、HTTPS、权限等。下面给你一套从零到可用的常用配置流程(适合生产/开发环境)。


一、安装 Apache2

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

二、防火墙放行(如果有 UFW)

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/

四、配置虚拟主机(推荐方式)

1️⃣ 创建网站目录

sudo mkdir -p /var/www/example.com/public_html

2️⃣ 示例页面

echo "Hello Apache2" | sudo tee /var/www/example.com/public_html/index.html

3️⃣ 设置权限(非常重要)

sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www

4️⃣ 创建虚拟主机配置文件

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>

5️⃣ 启用站点

sudo a2ensite example.com.conf
sudo systemctl reload apache2

禁用默认站点(可选):

sudo a2dissite 000-default.conf

五、启用 rewrite(常见需求)

sudo a2enmod rewrite
sudo systemctl restart apache2

.htaccess 才能生效。


六、配置 HTTPS(强烈推荐)

1️⃣ 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2️⃣ 申请证书

sudo certbot --apache -d example.com -d www.example.com

证书会自动续签。


七、PHP 支持(如需要)

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

八、常见排错

403 Forbidden

  • 目录权限不对
  • Require all granted 没加

404

  • DocumentRoot 路径错误
  • 文件不存在

配置不生效

sudo apache2ctl configtest

九、推荐安全配置(进阶)

sudo apt install libapache2-mod-security2
sudo a2enmod security2

隐藏版本信息:

ServerTokens Prod
ServerSignature Off

十、总结(最小可用配置)

✅ 安装 Apache
✅ 配置虚拟主机
✅ 设置目录权限
✅ 启用 HTTPS
✅ 按需开启 PHP / rewrite


如果你愿意,可以告诉我:

  • ✅ 是 本地开发 / 云服务器 / 内网
  • ✅ 是否用 PHP / Python / 静态页面
  • ✅ 是否需要 多站点 / 反向代理

我可以直接给你 一份完整可用的配置文件

0