千家信息网

apache-httpd-server

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,很久没有写过博客了,今天心血来潮记录下源码安装httpd的过程,如果有错误希望大家提出来,也好改进,谢谢广大博友安装环境: Asianux3 内核版本:Asianux 3.1软件包: httpd-2.
千家信息网最后更新 2024年11月29日apache-httpd-server

很久没有写过博客了,今天心血来潮记录下源码安装httpd的过程,如果有错误希望大家提出来,也好改进,谢谢广大博友

安装环境: Asianux3 内核版本:Asianux 3.1

软件包: httpd-2.4.12

pcre-8.20

apr-1.5.2

apr-util-1.5.4

安装步骤:

1.环境检查:系统是否安装有apr apr-util pcre软件包

#rpm -qa apr

apr-1.2.7-11

#rpm -qa apr-util

apr-util-1.2.7-7AXS3

#rpm -qa pcre

pcre-6.6-2.7

这些软件系统有自带,但是也不能卸载与其他软件还有依赖关系,所以需要安装其他软件,并且安装到不同的路径下

2.开始安装前压迫先安装好开发工具库,查看系统是否已安装

#yum grouplist

基本系统

开发

gnome库

我的系统已经安装,如果没有安装则执行

#yum groupinstall "开发工具 开发库" 命令进行安装

3.检查完环境既可以开始安装,要先安装pcre 软件,将软件包拷贝到服务器

#tar -jxf pcre-8.20.tar.bz2 //解压pcre软件包

#ls //查看当前目录下会多出一个pcre-8.20目录

#cd pcre-8.20 //切换进pcre目录

#./configure --perfix=/usr/local/pcre

//编译病指定pcre安装目录

#make

#make check //验证make结果,不是必须步骤

#make install

#ls /usr/local/pcre //查看/usr/local/pcre

bin include lib share

pcre安装完成。

4.安装apr软件

#tar zxf apr-1.5.2.tar.gz //解压apr软件包

#cd apr-1.5.2

#./configure --prefix=/usr/local/apr

//编译apr.指定安装路径

#make

#make install

#ls /usr/local/apr

bin include lib build-1

apr软件包安装完成

5.安装apr-util软件

#tar zxf apr-util-1.5.4.tar.gz //解压util软件包

#cd apr-util-1.5.4

#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

//编译util软件包,指定安装目录并制定apr软件安装目录。因为util依赖apr软件

#make

#make install

#ls /usr/local/apr-util

bin include lib

apr-util软件安装完成

6.就要安装httpd软件了,安装前还要检查selinux是否被禁用(disabled)

#vim /etc/selinux/config

SELINUX=disabled

#tar jxf httpd-2.4.12.tar.bz2 //解压软件包

#cd httpd-2.4.12

#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/use/local/pcre --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most //编译,指定apr,apr-util 和pcre安装路径和模块选择,必须的模块得有so,rewirte ssl,cgi

#make

#make install

#ls /usr/local/apache/bin //查看bin目录,apachetl是启动脚本

ab checkgid envvers-std htdbm httpd rotatelogs apachectl

dbmmanage fcgistarter htdigest httxt2dbm apxs envvare

htcacheclean htpasswd logresolve

7.启动httpd服务

#/usr/local/apache/bin/apachectl start //启动httpd服务

#netstat -anput|grep httpd //查看80端口

tcp 0 0 :::80 :::* LISTEN 6211/httpd

用浏览器访问默认首页 http:10.10.0.251 结果打开的是欢迎界面,并没有显示it works

修改 #vim /etc/httpd/conf/httpd.conf 下的这一项,首页文件路径

DocumentRoor "/usr/local/apache/htdocs"

再次打开,OK看到了 it works !!!

再此更正一下,在后来启动服务时,会有报错,但是当时却没有,可能是什么地方有其他配置把,现在 说一下报错信息和解决办法:

报错信息如下:

httpd: Syntax error on line 144 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol: apr_array_clear

总是提示apr的错误,重新编译也不行,后来添加 --with-included-apr 参数,在重新编译,并且还要把apr和apr-util的的源码复制到http-2.4.12/srclib目录下才可以

#cp -rf apr-1.5.2 httpd-2.4.12/srclib/apr

#cp -rf apr-util-1.5.4 httpd-2.4.12/srclib/apr-util

ok ,重新启动就没有问题了


安装过程中遇到的问题:提示如下,

util_pcre.c: In function 'ap_regcomp':
util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)
util_pcre.c:128: error: (Each undeclared identifier is reported only once
util_pcre.c:128: error: for each function it appears in.)

问题在于pcre软件没有装上,在make的时候就会有这个提示,安装pcre软件后就可以了

2. 在选择模块的时候可以使用./configure --help 命令来选择所需要的模块








0