温馨提示×

apache2如何适配ubuntu

小樊
46
2026-08-01 05:53:41
栏目: 智能运维

在 Ubuntu 上适配并配置 Apache2,通常包含安装、目录结构、虚拟主机、防火墙、PHP/HTTPS 等常见步骤。下面按从零到可用给你一个完整适配指南(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


一、安装 Apache2(Ubuntu 默认支持)

sudo apt update
sudo apt install apache2 -y

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

查看状态:

systemctl status apache2

启动 / 停止 / 重启:

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

二、Ubuntu 下 Apache2 的目录结构(重点)

Ubuntu 的 Apache2 和 CentOS 不一样,配置是模块化的

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

Ubuntu 不建议直接改 apache2.conf


三、默认网站与根目录

默认站点:

/etc/apache2/sites-available/000-default.conf

默认网站根目录:

/var/www/html

测试是否成功: 浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


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

1️⃣ 新建站点配置

sudo cp /etc/apache2/sites-available/000-default.conf \
/etc/apache2/sites-available/example.conf

编辑:

sudo nano /etc/apache2/sites-available/example.conf

示例配置:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example

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

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

2️⃣ 创建网站目录

sudo mkdir -p /var/www/example
echo "Hello Apache" | sudo tee /var/www/example/index.html

3️⃣ 启用站点

sudo a2ensite example.conf
sudo systemctl reload apache2

关闭默认站点(可选):

sudo a2dissite 000-default.conf

五、开启 URL 重写(常见需求)

sudo a2enmod rewrite
sudo systemctl restart apache2

Laravel / WordPress / ThinkPHP 都需要


六、防火墙(Ubuntu 常见坑)

如果使用 UFW:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload

查看状态:

sudo ufw status

七、适配 PHP(如需要)

安装 PHP:

sudo apt install php libapache2-mod-php php-cli php-mysql -y

测试:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

访问:

http://IP/info.php

八、HTTPS(Let’s Encrypt 推荐)

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

自动配置:

  • 80 → 443
  • 续期

手动续期:

sudo certbot renew

九、常见错误排查

1️⃣ 403 Forbidden

sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www

2️⃣ 端口被占用

sudo netstat -tlnp | grep 80

3️⃣ 配置错误

sudo apache2ctl configtest

十、Ubuntu + Apache2 最佳实践 ✅

✔ 使用 sites-available + a2ensite
✔ 不修改 apache2.conf
✔ 每个站点一个配置文件
✔ 使用 www-data 用户运行
✔ 生产环境务必 HTTPS


如果你有具体场景(如:
✅ Laravel / WordPress / 前后端分离
✅ 多域名 / 反向代理
✅ 内网 / Docker / 云服务器

可以直接告诉我,我可以给你针对性配置方案

0