温馨提示×

Apache如何适配Ubuntu系统

小樊
46
2026-07-17 19:03:19
栏目: 智能运维

Apache HTTP Server(简称 Apache)在 Ubuntu 上可以通过 系统包管理器(APT) 原生适配和安装,这也是最常见、最推荐的方式。下面我从 安装 → 配置 → 常见适配场景 → 排错建议 给你一个完整说明。


一、在 Ubuntu 上安装 Apache(最常用方式)

1️⃣ 更新软件源

sudo apt update

2️⃣ 安装 Apache

sudo apt install apache2 -y

安装完成后,Ubuntu 会自动:

  • 注册 systemd 服务
  • 启用默认虚拟主机
  • 启动 Apache

二、验证 Apache 是否运行

查看服务状态

sudo systemctl status apache2

设置开机自启

sudo systemctl enable apache2

浏览器访问

http://服务器IP

看到 Apache2 Ubuntu Default Page 说明成功。


三、Ubuntu 下 Apache 的目录结构适配

Ubuntu 对 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/ 日志目录

✅ Ubuntu 使用 sites-available / sites-enabled 机制(区别于 CentOS)。


四、配置虚拟主机(适配多站点)

1️⃣ 创建站点目录

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

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

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

内容示例:

<VirtualHost *:80>
    ServerName 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>

3️⃣ 启用站点

sudo a2ensite example.com.conf
sudo systemctl reload apache2

五、常见模块适配(Ubuntu 专用命令)

启用模块

sudo a2enmod rewrite
sudo a2enmod ssl

禁用模块

sudo a2dismod php7.4

启用 SSL 站点

sudo a2ensite default-ssl
sudo systemctl reload apache2

六、防火墙适配(Ubuntu 常见)

使用 UFW

sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status

七、使用 PHP(Ubuntu 常见组合)

安装 PHP + Apache 模块

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

测试:

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

八、Ubuntu 下 Apache 常见问题排查

1️⃣ 端口被占用

sudo ss -tlnp | grep :80

2️⃣ 配置文件错误

sudo apache2ctl configtest

3️⃣ 权限问题

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

九、Ubuntu vs CentOS(Apache 差异小结)

对比项 Ubuntu CentOS
服务名 apache2 httpd
配置目录 /etc/apache2 /etc/httpd
启用站点 a2ensite 直接编辑 conf
包管理器 apt yum/dnf

十、一句话总结

Apache 在 Ubuntu 上几乎“开箱即用”,只需使用 apt + a2enmod + a2ensite 即可完成完整适配。

如果你有 特定场景(如:反向代理、HTTPS、多端口、Docker、ARM 服务器),可以告诉我,我可以给你更针对性的配置方案。

0