温馨提示×

ubuntu apache2怎样改根目录

小樊
49
2026-09-29 07:20:32
栏目: 智能运维

在 Ubuntu 上修改 Apache2 的根目录(DocumentRoot),一般按下面步骤来即可。


一、默认情况

Ubuntu 中 Apache2 默认根目录是:

/var/www/html

对应配置文件通常是:

/etc/apache2/sites-enabled/000-default.conf

二、修改根目录步骤

1️⃣ 创建新目录(示例)

sudo mkdir -p /home/www/myweb
sudo chown -R www-data:www-data /home/www/myweb
sudo chmod -R 755 /home/www/myweb

⚠️ 注意:Apache 运行用户是 www-data,目录权限必须可读


2️⃣ 修改 Apache 虚拟主机配置

编辑默认站点配置文件:

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

修改或添加:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /home/www/myweb

    <Directory /home/www/myweb>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

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

3️⃣ 修改 Apache 主配置(重要)

有些系统还会受 /etc/apache2/apache2.conf 限制:

sudo nano /etc/apache2/apache2.conf

找到:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

在下面新增:

<Directory /home/www/myweb>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

4️⃣ 检查配置并重启

sudo apache2ctl configtest
sudo systemctl restart apache2

三、SELinux / AppArmor 注意

Ubuntu 默认使用 AppArmor,如果目录不在 /var/www,可能需要:

sudo aa-disable /etc/apparmor.d/usr.sbin.apache2

(或改为正确权限策略,不建议直接禁用)


四、验证

在浏览器访问:

http://localhost

或服务器 IP


五、常见错误

  • 403 Forbidden → 目录权限或 Require all granted 没加
  • 404 → DocumentRoot 写错
  • 仍显示旧目录 → 没重启 Apache 或改错配置文件

如果你是用 多站点(vhost)、HTTPS、或者 Docker / LNMP 环境,可以告诉我,我可以给你更精确的配置。

0 踩