温馨提示×

apache2在debian怎配置

小樊
43
2026-10-21 00:18:02
栏目: 智能运维

下面按常见用途给你一套在 Debian 上配置 Apache2 的实用指南(以 Debian 11/12 为例,root 或 sudo 用户操作)。


一、安装 Apache2

sudo apt update
sudo apt install apache2

安装后会自动启动并设置开机自启。

查看状态:

systemctl status apache2

二、基本目录结构(先了解)

/etc/apache2/
├── apache2.conf        # 主配置文件
├── ports.conf         # 端口配置
├── sites-available/   # 可用站点配置
├── sites-enabled/     # 已启用站点(软链接)
├── mods-available/    # 可用模块
└── mods-enabled/      # 已启用模块

网页根目录默认:

/var/www/html

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

1. 创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /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>
        Options Indexes FollowSymLinks
        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         # HTTPS
sudo a2enmod headers
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 apt install ufw
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

七、常见问题排查

1. 403 Forbidden

  • 目录权限不对
  • <Directory> 未允许访问

2. 站点不生效

sudo apache2ctl configtest

3. 端口冲突

查看:

sudo netstat -tulnp | grep :80

八、最简静态页测试

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

浏览器访问服务器 IP 即可。


如果你有具体需求(如 PHP、反向代理、多站点、Docker、内网环境),告诉我我可以给你针对性配置示例。

0 踩