Centos7源码安装httpd2.4版本web服务器
Posted 峰哥ge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7源码安装httpd2.4版本web服务器相关的知识,希望对你有一定的参考价值。
我们的系统平台是在centos7.5的环境下安装httpd2.4版本的软件,2.4版本的软件有一个特征就是需要安装arp包以及arp-util包才可以。
1、首先是下载httpd2.4版本的包,以及安装开发环境,这里开发环境直接使用组安装“Development tools”即可,(注意centos6是安装“Development tools和Server Platform Development”两种开发环境)
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org//httpd/httpd-2.4.37.tar.gz yum groupinstall "Development tools"
2、解压到指定目录/usr/local目录下
tar -zxf httpd-2.4.37.tar.gz -C /usr/local
3、在/usr/local目录下创建一个httpd目录,然后在刚刚解压的目录里面开始执行configure检测依赖环境
./configure --prefix=/usr/local/httpd
发现报错:
configure: configure: Configuring Apache Portable Runtime Utility library... configure: checking for APR-util... no configure: error: APR-util not found. Please read the documentation. configure: configure: Configuring Apache Portable Runtime library... configure: checking for APR... no configure: error: APR not found. Please read the documentation.
缺少apr-util包和apr包,那我们来安装即可
yum install apr apr-util apr-devel apr-util-devel
这两个包很重要,所以大家一定要记住。也有的人是下载apr源码包编译的,都是可以的。
4、继续执行configure检测环境
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd-2.4.37]#./configure --prefix=/usr/local/httpd config.status: creating build/config_vars.sh config.status: creating include/ap_config_auto.h config.status: executing default commands configure: summary of build options: Server Version: 2.4.37 Install prefix: /usr/local/httpd C compiler: gcc CFLAGS: -pthread CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE LDFLAGS: LIBS: C preprocessor: gcc -E
哈哈,终于编译成功了,继续安装
5、接下来执行make命令完成项目构建
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd-2.4.37]#make
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -pthread -o mod_rewrite.la -rpath /usr/local/httpd/modules -module -avoid-version mod_rewrite.lo make[4]: Leaving directory `/usr/local/httpd-2.4.37/modules/mappers‘ make[3]: Leaving directory `/usr/local/httpd-2.4.37/modules/mappers‘ make[2]: Leaving directory `/usr/local/httpd-2.4.37/modules‘ make[2]: Entering directory `/usr/local/httpd-2.4.37/support‘ make[2]: Leaving directory `/usr/local/httpd-2.4.37/support‘ make[1]: Leaving directory `/usr/local/httpd-2.4.37‘
看到这里说明编译成功了。
6、执行make install 安装
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd-2.4.37]#make install Installing man pages and online manual mkdir /usr/local/httpd/man mkdir /usr/local/httpd/man/man1 mkdir /usr/local/httpd/man/man8 mkdir /usr/local/httpd/manual make[1]: Leaving directory `/usr/local/httpd-2.4.37‘
安装成功。
7、看下安装的目录
[ro[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local]#cd httpd [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd]#ls bin build cgi-bin conf error htdocs icons include logs man manual modules [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd]#cd bin [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/bin]#ls ab apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve apachectl checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/bin]#
8、我们看到了安装的目录里面有我们想要的文件,但是到这里还没有完成,我们还有一些后续工作需要做。
9、设置环境变量
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/bin]#cd /etc/profile.d/ [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/profile.d]#ls 256term.csh colorgrep.csh colorls.csh csh.local lang.sh less.sh sh.local vim.sh which2.sh 256term.sh colorgrep.sh colorls.sh lang.csh less.csh path.sh vim.csh which2.csh [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/profile.d]#vim httpd.sh [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/profile.d]#cat httpd.sh HTTPD_HOME=/usr/local/httpd PATH=$PATH:$HTTPD_HOME/bin
最后记得source一下立即生效。
10、建立库文件信息(以.so结尾的文件)
一般上我们运行程序,Linux系统会在特定的路径下为应用查找所以来的库文件:/usr/lib、/usr/lib64、/lib、/lib64这四个目录下面,但是自己编译安装的程序提供的库文件有可能不在系统搜索的路径中,因此我们需要在系统里面添加一下。注意以.conf结尾。
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/modules]#cd /etc/ld.so.conf.d/ [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/ld.so.conf.d]#ls dyninst-x86_64.conf kernel-3.10.0-862.3.2.el7.x86_64.conf mysql-x86_64.conf [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/ld.so.conf.d]#echo /usr/local/httpd/modules > httpd-2.4.37.conf [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/ld.so.conf.d]#cat httpd-2.4.37.conf /usr/local/httpd/modules [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/ld.so.conf.d]#
11、然后重新执行ldconfig命令重新生成映射缓存ld.so.conf
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /etc/ld.so.conf.d]#ldconfig
12、除了我们刚刚设置的环境变量、库文件外,我们还需要设置头文件信息。我们这里复制头文件过去即可。
[[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/include]#ls apache_noprobes.h ap_expr.h ap_regkey.h http_core.h mod_auth.h util_cookies.h util_script.h ap_compat.h ap_hooks.h ap_release.h httpd.h mod_core.h util_ebcdic.h util_time.h ap_config_auto.h ap_listen.h ap_slotmem.h http_log.h mod_request.h util_fcgi.h util_varbuf.h ap_config_auto.h.in ap_mmn.h ap_socache.h http_main.h mpm_common.h util_filter.h util_xml.h ap_config.h ap_mpm.h heartbeat.h http_protocol.h scoreboard.h util_ldap.h ap_config_layout.h ap_provider.h http_config.h http_request.h util_cfgtree.h util_md5.h ap_config_layout.h.in ap_regex.h http_connection.h http_vhost.h util_charset.h util_mutex.h [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/include]#mkdir /usr/include/httpd [[email protected]:vg_adn_tidbCkhsTest:172.31.30.62 /usr/local/httpd/include]#cp ./* /usr/include/httpd/
其实我们就是把httpd安装目录下的include目录的所有头文件复制一份,放置在/usr/include/httpd目录下,注意,这个httpd需要提前创建好。
13、最后就是man手册了,Centos7下面的man手册配置文件是/etc/man_db.conf文件,我们修改一下即可。
以上是关于Centos7源码安装httpd2.4版本web服务器的主要内容,如果未能解决你的问题,请参考以下文章