我无法让 dwww 工作 - 一直出现 404 Not Found

我无法让 dwww 工作 - 一直出现 404 Not Found

当我尝试点击 dwww 生成的网页上的链接时,出现以下错误:

Not Found

The requested URL /cgi-bin/dwww/usr/share/doc/ was not found on this server.

Apache/2.4.10 (Ubuntu) Server at randys-laptop Port 80

我已经安装了 Debian 文档浏览器包。

我究竟做错了什么?

答案1

dwww用于cgi提供网页服务,并且默认情况cgi下不再启用apache2;因此您需要启用cgi

sudo a2enmod cgi

然后apache2使用以下命令重新启动服务:

service apache2 restart

dwww这将解决您在返回时遇到的主要问题not found

但您可能会遇到另一个问题。dwww允许从 Web 服务器访问/var/www/dwww和中的文件/usr/share/doc(并且它将跟随其他目录中的符号链接到/usr/share/doc)。

您可能会发现的另一个问题是某些文档文件不存在/usr/share/doc

例如(这取决于您安装了什么文档),中的某些目录/usr/share/gtk-doc/html符号链接到。这些目录将毫无问题地/usr/share/doc/...显示。dwww

但其他文件则不会自动显示。/usr/share/gtk-doc/html/atk例如,目录未使用符号链接/usr/share/doc。尝试使用dwww以下命令打开这些文件:

dwww will not allow you to read the file /usr/share/gtk-doc/html/atk/index.html 

可能存在涉及apache2/dwww配置的解决方案;但我不是apache2安全专家,也不想引入问题。

file://简单的解决方法是对发现此问题的(非常)少数文件使用该协议。

对于atk上面的文档示例,生成的 URL 是:

http://<server-name>/cgi-bin/dwww/usr/share/gtk-doc/html/atk/index.html?type=html

您可以转到地址栏并将其编辑为:

file:///usr/share/gtk-doc/html/atk/index.html?type=html

然后文件就会加载。

答案2

关于此dwww will not allow you to read ...问题:

dwww将仅显示其DWWW_DOCPATH设置中列入白名单的路径中的文件/etc/dwww/dwww.conf

默认值是/usr/share/doc:/usr/share/info:/usr/share/man:/usr/local/share/doc:/usr/local/share/info:/usr/local/share/man:/usr/share/common-licenses不是跟随符号链接,因此你必须手动添加它们的目标

相关内容