温馨提示×

怎样配置ubuntu的apache

小樊
41
2026-10-16 19:54:54
栏目: 智能运维

下面按常见需求给你一份 Ubuntu 上配置 Apache 的实用指南(以 Ubuntu 20.04 / 22.04 为例,其他版本差别不大)。


一、安装 Apache

sudo apt update
sudo apt install apache2 -y

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

查看状态:

sudo systemctl status apache2

启动 / 停止 / 重启:

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

二、防火墙配置(如有 UFW)

sudo ufw allow 'Apache Full'

(包含 80 和 443 端口)


三、测试是否成功

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


四、网站目录结构

默认网页目录:

/var/www/html

默认配置文件:

/etc/apache2/apache2.conf

虚拟主机配置目录:

/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>
    ServerName example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        AllowOverride All
    </Directory>

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

4. 启用站点

sudo a2ensite example.com
sudo a2dissite 000-default
sudo systemctl reload apache2

六、启用 HTTPS(Let’s Encrypt)

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

自动配置 80 → 443 跳转。


七、常用模块

启用 rewrite:

sudo a2enmod rewrite
sudo systemctl restart apache2

查看已启用模块:

apache2ctl -M

八、常见问题

403 Forbidden

  • 检查目录权限
  • 检查 Directory 配置
  • 检查 DocumentRoot 路径

站点不生效

  • 是否 a2ensite
  • 是否 reload apache2
  • DNS 是否解析到服务器 IP

如果你有具体需求(比如 PHP、Django、反向代理、多域名、本地开发),可以告诉我,我可以给你更针对性的配置。

0 踩