Ubuntu系统修改Apache2主DocumentRoot无效,访问IP出现404错误求助
兄弟,我太懂你改完配置却完全没生效的憋屈感了,咱们一步步揪出问题所在:
先确认Apache服务是否重启!这是最容易忽略的关键点——改完配置文件不重启服务,Apache根本不会加载新配置。执行命令重启:
sudo systemctl restart apache2重启完成后再运行
apachectl -S,看看输出里的DocumentRoot是不是已经变成你设置的/var/www/html/mediawikia了。检查目录名称拼写!你配置里写的是
/var/www/html/mediawikia,但MediaWiki默认解压后的目录名一般是mediawiki(少了一个字母a),先确认实际目录名是不是拼错了:ls -l /var/www/html/如果确实是拼写问题,要么改目录名,要么修正配置里的路径。
修正目录权限配置范围:你现在在配置里写的是
<Directory />,这是对系统根目录的配置,太宽泛了,而且没有针对你的目标MediaWiki目录做明确授权。建议在apache2.conf里添加或修改成针对目标目录的配置:<Directory /var/www/html/mediawikia/> Options +FollowSymLinks AllowOverride All Require all granted </Directory>这个配置能确保Apache有权访问你的MediaWiki目录。
确认站点配置已启用:虽然
000-default.conf默认是启用的,但保险起见可以重新启用一次,避免配置文件意外失效:sudo a2ensite 000-default.conf执行完后记得再次重启Apache服务。
查看错误日志找精准线索:404错误的具体原因都藏在Apache的错误日志里,直接查看日志内容:
cat /var/log/apache2/error.log比如如果日志显示“File does not exist”,那就是路径或文件名错误;如果是权限相关的报错,再针对性调整(不过你已经设置了755权限和www-data所有者,大概率不是权限问题,但日志能给你准信)。
备注:内容来源于stack exchange,提问作者Sub

