温馨提示×

如何改Apache根目录

小樊
40
2026-08-27 13:50:03
栏目: 编程语言

改 Apache 的根目录(DocumentRoot),常见做法如下(以 Linux 为例,Windows 类似):


一、找到 Apache 配置文件

常见位置:

  • Ubuntu / Debian

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

    /etc/apache2/apache2.conf
    
  • CentOS / RHEL / Rocky / Alma

    /etc/httpd/conf/httpd.conf
    
  • Windows(XAMPP / WAMP)

    C:\xampp\apache\conf\httpd.conf
    

二、修改根目录(DocumentRoot)

1️⃣ 修改 DocumentRoot

找到类似内容:

DocumentRoot "/var/www/html"
<Directory "/var/www/html">

改成你的新目录,例如:

DocumentRoot "/home/user/web"
<Directory "/home/user/web">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

⚠️ 注意:

  • DocumentRoot<Directory> 要一起改
  • 目录必须真实存在

三、设置目录权限(非常重要)

1️⃣ 目录权限

chmod -R 755 /home/user/web

2️⃣ 目录所有者(推荐)

chown -R www-data:www-data /home/user/web

www-data 是 Apache 在 Ubuntu/Debian 下的运行用户
CentOS 通常是 apache


四、如果是虚拟主机(推荐方式)

编辑虚拟主机配置:

sudo nano /etc/apache2/sites-available/my-site.conf

示例:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /home/user/web

    <Directory /home/user/web>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

启用站点(Ubuntu):

sudo a2ensite my-site.conf

五、重启 Apache

# Ubuntu / Debian
sudo systemctl restart apache2

# CentOS / RHEL
sudo systemctl restart httpd

六、常见问题排查

❌ 403 Forbidden

  • 目录权限不足
  • <Directory> 未设置 Require all granted

❌ 页面没变化

  • 改错配置文件
  • 浏览器缓存(Ctrl + F5)

❌ SELinux 阻止(CentOS 常见)

setenforce 0

或正确设置:

chcon -Rt httpd_sys_content_t /home/user/web

七、快速总结(最小修改)

DocumentRoot "/new/path"
<Directory "/new/path">
    AllowOverride All
    Require all granted
</Directory>

然后:

systemctl restart apache2

如果你告诉我:

  • 系统版本(Ubuntu / CentOS / Windows)
  • 是否用 XAMPP / WAMP
  • 是改默认站点还是虚拟主机

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

0