温馨提示×

配置ubuntu apache注意啥

小樊
38
2026-09-29 07:14:34
栏目: 智能运维

在 Ubuntu 上配置 Apache(通常是 apache2)时,有几个常见但容易踩坑的点,下面按“安装 → 配置 → 安全 → 排错”给你梳理一下。


一、安装与基础

1. 安装方式

sudo apt update
sudo apt install apache2

2. 常用命令

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2

⚠️ 注意:

  • Ubuntu 用的是 apache2,不是 httpd
  • 配置文件在 /etc/apache2/

二、目录结构(很重要)

/etc/apache2/
├── apache2.conf        # 主配置(一般不动)
├── ports.conf         # 端口配置
├── sites-available/   # 可用站点(虚拟主机)
├── sites-enabled/    # 启用的站点(软链接)
├── mods-available/
├── mods-enabled/
└── conf-available/

✅ 正确做法:

  • 在 sites-available 写配置
  • 用 a2ensite 启用
  • 不要直接改 sites-enabled

三、虚拟主机配置注意

示例(推荐)

sudo nano /etc/apache2/sites-available/example.conf
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example

    <Directory /var/www/example>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>

启用:

sudo a2ensite example.conf
sudo systemctl reload apache2

⚠️ 注意:

  • DocumentRoot 目录必须存在
  • 权限建议:
sudo chown -R www-data:www-data /var/www/example

四、常见模块

必开模块

sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

⚠️ 如果用了 .htaccess:

  • AllowOverride 必须不是 None

五、防火墙(非常容易忘)

sudo ufw allow 'Apache Full'

或:

sudo ufw allow 80
sudo ufw allow 443

六、HTTPS(强烈建议)

使用 Let’s Encrypt

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

⚠️ 注意:

  • 域名要解析到服务器 IP
  • 80 端口必须能访问

七、权限与安全

1. 不要给 777

❌ 错误:

chmod -R 777 /var/www

✅ 正确:

chmod -R 755 /var/www

2. 关闭目录列表(生产)

Options -Indexes

八、排错清单

如果访问不了:

  1. systemctl status apache2
  2. 看日志:
sudo tail -f /var/log/apache2/error.log
  1. 检查:
  • 端口是否被占用
  • 防火墙
  • 虚拟主机是否启用
  • DNS 是否解析正确

九、Apache vs Nginx(顺带提醒)

  • Apache:.htaccess 方便、兼容老项目
  • Nginx:性能更高、配置更简洁

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

  • Ubuntu 版本
  • 用途(PHP / WordPress / 静态站 / 反向代理)
  • 是否上 HTTPS

我可以直接帮你写一份可用配置模板。

0 踩