温馨提示×

如何配置debian的apache2

小樊
35
2026-10-21 00:12:03
栏目: 智能运维

下面给你一份在 Debian 系统上配置 Apache2 的实用指南,从安装到常见配置,适合新手和日常使用。


一、安装 Apache2

sudo apt update
sudo apt install apache2

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

查看状态:

sudo systemctl status apache2

开机自启(一般默认已开启):

sudo systemctl enable apache2

二、防火墙配置(如有)

如果启用了 ufw:

sudo ufw allow 80
sudo ufw allow 443

三、目录结构说明(重要)

Debian 下 Apache2 的关键目录:

  • 网站根目录:
    /var/www/html(默认站点)
  • 配置文件目录:
    /etc/apache2/
  • 虚拟主机配置:
    /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️⃣ 创建虚拟主机配置文件

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}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

3️⃣ 启用站点

sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf   # 可选:禁用默认站点

4️⃣ 重启 Apache

sudo systemctl reload apache2

五、启用常用模块

sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

六、配置 HTTPS(Let’s Encrypt 示例)

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

自动配置 SSL 并启用 443。


七、常见操作命令

功能 命令
启动 sudo systemctl start apache2
停止 sudo systemctl stop apache2
重启 sudo systemctl restart apache2
重载 sudo systemctl reload apache2
测试配置 sudo apache2ctl configtest

八、排错建议

  • 看错误日志:
sudo tail -f /var/log/apache2/error.log
  • 配置改完一定要 reload
  • 权限问题常见于 /var/www

如果你有 具体需求(比如 PHP、反向代理、多域名、局域网访问),可以告诉我,我可以给你更针对性的配置示例。

0 踩