温馨提示×

怎样配置ubuntu apache

小樊
41
2026-09-14 07:48:15
栏目: 智能运维

下面按常见场景给你讲怎么在 Ubuntu 上配置 Apache(以 Ubuntu 20.04 / 22.04 为例,其他版本差别不大)。


一、安装 Apache

sudo apt update
sudo apt install apache2 -y

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

查看状态:

systemctl status apache2

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 说明成功。


二、基本目录结构(重要)

路径 作用
/var/www/html 默认网站根目录
/etc/apache2/ Apache 配置目录
/etc/apache2/sites-available/ 虚拟主机配置
/etc/apache2/sites-enabled/ 已启用的站点
/etc/apache2/mods-available/ 可用模块
/etc/apache2/mods-enabled/ 已启用模块

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

1️⃣ 创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com

2️⃣ 创建测试页面

nano /var/www/example.com/public_html/index.html

内容示例:

<h1>Hello example.com</h1>

3️⃣ 创建虚拟主机配置

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

内容:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    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>

四、启用站点

sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf   # 可选:关闭默认站点
sudo systemctl reload apache2

五、开启 rewrite(常见需求)

sudo a2enmod rewrite
sudo systemctl restart apache2

六、防火墙(UFW)

如果开了 UFW:

sudo ufw allow 'Apache Full'

七、HTTPS(Let’s Encrypt)

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

自动配置 80 → 443 跳转。


八、常用命令速查

sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
sudo apache2ctl configtest   # 检查配置是否正确

九、你接下来可以做什么?

  • 配置 PHP
  • 配置 多个域名
  • 配置 反向代理(ProxyPass)
  • 配置 WordPress

如果你告诉我: ✅ Ubuntu 版本
✅ 用途(PHP / 静态 / 反向代理)
✅ 是否用域名

我可以给你 精准配置示例

0