默认网页根目录是/var/www/html;rhel系系统(如centos、rocky linux)安装httpd后即为此路径,可通过grep "^documentroot" /etc/httpd/conf/httpd.conf验证,浏览器访问localhost显示test page即生效。
linux 下 apache http server(即 httpd)安装后,默认网页根目录是 /var/www/html。这是 red hat 系统(如 centos、rocky linux、almalinux)及使用 yum 或 dnf 安装的通用路径。
默认目录位置与验证方法
安装 httpd 后,无需额外配置即可访问默认页面,前提是服务已启动且防火墙放行。你可以通过以下方式确认:
- 检查主配置文件中定义:
grep "^DocumentRoot" /etc/httpd/conf/httpd.conf→ 通常输出DocumentRoot "/var/www/html" - 查看实际目录是否存在:
ls -l /var/www/html/,初始可能为空或含测试页(如index.html) - 浏览器访问
http://localhost或服务器 IP,看到 “Test Page” 即表示路径生效
修改默认网页目录的操作步骤
要将网站文件放在其他位置(例如 /home/www 或 /data/web),需同步修改两处配置并处理权限和 SELinux(若启用):
- 编辑主配置:
sudo vim /etc/httpd/conf/httpd.conf - 修改
DocumentRoot行,例如改为:DocumentRoot "/home/www" - 找到对应
<directory></directory>块(通常紧随其后),把路径也更新为:<directory></directory> - 创建新目录并设权限:
sudo mkdir -p /home/www && sudo chmod -R 755 /home/www - 若 SELinux 启用,必须修复安全上下文:
sudo semanage fcontext -a -t httpd_sys_content_t "/home/www(/.*)?",然后执行sudo restorecon -Rv /home/www - 语法检查:
sudo httpd -t(无报错才继续) - 重载服务:
sudo systemctl reload httpd
推荐做法:用 conf.d 子配置替代直接改主配置
为便于维护和避免升级时覆盖,不建议直接修改 httpd.conf。可新建子配置文件:
- 新建:
sudo vim /etc/httpd/conf.d/my-site.conf - 写入内容:
<virtualhost> DocumentRoot "/home/www" <directory> Require all granted </directory></virtualhost> - 保存后同样执行
httpd -t和systemctl reload httpd
常见问题与注意点
修改后无法访问,多数由以下原因导致:
-
权限不足:Apache 进程用户(
apache)对新目录无读取权 → 用chmod 755或chown apache:apache调整 -
SELinux 阻断:即使权限正确,也会静默拒绝 → 必须用
semanage + restorecon设置正确类型 -
路径拼写错误或未重启服务:修改后忘记
reload,或路径多空格、少斜杠 -
防火墙拦截:确保
firewall-cmd --permanent --add-service=http并 reload











