源码编译安装Apache-附一键部署脚本

1.进入apache官网https://www.apache.org/,点击Download

2.如图选择

3.选择httpd

4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用

一、CentOS6

1.输入命令rz,会弹出对话框可以把windows的文件传到linux中去。


2.在弹出对话框中选择软件包--->添加--->确定。注意尽量将软件放在桌面,我把软件放在D盘,然后通过桌面的快捷方式添加后传到linux中的文件就已经被损坏。传进来的文件会存放到当前目录下。
/usr/local/src/ 目录多为存放软件源码包的地方,所以将他移动到此目录下,但是也不是绝对的只是推荐这么做而已。


3.将传进来的文件解压


4.下面的编译需要用到httdp目录下的脚本,所以我用cd httpd把目录切换到http中去
.configure 这个是个脚本文件, 可以指定软件的安装路径、配置文件路径等等一列参数。
--prefix软件安装路径
--sysconfigdir配置文件的安装路径
还有更多的参数可以通过./configure --help来查看


5.$?可以查询上一命令的执行结果是成功还是失败。通过此命令可以查看./configure是否成功,如果提示需要那么安装包,根据提示安装即可。
echo $? 0为上一命令执行成功,1为上一命令执行失败。


6.如果上一命令执行成果了,那么执行make 根据配置构建程序 make install安装 我这里就把两条命令写在一起了


7.查看安装目录,此时apache就安装完成了


8.软件配置,接下来的步骤就不属于安装的范畴了,为了测试安装没问题,就把软件简单配置一下然后做测试。

  • 设置环境变量要将apache的安装目录写在前面,设置此路径优先于系统中的路径
[root@centos6 htdocs]echo 'export PATH=/app/httpd22/bin:$PATH' >/etc/profile.d/https22.sh
[root@centos6 htdocs]. /etc/profile.d/https22.sh 
[root@centos6 htdocs]echo $PATH
  • 确认方框中的变量在最前面,所以优先于系统变量。

  • 开启服务

  • 查看80端口是否启用

  • 在本机上输入127.0.0.1查看是否能够提供http服务,显示出页面后说明服务成功启动

  • 此时的页面只能是本地访问,要相对外提供服务要把防火墙关闭

  • 使用其他电脑打开页面验证服务没问题


二、一键部署脚本

此脚本适用于centos6与centos7。链接:http://pan.baidu.com/s/1gfu0qiv 密码:j2qf

[root@centos7 httpd]# cat install.sh 
#!/bin/bash
#  -------------+--------------------
# * Filename    :       install.sh
# * Revision    :       2.0
# * Date        :       2017-08-05
# * Author      :       Aubin
# * Description :       install httpd
# *     www.shuaiguoxia.com
#  -------------+---------------------
rm -rf /var/run/yum.pid

#mkdir
mkdir /etc/yum.repos.d/back/ 

#back default repo
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back 

#new repo
cat > /etc/yum.repos.d/aubin.repo <<end
[aubin]
name=aubin
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch
enable=1
gpgcheck=0
end


#remove old httpd
yum remove httpd -y 


#install Package
yum groupinstall "Development tools" -y 
yum install apr-devel.x86_64  apr-util-devel.x86_64 openssl-devel  -y


#judge version
ver=`cat /etc/centos-release | grep [[:digit:]] -o|head -1`

if [ $ver -eq 6 ]
then
         tar xf httpd-2.2.34.tar.bz2
         cd ./httpd-2.2.34
         ./configure --prefix=/app/httpd22/ --sysconfdir=/etc/httpd22/ --enable-ssl 
         make && make install 
         /app/httpd22/bin/apachectl start
         echo 'export PATH=/app/httpd22/bin:$PATH' > /etc/profile.d/httpd22.sh  
         . /etc/profile.d/httpd22.sh
         echo "MANPATH /app/httpd22/man" >> /etc/man.config 
else     
         tar xf httpd-2.4.27.tar.bz2 
         cd ./httpd-2.4.27
         ./configure --prefix=/app/httpd24/ --sysconfdir=/etc/httpd24/ --enable-ssl 
         make && make install
         /app/httpd24/bin/apachectl start
         echo 'export PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd24.sh  
         . /etc/profile.d/httpd24.sh
         echo "MANPATH /app/httpd24/man" >> /etc/man_db.conf 
fi       


echo "Installation Complete !! Ctrl+c exit music"

play ./music.wav &>/dev/null
原文地址:https://www.cnblogs.com/aubin/p/7291298.html