配置 web 服务器是最后一项工作。以下指南针对 Apache 和 lighttpd 给出。
其它服务器请参见
用户手册。
警告 !
配置文件和目录是按照 Fedora 给出的,别的发行版可能有所不同。
Debian 和 Ubuntu 请参见 这里 。
在所有情形您都应当仔细检查生成的配置文件。
进一步,在多源码树的情况下,注意移除重复的端口和虚拟根目录的定义。
后者经常出现在互相不重叠的情况下(此处翻译的不太清楚,此处意义不太准确,请参见原文)。
Apache web 服务器
您需要将
前述配置步骤 创建的
custom.d/apache-lxrserver.conf 配置文件复制到
/etc/httpd/conf.d/ 目录下。
这个配置文件会在服务器初始化时被自动读取并且与 httpd.conf 合并。
服务器软件更新时,您再次将其复制到 /etc/httpd/conf.d/ 目录就行。
对 /etc/httpd/conf.d/ 目录的访问需要 root 权限。
将文件复制到 Apache 配置目录下:
$ cp custom.d/apache-lxrserver.conf /etc/httpd/conf.d
配置文件在 Apache
1.x 版本
和
2.x 版本都能正常工作。
“目录配置文件” .htacess 已经在前述配置步骤创建并且已经存储到 LXR 根目录下。您可以修改它以使能目录文件列出权限或者其它您需要的权限。
lighttpd web 服务器
前述
配置步骤 创建了文件
custom.d/lighttpd-lxrserver.conf。
- LXR 2.1 或更高版本
检查确认主配置文件 /etc/lighttpd/lighttpd.conf 允许虚拟主机操作。
文件的结尾的标记必须出于非注释状态:
include_shell "cat /etc/lighttpd/vhosts.d/*.conf"
检查确认 /etc/lighttpd/modules.conf 文件使能了 "plain old CGI" 模块。
具体而言就是以下 CGI modules 段的如下行没有被注释掉:
include "conf.d/cgi.conf"
消除重复内容之外,您不应当手动编辑配置文件 custom.d/lighttpd-lxrserver.conf。
将其拷贝到最终位置:
$ cp custom.d/lighttpd-lxrserver.conf /etc/lighttpd/vhosts.d/
该文件会在服务器初始化时被自动读入,合并至 lighttpd.conf。
当服务器软件更新时,你需要做的仅仅是将该文件再次存放到
/etc/lighttpd/vhosts.d/ 目录下。
访问 /etc/lighttpd/vhosts.d/ 目录需要 root 权限。
当你需要启动(重启)lighttpd 时,以 root
身份运行以下命令:
$ systemctl restart lighttpd.service
检查配置文件:
$ lighttpd -t -f custom.d/lighttpd-lxrserver.conf
启动 lighttpd 服务器。
- 单用户服务
$ lighttpd -D -f custom.d/lighttpd-lxrserver.conf
用 ctrl-C 以停止 lighttpd。
- 系统服务
- systemd 服务使能情况下
首先,将配置文件拷贝到指定位置:
$ cp custom.d/lighttpd-lxrserver.conf /etc/lighttpd/conf.d
启动服务器:
$ systemctl start lighttpd.service
以下命令用于停止 lighttpd 服务器:
$ systemctl stop lighttpd.service
- 没有 systemd
$ LIGHTTPD_CONF_PATH=\
"/path/to/lxr/custom.d/lighttpd-lxrserver.conf" \
./scripts/lighttpd-init start
以下命令用于停止 lighttpd 服务器:
$ ./scripts/lighttpd-init stop
如果您已经在运行一个 lighttpd 服务器,将 LXR 配置与已有配置合并,此处不再赘述。
关于 SELinux
如果您稍后遇到 SELinux 问题
(和 LXR 根目录 相关的警告):
脚本和它们所在的目录必须被特别标记以能够在“normal”上下文中执行。
当其在 /var/www/cgi-bin/ 目录下时,这是例行公事。
为了消除警告,最靠谱的方法是用如下命令克隆
/var/www/cgi-bin/ 上下文:(此处翻译可能不准确,请参见原文,译者注)
$ chcon --reference /var/www/cgi-bin -R LXR_root_directory/
最终检查
打开浏览器访问 http://localhost/lxr/source
。
您应当看到您的源码树的默认版本的目录内容。