温馨提示×

Ubuntu Apache怎么配置

小樊
39
2026-08-27 21:33:24
栏目: 智能运维

在 Ubuntu 上配置 Apache(Apache2) 通常包括安装、基本站点配置、虚拟主机、HTTPS 等。下面给你一个从零开始的常用配置流程,适合大多数 Web 服务器场景。


一、安装 Apache

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 enable apache2

二、防火墙放行(如果启用了 ufw)

sudo ufw allow 'Apache Full'

或只放行 HTTP / HTTPS:

sudo ufw allow 80
sudo ufw allow 443

查看状态:

sudo ufw status

三、测试 Apache 是否正常运行

浏览器访问:

http://服务器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 Example.com" | sudo tee /var/www/example.com/public_html/index.html

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

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>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4️⃣ 启用站点

sudo a2ensite example.com.conf
sudo systemctl reload apache2

禁用默认站点(可选):

sudo a2dissite 000-default.conf

六、启用 rewrite(URL 重写,常用于 PHP / Laravel)

sudo a2enmod rewrite
sudo systemctl restart apache2

七、配置 HTTPS(Let’s Encrypt)

1️⃣ 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2️⃣ 申请证书

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

3️⃣ 自动续期测试

sudo certbot renew --dry-run

八、常见权限问题

如果你遇到 403 Forbidden

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

九、常用排错命令

sudo apache2ctl configtest
sudo tail -f /var/log/apache2/error.log

十、常见场景配置(可选)

场景 说明
PHP sudo apt install php libapache2-mod-php
多站点 每个站点一个 .conf
反向代理 a2enmod proxy proxy_http
静态网站 只配置 DocumentRoot

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

  • Ubuntu 版本
  • 是否用 PHP / Python / 静态页面
  • 是否需要 HTTPS
  • 是否多站点

我可以给你一份完全定制化的 Apache 配置方案

0