Ubuntu下Apache提示dav_module已加载的问题求助
解决Apache提示dav_module重复加载的问题
这个问题我碰到过不少次,尤其是在从其他系统迁移Apache配置到Ubuntu的时候——毕竟不同发行版的Apache模块管理逻辑差异不小。咱们一步步来排查解决:
第一步:精准定位重复加载的来源
你之前的grep范围太窄了,只搜了dav相关的文件,很可能漏掉了其他配置里的手动加载项。执行下面的命令,遍历整个Apache配置目录找所有加载dav_module的语句:
grep -r "LoadModule dav_module" /etc/apache2/
大概率会发现两个来源:
- 一个是
mods-available/dav.load里的系统默认加载项(这是Ubuntu管理模块的标准方式) - 另一个可能在你新配置的Subversion站点文件(
sites-available/xxx.conf)里——很多人迁移时会直接复制旧服务器的配置,而旧FreeBSD可能习惯手动在站点配置里加载模块,但Ubuntu完全不需要这么做。
第二步:移除重复的加载语句
如果发现站点配置文件里有LoadModule dav_module ...这一行,直接删掉它!
Ubuntu下启用Apache模块的正确姿势是用a2enmod命令,比如针对Subversion需要的模块:
sudo a2enmod dav sudo a2enmod dav_svn
这些命令会自动在mods-enabled目录创建软链接,关联到mods-available里的模块文件,完全不需要手动在配置里写LoadModule。
第三步:验证配置并重启服务
先确认mods-enabled里的dav模块链接正常:
ls -l /etc/apache2/mods-enabled/dav*
应该能看到dav.load(以及dav_fs.load如果启用的话)都指向../mods-available/下的对应文件。
最后重启Apache:
sudo systemctl restart apache2
这时候那个重复加载的警告应该就消失了。
另外提个小建议:迁移Subversion到Ubuntu时,记得检查站点配置里的DAV svn、SVNParentPath这些核心参数是否适配新服务器的路径,避免后续出现仓库访问问题。
内容的提问来源于stack exchange,提问作者Jette
相关产品推荐
相关产品推荐

