温馨提示×

Apache怎么配置Ubuntu

小樊
48
2026-07-05 23:11:09
栏目: 智能运维

下面给你一个在 Ubuntu 上配置 Apache(Apache2)的完整入门指南,从安装到常见配置,适合新手和日常使用。


一、安装 Apache(Ubuntu)

1️⃣ 更新软件源

sudo apt update

2️⃣ 安装 Apache

sudo apt install apache2

3️⃣ 检查服务状态

sudo systemctl status apache2

启动 / 停止 / 重启命令:

sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2

二、防火墙配置(UFW)

如果启用了防火墙,需要放行 HTTP / HTTPS:

sudo ufw allow 'Apache Full'

查看状态:

sudo ufw status

三、访问测试页面

在浏览器中访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 说明成功 ✅


四、Apache 目录结构(重要)

路径 说明
/var/www/html 默认网站根目录
/etc/apache2/apache2.conf 主配置文件
/etc/apache2/sites-available/ 虚拟主机配置
/etc/apache2/sites-enabled/ 已启用的站点
/etc/apache2/mods-available/ 可用模块
/etc/apache2/mods-enabled/ 已启用模块
/var/log/apache2/ 日志目录

五、配置虚拟主机(推荐)

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>
    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}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

六、启用站点与模块

启用站点

sudo a2ensite example.com.conf

禁用默认站点(可选)

sudo a2dissite 000-default.conf

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

sudo a2enmod rewrite

重启 Apache

sudo systemctl restart apache2

七、本地 hosts 测试(可选)

如果你没有真实域名,可在本地测试:

Windows

C:\Windows\System32\drivers\etc\hosts

Linux / macOS

/etc/hosts

添加:

服务器IP example.com

八、常见配置示例

✅ 开启 .htaccess

AllowOverride All

✅ 配置 403 / 404 页面

ErrorDocument 404 /404.html

✅ 禁止目录浏览

Options -Indexes

九、HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

证书会自动续期 ✅


十、排错常用命令

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

如果你有具体需求(比如:PHP、WordPress、反向代理、HTTPS、多站点、权限问题),可以直接告诉我,我可以给你定制配置

0