linux下apache的安装及so文件的编译

来源:互联网 发布:计算机专业学生 知乎 编辑:程序博客网 时间:2024/06/07 09:52
apache编译安装 

 [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文件


 

 

 

 

原创粉丝点击