温馨提示×

ubuntu apache2怎样换根目录

小樊
46
2026-09-26 09:17:20
栏目: 智能运维

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


一、假设你原来的根目录

默认是:

/var/www/html

你想改成比如:

/srv/mysite

或

/home/user/mysite

二、修改 Apache 虚拟主机配置

1. 编辑默认站点配置

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

找到这一行:

DocumentRoot /var/www/html

改成:

DocumentRoot /srv/mysite

2. 修改目录权限配置(重要)

Apache 2.4 还需要允许访问新目录。

编辑 Apache 主配置或站点配置:

sudo nano /etc/apache2/apache2.conf

找到类似这一段(可能不存在,需要自己加):

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

在下面添加你的新目录:

<Directory /srv/mysite>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

⚠️ 如果是 用户目录(/home/user),注意权限问题(见后文)


三、创建目录并放测试文件

sudo mkdir -p /srv/mysite
sudo chown -R www-data:www-data /srv/mysite
sudo chmod -R 755 /srv/mysite
echo "hello apache" | sudo tee /srv/mysite/index.html

四、重启 Apache

sudo systemctl restart apache2

然后浏览器访问:

http://localhost

五、如果使用用户目录(/home/xxx)

例如:

/home/user/mysite

需要:

chmod 755 /home/user
chmod 755 /home/user/mysite

并确保 Apache 配置中有:

<Directory /home/user/mysite>
    Require all granted
</Directory>

六、常见问题

1. 403 Forbidden

通常是:

  • 目录权限不对
  • Apache 没授权访问该目录

2. 改了不生效

  • 确认改的是 启用的站点
  • 是否重启了 apache2
  • 是否有多个 VirtualHost

查看已启用站点:

ls /etc/apache2/sites-enabled/

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

  • Ubuntu 版本
  • Apache 版本
  • 新根目录路径

我可以给你一份完全对应的配置示例。

0 踩