Skip to content

DragonFlyBSD 3.0.2上安装Apache

上面一篇介绍了一下DragonFlyBSD上的软件管理,今天就来安装Apache。

如果你时间紧迫,先看一下摘要:

1. pkg_radd -v apache-2.2.21nb7
2. cp /usr/pkg/share/examples/rc.d/apache /etc/rc.d/
3. 添加apache_enable=”YES”到/etc/rc.conf
4. kldload accf_http
5. 在/etc/defaults/loader.conf中,将下面两行中的NO改成YES:
accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter
6. 根据情况,注释掉httpd.conf中的下面一行:
LoadModule unique_id_module lib/httpd/mod_unique_id.so
7. /etc/rc.d/apache start
8. 根据需要,调整自己的httpd.conf配置

下面开始短话长说。

由于刚开始DragonFlyBSD,不知道它的Apache软件包是什么名字,大致先搜一下吧:

# pkg_search httpd
bozohttpd-20111118 Bozotic HTTP server; small and secure
libmicrohttpd-0.9.17 Small C library to run an HTTP server as part of another app
……

没有我想找的。再试一次:

# pkg_search apache
apache-1.3.42 Apache HTTP (Web) server
apache-2.0.64nb1 Apache HTTP (Web) server, version 2
apache-2.2.21nb7 Apache HTTP (Web) server, version 2.2
apache-ant-1.5.4nb2 “Apache Project’s Java-Based make(1) replacement”
……

apache-2.2这个看起来还比较接近,虽然不是最新版的…

pkg_radd -v apache-2.2.21nb7

DBSD (DragonFlyBSD)上,apache的配置文件在/usr/pkg/etc/httpd下,htdocs目录在 /usr/pkg/share/httpd/htdocs/,日志目录在/var/log/httpd/

刚开始没找到它的启动脚本。仔细看了一下软件安装后给出的提示(这一点很重要),脚本是/usr/pkg/share/examples/rc.d/apache,需要手工复制到/etc/rc.d/目录下。

复制完成后,使用/etc/rc.d/apache start启动失败,提示所/etc/rc.conf设置不对。

在/etc/rc.conf中加入apache_enable=”YES”后,重试启动,依然失败,报一个http_ready的错误:

[Tue Aug 11 16:06:39 2012] [warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

依稀记得几年前在FreeBSD上也碰到过类似的错误。google后发现需要如下操作:

1. 运行:kldload accf_http
2. 在/etc/defaults/loader.conf中,将下面两行中的NO改成YES:
accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter

重新启动,依然有错:

[Tue Aug 11 16:37:05 2012] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of “”
Configuration Failed

google了一下,原来是hostname需要在配置的DNS服务器上能解析。于是我把httpd.conf中的下面这一行注释掉,再此尝试启动就OK了:

LoadModule unique_id_module lib/httpd/mod_unique_id.so

后面的就是APACHE自己的配置了。每个人的需求不同,这里不谈。

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

No comments yet.

Leave a Reply

SidebarComments (0)