--by 胖子 2012-05-06
1.准备软件
mkdir -p /data0/software
cd /data0/software
wget http://labs.renren.com/apache-mirror/httpd/httpd-2.2.22.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
wget http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz
wget http://labs.mop.com/apache-mirror/apr/apr-util-1.4.1.tar.gz
2.安装pcre
tar xvzf pcre-8.21.tar.gz
cd pcre-8.21
./configure --prefix=/usr/local/pcre
make
make install
cd ..
3.安装apr
tar xvfz apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make
make install
cd ..
4.安装apr-util
tar xvzf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cd ..
5.安装apache
tar xvfz httpd-2.2.22.tar.gz
cd httpd-2.2.22
./configure --prefix=/usr/local/webserver/apache --enable-so --enable-deflate=shared --enable-rewrite=shared --enable-static-support --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make
make install
cd ..
6.修改apache配置文件httpd.conf
vim /usr/local/webserver/apache/conf/httpd.conf
User web
Group web
7.修改htdocs属主
chown -R web.web /usr/local/webserver/apache/htdocs
8.启动/停止/重启apache
/usr/local/webserver/apache/bin/apachectl start/sop/restart --优先使用该方法
/usr/local/webserver/apache/bin/httpd -k start/sop/restart
附录apache编译参数表
/configure //配置源代码树
–prefix=/usr/local/webserver/apache //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
–enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
–enable-deflate=shared //支持网页压缩
–enable-expires=shared //支持 HTTP 控制
–enable-rewrite=shared //支持 URL 重写
–enable-cache //支持缓存
–enable-file-cache //支持文件缓存
–enable-mem-cache //支持记忆缓存
–enable-disk-cache //支持磁盘缓存
–enable-static-support //支持静态连接(默认为动态连接)
–enable-static-htpasswd //使用静态连接编译 htpasswd – 管理用于基本认证的用户文件
–enable-static-htdigest //使用静态连接编译 htdigest – 管理用于摘要认证的用户文件
–enable-static-rotatelogs //使用静态连接编译 rotatelogs – 滚动 Apache 日志的管道日志程序
–enable-static-logresolve //使用静态连接编译 logresolve – 解析 Apache 日志中的IP地址为主机名
–enable-static-htdbm //使用静态连接编译 htdbm – 操作 DBM 密码数据库
–enable-static-ab //使用静态连接编译 ab – Apache HTTP 服务器性能测试工具
–enable-static-checkgid //使用静态连接编译 checkgid
–disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
–disable-cgi //禁止编译 CGI 版本的 PHP
–disable-userdir //禁止用户从自己的主目录中提供页面
–with-mpm=worker // 让apache以worker方式运行
–enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要。
附录:
安装时遇到问题:
安装好apache后无法启动,出现如下错误:
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
# ldd /usr/local/apache/bin/httpd
会看到这么一行
libiconv.so.2 => Not found
以前编译运行是可以的,可能是不久前升级了iconv库影响。在/usr/local/lib下可以找到libiconv.so.2,把/usr/local/lib加到路径中也不行。
方法一:
在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfig。再运行apache,OK。
ld.so.conf和ldconfig是维护系统动态链接库的。真不明白为什么iconv库安装时不把这一步也做了
方法二:
ln -sf /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2