[root@hostlocal~]# ls // 你会看到你下载的httpd-2.2.9.tar.gz.
[root@hostlocal~]# tar –zxvf httpd-2.2.9.tar.gz // 解压后为httpd-2.2.9
[root@hostlocal~]# mkdir –p /usr/local/web/apache/ //在这个目录下建立文档,利于管理
[root@hostlocal~]# mv /root/httpd-2.2.9 /usr/local/src/ //将安装包放到/src下,利于管理
以上两步不是必要,可以手动建文件夹,将安装文件放到该文件夹
[root@hostlocal~]# cd httpd-2.2.9
[root@httpd-2.2.9]# ./configure --prefix=/opt/src/web/apache --enable-proxy=shared --enable-proxy-balancer=shared --enable-proxy-http=shared --enable-proxy-cOnnect=shared --enable-asis=shared --enable-isapi=shared --enable-mods-shared=all --enable-so //配置命令 配置安装文件夹 和参数设置(切忌不能加--enable-shared=max )
[root@httpd-2.2.9]# make //编译
[root@httpd-2.2.9]# make install //安装
[root@hostlocal~]# service httpd start //开启httpd服务
/opt/src/web/apache/bin/apachectl -k start //启动apache
c文件编译成.so文件
[logs@dw208066 opt]# ./local/apache/bin/apxs -c mod_helloworld.c //到apache安装目录的bin/apxs 下 执行-c
这时 opt下多了4个文件.la .lo .o .slo
其中就有一个mod_helloworld.la的,于是再调用
[logs@dw208066 opt]$#./local/apache/bin/apxs -i mod_helloworld.la
这时会出现类似于下面错误
Warning! dlname not found in /usr/local/apache2/modules/mod_rewrite.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/mod_rewrite.so
chmod: cannot access `/usr/local/apache2/modules/mod_rewrite.so': No such file or directory
apxs:Error: Command failed with rc=65536
需要修改一个文件
vi /usr/local/apache2/build/libtool
build_libtool_libs=no
build_libtool_libs=yes
fast_install=neel***
fast_install=yes
dlopen_support=unknown
dlopen_support=yes
dlopen_self=unknown
dlopen_self=yes
dlopen_self_static=unknown
dlopen_self_static=yes
host_alias=
host_alias=i686-pc-linux-gnu
在esc模式下输入:wq保存退出
保存后重新编译.c文件即可成功编译成so文件