温馨提示×

apache2怎么配置ubuntu

小樊
43
2026-08-27 14:41:06
栏目: 智能运维

下面以 Ubuntu 系统为例,给你一个从安装到常见配置的完整 Apache2 配置指南,适合新手和日常使用。


一、安装 Apache2

sudo apt update
sudo apt install apache2

安装完成后,Apache 会自动启动。

查看状态:

sudo systemctl status apache2

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

sudo ufw allow 'Apache Full'

验证:

sudo ufw status

三、测试 Apache 是否正常工作

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


四、Apache2 目录结构说明(很重要)

/etc/apache2/
├── apache2.conf        # 主配置文件
├── ports.conf          # 端口配置
├── sites-available/    # 可用站点配置
├── sites-enabled/      # 已启用站点(软链接)
├── mods-available/     # 可用模块
├── mods-enabled/       # 已启用模块
└── conf-available/     # 额外配置

网站默认根目录:

/var/www/html

五、配置一个网站(虚拟主机)

1️⃣ 创建网站目录

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

2️⃣ 创建测试页面

echo "<h1>Example.com 网站</h1>" | 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>

六、启用站点与模块

启用站点

sudo a2ensite example.com.conf

禁用默认站点(可选)

sudo a2dissite 000-default.conf

启用 rewrite 模块(常用于伪静态)

sudo a2enmod rewrite

七、重启 Apache

sudo systemctl restart apache2

八、本地测试(无域名)

修改本地 hosts(仅本机生效):

sudo nano /etc/hosts

添加:

127.0.0.1 example.com

浏览器访问:

http://example.com

九、常用 Apache 命令

sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
sudo apache2ctl configtest   # 检查配置文件语法

十、常见场景扩展(可选)

✅ HTTPS(Let’s Encrypt)

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

✅ PHP 支持

sudo apt install php libapache2-mod-php
sudo systemctl restart apache2

✅ 修改端口(如 8080)

编辑:

sudo nano /etc/apache2/ports.conf

修改 Listen 80Listen 8080


如果你有具体需求(比如:部署 PHP 项目、反向代理、多站点、HTTPS、权限问题),可以直接告诉我,我可以给你针对性配置方案

0