温馨提示×

apache2 ubuntu怎么配置

小樊
46
2026-07-05 23:13:07
栏目: 智能运维

Ubuntu 上配置 Apache2 分几个常见场景,下面从 基础安装 → 虚拟主机 → 常用配置 → HTTPS 给你一个完整、实用的说明。


一、安装 Apache2

sudo apt update
sudo apt install apache2

安装完成后,服务会自动启动。

查看状态:

sudo systemctl status apache2

常用命令:

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

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

sudo ufw allow 'Apache Full'

验证:

sudo ufw status

浏览器访问:

http://服务器IP

看到 Apache2 Ubuntu Default Page 说明成功。


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

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

网站默认根目录:

/var/www/html

四、配置虚拟主机(最常用)

1️⃣ 新建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

2️⃣ 创建虚拟主机配置文件

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

示例配置:

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

3️⃣ 启用站点

sudo a2ensite example.com.conf
sudo systemctl reload apache2

禁用默认站点(可选):

sudo a2dissite 000-default.conf

五、启用 rewrite(URL 重写,常用于 PHP / Laravel)

sudo a2enmod rewrite
sudo systemctl restart apache2

六、配置 HTTPS(Let’s Encrypt)

1️⃣ 安装 Certbot

sudo apt install certbot python3-certbot-apache

2️⃣ 申请证书

sudo certbot --apache -d example.com -d www.example.com

会自动:

  • 申请证书
  • 修改 Apache 配置
  • 配置 HTTP → HTTPS 跳转

3️⃣ 自动续期测试

sudo certbot renew --dry-run

七、常见配置示例

禁止目录浏览

Options -Indexes

设置默认首页

DirectoryIndex index.html index.php

PHP 支持(如未安装)

sudo apt install php libapache2-mod-php
sudo systemctl restart apache2

八、排错常用命令

sudo apache2ctl configtest
sudo tail -f /var/log/apache2/error.log

九、你可以继续问我

你可以直接说:

  • ✅ “我想配置 PHP + MySQL
  • ✅ “我想部署 Laravel / WordPress
  • ✅ “我想配置 多域名
  • ✅ “我想做 反向代理

我可以按你的实际用途给你 精确配置

0