手工编译安装Apache, 版本httpd-2.4.29(免费提供安装包,懒人福利;提供安装脚本)

环境部署:

本次实验以redhat6.5系统为安装对象,(CentOS其他系列也可以)

安装Apache源码包 httpd-2.4.29.tar.bz2

依赖包 pcre-8.41.tar.gz,  apr-1.6.3.tar.bz2 , apr-util-1.6.1.tar.bz2

获取安装包链接:百度云盘

https://pan.baidu.com/s/1HPvV68ICTHkNf-ty1VGXyw

https://pan.baidu.com/s/1h3LBtqCMEAcEugAx6YczGg

https://pan.baidu.com/s/1xSe-UVGowUVAtjfAolSK6w

https://pan.baidu.com/s/1_HkJeSp1fiBIrirtjgoYow

在安装之前卸载掉使用rpm方式安装的httpd

rpm -q httpd                                       #查看系统是否安装有httpd

yum -y remove httpd                            #卸掉rpm安装的httpd

99

解压源码包及依赖包

tar xzvf /root/pcre-8.41.tar.gz -C /opt

tar xjvf /root/apr-1.6.3.tar.bz2 -C /opt

tar xjvf /root/apr-util-1.6.1.tar.bz2 -C /opt

tar xjvf /root/httpd-2.4.29.tar.bz2 -C /opt

100

将依赖包移动到httpd-2.4.29/srclib/目录中

102 

使用yum命令安装配置编译环境组件,gcc gcc-c++   expat-devel   pcre-devel

101


进入到httpd-2.4.29/目录中,进行配置编译安装。

根据服务器的实际应用需要,进行配置时可以灵活设置不同的定制选项,,如指定安装路径,启用字符集支持等,若要详细知道可用的各种配置选项及含义,可以执行“./configure --help”

cd /opt/httpd-z.4.29

./configure \

--prefix=/usr/local/httpd \                   #指定安装路径

--enable-expires \                              #启用缓存模块mod_exprices

--enable-so \                                     #启用动态加载模块

--with-mpm=worker \                           #更改apache运行模式为worker

--enable-rewrite \                                #支持网站地址重写

--enable-charset-lite \                          #启用字符集支持

--enable-cgi                                        #启用CGI脚本程序支持

make && make install        

确认安装结果          

由于指定的安装目录为/usr/local/httpd ,因此httpd服务的各种程序,模块,帮助文件,配置文件等都将复制到此目录下。

108  

在安装后的/usr/local/httpd目录下,主要子目录的用途如下

bin:存放httpd服务的各种执行程序文件,包括主程序httpd,服务控制工具apachectl等

conf;存放httpd服务的各种配置文件,包括主配置文件httpd,conf,增强配置子目录extra等

htdocs;存放网页文档,包括默认首页文件index.html等

logs;存放httpd服务的日志文件

modules;存放httdp服务的各种模块文件

cgi-bin;存放各种CGI程序文件

优化执行路径,添加httpd为系统服务,使其可以使用service命令进行管理

通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时方便,可以将其添加为系统服务,以便通过chkconfig进行管理。将apachectl脚本重定向为/etc/init.d/httpd ,并在文件开头添加chkconfig识别配置,然后再将其添加为标准的系统服务。

grep -v "#" bin/apachectl >/etc/init.d/httpd

vim /etc/init.d/httpd

#!/bin/bash                                               #shell脚本必要注释

#chkconfig:2345 85 35                              #服务识别参数,在级别2345中启动;启动和关闭的顺序分别为85,35

#description:Apache is a web server               #服务描述信息

105  

chmod 755 /etc/init.d/httpd                                   #给服务脚本赋予执行权限

chkconfig --add httpd                                           #将httpd加入系统服务

chkconfig httpd on                                                #设置httpd开机自启

ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf         #给主配置文件httpd.conf生成一个链接文件,方便操作

这样可以使用service命令管理httpd服务了

service httpd start   #开启

service httpd stop   #关闭

service httpd restart   #重启

106

更改apache的主配置文件httpd.conf

vim /etc/httpd.conf

Listen 192.168.30.15:80         
#Listen 80

ServerName www.example.com:80    




103

104

关闭防火墙,selinux功能

109

在浏览器中输入ip 进行访问,可以看到apache的默认首页。

107

为了以后安装方便,整理出一个apache安装脚本。

vim apache.sh

#!/bin/bash
#this is  apache

date
#判断光盘是否挂载
df -h | grep /mnt >/dev/null
if [ $? -ne 0 ]
  then
      mount /dev/sr0 /mnt >/dev/null
   fi
#创建yum仓库
rm -rf /etc/yum.repos.d/*
echo -e "[a]\nname=test\nbaseurl=file:///mnt\nenabled=1\ngpgcheck=0" >/etc/yum.repos.d/a.repo
yum -y install gcc gcc-c++ expat-devel make pcre-devel &>/dev/null
tar xzvf /root/pcre-8.41.tar.gz -C /opt &>/dev/null
tar xjvf /root/apr-1.6.3.tar.bz2 -C /opt &>/dev/null
tar xjvf /root/apr-util-1.6.1.tar.bz2 -C /opt &>/dev/null
tar xjvf /root/httpd-2.4.29.tar.bz2 -C /opt &>/dev/null
cd /opt
mv apr-1.6.3/ httpd-2.4.29/srclib/apr
mv apr-util-1.6.1/ httpd-2.4.29/srclib/apr-util
mv pcre-8.41/ httpd-2.4.29/srclib/pcre
#进入到apache目录进行配置,编译安装
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-rewrite --enable-mods-shared=most --with-mpm=worker --enable-charset-lite --enable-so --enable-cgi
make && make install &>/dev/null
#优化执行路径,加入httpd到系统服务
grep -v "#" /usr/local/httpd/bin/apachectl >/etc/init.d/httpd
sed -i '1i #!/bin/bash\n#chkconfig:2345 80 40\n#description:apache is a web server' /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
#监听地址根据实际情况进行更改
sed -i '51c Listen 192.168.30.15:80' /etc/httpd.conf
sed -i '52c #Listen :80' /etc/httpd.conf
service httpd start
service iptables stop
setenforce 0
date
echo "apache已经安装完成"

112  

111

赋予脚本执行权 限。

chmod 755 apache.sh

猜你喜欢

转载自blog.51cto.com/13728740/2158576
今日推荐