LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 861|回复: 4

在Debian(lenny)上源码安装Apache

[复制链接]
发表于 2009-5-31 14:06:27 | 显示全部楼层 |阅读模式
很久没有源码安装了,写这篇文章只想让刚用Debian的xdjm有个参考

   1. apt-get build-dep apache2 安装编译apache时的相关依赖
   2. cd httpd-2.2.11 进入源码目录
   3. ./configure --prefix=/opt/demo/apache2 --enable-rewrite --enable-so --enable-ssl --enable-vhost-alias --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ajp --with-mpm=prefork
   4. make
   5. make install
   6. /opt/demo/apache2/bin/apacheclt -k start

这样就编译完了,在配置编译过程中出现了几个错误,配置时出错提示如下

no OpenSSL headers found
checking for SSL-C version... checking sslc.h usability... no
checking sslc.h presence... no
checking for sslc.h... no
no SSL-C headers found
configure: error: ...No recognized SSL/TLS toolkit detected

只需aptitude install libssl-dev安装ssl库文件即可配置通过,在make阶段也出现了错误,提示如下

undefined reference to `ap_proxy_ssl_val'

查看手册后,得出结论是因为ajp需要proxy的支持,而之前的配置项中没有--enable-proxy --enable-proxy-connect --enable-proxy-http这些选项,加入后顺利make,浏览器输入http://localhost即可看见

It Works!

补充说明:

--prefix=/opt/demo/apache2 这个选项指定apache的安装位置,可以根据实际情况更改,如/usr/local等

--enable-rewrite 实时重写URL

--enable-so DSO动态模块加载,很多第三方模块都需要此选项支持

--enable-ssl 使用安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输

--enable-vhost-alias 提供大批量虚拟主机的动态配置支持

--enable-proxy 提供HTTP/1.1的**/网关功能支持

--enable-proxy-connect mod_proxy的扩展,提供HTTP connect方法支持

--enable-proxy-http mod_proxy的扩展,提供http支持

--enable-proxy-ajp mod_proxy的扩展,提供Apache JServ Protocol支持,ajp是对tomcat提供整合的新模块

--with-mpm=prefork MPM是你想要使用的多路处理模块的名字,这里选择prefork,worker模式的mpm是一种混合型模式,可以处理海量请求的同时又保持了基于进程mpm的稳定性,具体可以google一下
参考资料:

金步国大虾的[翻译作品]《Apache 2.2 中文手册》
发表于 2009-6-1 05:23:47 | 显示全部楼层
呵呵,也许你看过 BLFS 手册或者 CBLFS 的 wiki 走的弯路会短一点也说不定
回复 支持 反对

使用道具 举报

发表于 2009-6-1 10:25:55 | 显示全部楼层
./configure --prefix=/opt/demo/apache2 --enable-rewrite --enable-so --enable-ssl --enable-vhost-alias --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ajp --with-mpm=prefork  

其实你不需要这么多参数,--enable-ssl 需要ssl的话,首先得安装 openssl
还有其他的一些proxy你也不一定需要吧  ?
./configure --prefix=/opt/demo/apache2 --enable-rewrite --enable-so
这个应该可以过去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-1 11:23:06 | 显示全部楼层

谢谢回复

Post by fayewong;1992941
./configure --prefix=/opt/demo/apache2 --enable-rewrite --enable-so --enable-ssl --enable-vhost-alias --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-ajp --with-mpm=prefork  

其实你不需要这么多参数,--enable-ssl 需要ssl的话,首先得安装 openssl
还有其他的一些proxy你也不一定需要吧  ?
./configure --prefix=/opt/demo/apache2 --enable-rewrite --enable-so
这个应该可以过去


至于其他proxy也许可以不需要,我没试过,不过--enable-proxy是肯定是需要,因为ajp是通过proxy实现的它们之间有依赖关系。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-1 11:26:08 | 显示全部楼层

BLFS

Post by d00m3d;1992884
呵呵,也许你看过 BLFS 手册或者 CBLFS 的 wiki 走的弯路会短一点也说不定


呵呵,我以前做完LFS后做了一次BLFS,没做过CBLFS,不过当时也没细看手册。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表