温馨提示×

如何设置ubuntu apache2

小樊
35
2026-07-17 11:49:56
栏目: 智能运维

下面给你一套在 Ubuntu 上安装并配置 Apache2 的完整流程,从安装到基础配置、虚拟主机、HTTPS,适合新手和常用场景。


一、安装 Apache2

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  # 重启
sudo systemctl reload apache2   # 重载配置(不中断服务)

二、防火墙设置(UFW)

如果开启了 UFW,需要放行 HTTP/HTTPS:

sudo ufw allow 'Apache Full'

查看:

sudo ufw status

三、测试 Apache 是否正常运行

浏览器访问:

http://你的服务器IP

看到 Apache2 Ubuntu Default Page 即成功。


四、Apache 目录结构说明(重要)

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

网站默认根目录:

/var/www/html

五、修改默认网站目录(可选)

编辑默认虚拟主机:

sudo nano /etc/apache2/sites-available/000-default.conf

修改:

DocumentRoot /var/www/html

改为你的目录,例如:

DocumentRoot /var/www/my-site

然后:

sudo systemctl reload apache2

六、配置虚拟主机(推荐)

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}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3️⃣ 启用站点

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

七、启用 rewrite 等常用模块

sudo a2enmod rewrite
sudo systemctl reload apache2

八、配置 HTTPS(Let’s Encrypt)

1️⃣ 安装 Certbot

sudo apt install certbot python3-certbot-apache -y

2️⃣ 申请证书

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

3️⃣ 自动续期测试

sudo certbot renew --dry-run

九、常用排错命令

查看错误日志:

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

检查配置语法:

sudo apache2ctl configtest

十、快速检查清单 ✅

  • [ ] Apache 已安装并运行
  • [ ] 防火墙放行 80/443
  • [ ] 虚拟主机配置正确
  • [ ] 域名解析正常
  • [ ] HTTPS 可用(生产环境)

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 用途(PHP / 静态网站 / 反向代理 / Docker)
  • 是否绑定域名

我可以给你一份完全贴合你场景的 Apache 配置示例

0