百度 linux源码安装,手工编译安装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

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

在安装之前卸载掉使用rpm方式安装的httpdrpm -q httpd                                       #查看系统是否安装有httpd

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

edcf86eb2fd4d02035227dbc5bbd8439.png

解压源码包及依赖包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

7e43671b9adc0546945cacfd5810a93a.png

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

d85672b65a84967b462613c57d7866b8.png

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

7550fe4bc33f4988dd965a069b55a499.png

进入到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服务的各种程序,模块,帮助文件,配置文件等都将复制到此目录下。

25697f1ca27c4ac8950aaa18dba09ac4.png

在安装后的/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               #服务描述信息

99c94226392cc110802be6482936f42b.png

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   #重启

6e95dab08acaf6ae63ca8b755e40a1e4.png

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

Listen 192.168.30.15:80

#Listen 80

21c3321701e692ba4e2381f2e9e2bc75.png

bbbb0255086d625d83264f2f5f51d88b.png

关闭防火墙,selinux功能

c892f4ed5b9b401a5d29587b2a35f1ae.png

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

7006913ef87df7c6bc2de69067fa63bf.png

为了以后安装方便,整理出一个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已经安装完成"

8b0a79d7fee2580f21ea480c4c7bedbf.png

3bca8eca087cf2cd9d13c6f98eae20d1.png

赋予脚本执行权 限。

chmod 755 apache.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值