在centos6编译安装httpd-2.4方法一

安装httpd-2.4
依赖于apr-1.4+, apr-util-1.4+, [apr-iconv]
apr: apache portable runtime,解决跨平台实现
CentOS 6:默认:apr-1.3.9, apr-util-1.3.9
安装前准备开发包:
开发环境包组:
Development Tools,Server
相关包:pcre-devel,openssl-devel expat-devel
下载源代码并解压缩:
httpd-2.4.27.tar.bz2
apr-1.6.2.tar.bz2
apr-util-1.6.0.tar.bz2
第一步:先安装所需要的包。(工作中不要装包组,挑一些去装)
yum groupinstall "development tools"
yum install openssl-devel pcre-devel expat-devel
[root@centos6 apr-1.6.3]# yum install libtool
[root@centos6 ~]# mkdir httpd2.4
[root@centos6 ~]# cd httpd2.4/
把源代码传到里面;
[root@centos6 httpd2.4]#rz
然后解压缩。
tar xvf apr-1.6.3.tar.bz2
tar xvf apr-util-1.6.1.tar.bz2
tar xvf httpd-2.4.29.tar.bz2
编译httpd之前要先编译APR
第二步:现在我们先去编译APR ( apr-1.6.3)
[root@centos6 httpd2.4]# cd apr-1.6.3
[root@centos6 apr-1.6.3]# ls
apr-config.in buildconf dso libapr.rc NOTICE support
apr.dep build.conf emacs-mode LICENSE NWGNUmakefile tables
apr.dsp build-outputs.mk encoding locks passwd test
apr.dsw CHANGES file_io Makefile.in poll threadproc
apr.mak CMakeLists.txt helpers Makefile.win random time
apr.pc.in config.layout include memory README tools
apr.spec configure libapr.dep misc README.cmake user
atomic configure.in libapr.dsp mmap shmem
build docs libapr.mak network_io strings
[root@centos6 apr-1.6.3]# ./configure --prefix=/app/apr (开始编译)
[root@centos6 apr-1.6.3]#make -j 4 && make install
[root@centos6 apr-1.6.3]# ls /app
apr
[root@centos6 apr-1.6.3]# cd ..
[root@centos6 httpd2.4]# ls
apr-1.6.3 apr-util-1.6.1 httpd-2.4.29
apr-1.6.3.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.29.tar.bz2
[root@centos6 httpd2.4]# cd apr-util-1.6.1
[root@centos6 apr-util-1.6.1]# ls
aprutil.dep build.conf docs LICENSE redis
aprutil.dsp build-outputs.mk encoding Makefile.in renames_pending
aprutil.dsw CHANGES export_vars.sh.in Makefile.win strmatch
aprutil.mak CMakeLists.txt hooks memcache test
apr-util.pc.in config.layout include misc uri
apr-util.spec configure ldap NOTICE xlate
apu-config.in configure.in libaprutil.dep NWGNUmakefile xml
buckets crypto libaprutil.dsp README
build dbd libaprutil.mak README.cmake
buildconf dbm libaprutil.rc README.FREETDS
[root@centos6 apr-util-1.6.1]# ./configure --prefix=/app/apr-util --with-apr=/app/apr
[root@centos6 apr-1.6.3]#make -j 4 && make install

第三部:编译安装httpd2.4
[root@centos6 apr-util-1.6.1]# cd ..
[root@centos6 httpd2.4]# cd httpd-2.4.29
[root@centos6 httpd2.4]#./configure --prefix=/app/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/app/apr/ \
--with-apr-util=/app/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
[root@centos6 httpd-2.4.29]# make -j 4 && make install

[root@centos6 httpd-2.4.29]# cd /app
[root@centos6 app]# ls
apr apr-ut httpd24

第四步:环境变量。
[root@centos6 httpd24]# cd bin
[root@centos6 bin]# ls
ab apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve
apachectl checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs

[root@centos6 bin]# echo 'PATH=/app/httpd24/bin/:$PATH' > /etc/profile.d/httpd24.sh
[root@centos6 bin]# . /etc/profile.d/httpd24.sh
[root@centos6 bin]# apachectl start
第五步:用户和组
(这里注意:如果是最小化安装,apache 用户是没有的,要手工进行创建。
[root@centos6 bin]# getent passwd apache
apache:x:48:48:Apache:/var/www:/sbin/nologin
创建的方法是:
useradd -r -s /sbin/nologin apache
[root@centos6 bin]#ss -ntlp

第六部:配置文件
[root@centos6 bin]# cd /root/httpd2.4/
[root@centos6 httpd2.4]# ls
apr-1.6.3 apr-util-1.6.1 httpd-2.4.29
apr-1.6.3.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.29.tar.bz2
[root@centos6 httpd2.4]# cd httpd-2.4.29/
[root@centos6 httpd-2.4.29]# ls
apr-1.6.3 apr-util-1.6.1 httpd-2.4.29
apr-1.6.3.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.29.tar.bz2
[root@centos6 httpd2.4]# cd httpd-2.4.29/
[root@centos6 httpd-2.4.29]# cd /app/httpd24/conf/
[root@centos6 conf]# ls
extra httpd.conf magic mime.types original
[root@centos6 conf]# vim /app/httpd24/conf/httpd.conf
在centos6编译安装httpd-2.4方法一
user apache
group apache

[root@centos6 conf]# apachectl restart (重启服务)
[root@centos6 conf]# ps aux
在centos6编译安装httpd-2.4方法一

现在就可以试试啦:
[root@centos7 ~]# curl 192.168.10.107
<html><body><h1>It works!</h1></body></html>
它的路径放在:
在centos6编译安装httpd-2.4方法一
[root@centos6 ~]# cd /app/httpd24/
[root@centos6 httpd24]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
[root@centos6 httpd24]# cd htdocs
[root@centos6 htdocs]# ls
index.html

第七步:开机脚本。

设为开机启动:
[root@centos6 conf]# echo "/app/httpd24/bin/apachectl start" >> /etc/rc.d/rc.local
开机重启。
最好写脚本:
cp /etc/init.d/httpd /etc/init.d/httpd24
vim /etc/init.d/httpd24
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
在centos6编译安装httpd-2.4方法一
[root@centos6 ~]# ll /etc/init.d/httpd24
读写执行的权限。
chkconfig --add httpd24
chkconfig httpd24 on
service httpd24 start
reboot

vim /etc/rc.d/rc.local

/app/httpd24/bin/apachectl start 就可以删啦。

转载于:https://blog.51cto.com/13466315/2091959

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值