温馨提示×

Ubuntu怎么配置Apache

小樊
47
2026-07-17 18:34:17
栏目: 智能运维

在 Ubuntu 上配置 Apache(通常指 Apache HTTP Server / Apache2)可以分为安装、基本配置、虚拟主机、常见问题几个部分。下面给你一套从零到可用的实用流程(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


一、安装 Apache

sudo apt update
sudo apt install apache2 -y

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

检查状态:

sudo systemctl status apache2

二、防火墙放行(如果有 UFW)

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

四、修改默认网站(快速测试)

echo "Hello Apache" | sudo tee /var/www/html/index.html

刷新浏览器即可看到变化。


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

1️⃣ 新建网站目录

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

2️⃣ 创建测试页面

echo "Welcome to example.com" | 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}/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

六、启用伪静态(URL Rewrite)

sudo a2enmod rewrite
sudo systemctl restart apache2

在网站目录中创建 .htaccess 即可使用。


七、配置 HTTPS(Let’s Encrypt,推荐)

1️⃣ 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2️⃣ 申请证书

sudo certbot --apache

会自动:

  • 申请证书
  • 配置 HTTPS
  • 设置 80 → 443 跳转

3️⃣ 自动续期测试

sudo certbot renew --dry-run

八、常用管理命令

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

九、常见错误排查

❌ 403 Forbidden

  • 目录权限问题
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www

❌ 网站不生效

sudo apache2ctl configtest
sudo systemctl restart apache2

十、进阶(可选)

  • 配置 PHP(Apache + PHP-FPM)
  • 配置多端口虚拟主机
  • 配置反向代理(Apache 做前端)
  • 配置 HTTP/2
  • 配置防盗链 / 限流

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

  • Ubuntu 版本
  • 是否要跑 PHP / Python / 静态网站
  • 是否用域名

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

0