centos7下Apache源代码安装

Linux源码安装步骤


获取源码:
将软件的源码下载至/usr/local/src解压。
查看README文件
解压后查看INSTALL与README文件
创建Makefile文件:
执行./configure命令,生成Makefile文件。
编译:
执行make命令将源码编译成二进制文件。
安装:
执行make install命令将上一步编译好的二进制文件安装到指定的目录中去。

具体操作

使用版本


HTTP Server 2.4.34
APR 1.6.3
APR-util 1.6.1


前提环境 – 安装开发者工具


yum –disablerepo=* –enablerepo=c7-media groupinstall Development Tools -y


从官方网下载并上传到服务器解压


tar -zxvf httpd-2.4.33.tar.gz            -C /usr/local/src
tar -zxvf apr-1.6.3.tar.gz                 -C /usr/local/src
tar -zxvf apr-util-1.6.1.tar.gz           -C /usr/local/src


1、 首先对apr进行操作

进入到apr解压目录内进行配置


./config –prefix=安装路径
“””
不指定prefix
则可执行文件默认放在/usr /local/bin,
库文件默认放在/usr/local/lib,
配置文件默认放在/usr/local/etc 1.6.1

“””
./config    - -prefix=/usr/local/apr       #我的操作
[root@localhost apr-1.6.3]# ls |grep Makefile
Makefile
Makefile.in
Makefile.win


进行mak二进制编译和安装二进制文件


make && make install              #编译完成后安装


2、apr-util

进入到apr-utill解压目录内进行配置


./config - -prefix=安装路径
             - - with-apr=PATH
      #apr的完整路径

./config    - -prefix=/usr/local/
                - -with-=/usr/local/apr/bin/apr-1-config
              


进行mak二进制编译和安装二进制文件


make && make install              #编译完成后安装


3、httpd

进入到httpd解压目录内进行配置


./config    - -prefix=/usr/local/apache
                - -sysconfdir=/etc/httpd
                - -with-=/usr/local/apr/bin/apr-1-config
              
                 - -with=/usr/local/apr-util/bin/apu-1-config #apr的完整路径 apr-util的完整路劲
                 - -with-included-apr     


进行mak二进制编译和安装二进制文件


make && make install              #编译完成后安装


后续处理

配置环境变量PATH

vim /etc/profile

53   PATH=$PATH:/ust/local/apache/bin              #apache的bin目录
54   export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

man手册

vim /etc/man_db.conf

22   MANDATORY_MANPATH /ust/local/apache/man

lib

vim /etc/man_db.conf/apache.conf

#输入lib目录
              /usr/local/apache/lib

ldconfig #启动
ldconfig -pv |grep apache #查询

libaprutil-1.so.0 (libc6,x86-64) => /usr/local/apache/lib/libaprutil-1.so.0
libaprutil-1.so (libc6,x86-64) => /usr/local/apache/lib/libaprutil-1.so
libapr-1.so.0 (libc6,x86-64) => /usr/local/apache/lib/libapr-1.so.0
libapr-1.so (libc6,x86-64) => /usr/local/apache/lib/libapr-1.so

错误:

apa-util:make编译时
这里写图片描述

解决办法

yum –disablerepo=* –enablerepo=c7-media install expat-devel -y



httpd:configure配置
这里写图片描述

解决办法

#将解压的apr和apr-util拷贝到httpd的srclib目录下
cp -r /usr/cal/src/apr-1.6.3 /usr/local/src/httpd-2.4.33/srclib/apr
cp -r /usr/cal/src/apr-util-1.6.1 /usr/local/src/httpd-2.4.33/srclib/apr-util



httpd:configure配置
这里写图片描述

解决办法

yum –disablerepo=* –enablerepo=c7-media install pcre-devel -y


编写httpd控制脚本

1、进入/etc/init.d/目录下

#创建httpd文件,写入以下代码

#!/bin/bash          
#chkconfig: 2345 20 80        #chkconfig必须和description一起使用,在2、3、4、5级别下默认为on
# description: httpd  server    #20代表开机第二十个开启,80代表关机第八十个关掉 
prong=/usr/local/apache/bin/httpd          #httpd命令文件
lock=/var/lock/subsys/httpd          #如果httpd文件存在,则httpd在运行
start () { 
     if [ -e $lock ] ; then       #判断锁文件是否存在
         echo  "httpd is started"
       fi
     echo "starting..."
   $prong -k  start  &>/dev/null && echo "ok" && touch $lock   &&  echo "ok " || echo "fail"  
}     


stop ()  {
     if [ !-e $lock ] ; then
            echo  "httpd is stop "
          fi
        echo "stoping..."
      $prong -k  stop  &>/dev/null && echo "ok" && rm -rf  $lock   &&  echo "ok " || echo "fail"  

 }

status () {
        if [ -e $lock ] ;  then
  echo -e " httpdserver is  ACTIVE"
   httpdid=`ps aux |grep httpd |head -n 1 |awk '{print $2}'`
 echo "PID is $httpdid"
   else
  echo  "httpd is stop "
  fi

}

case "$1" in     # $1:位置变量。 执行命令时'第一个'自己输入的字符串。server  httpd  start   'start'就是第一个位置变量
start)
  start;;
stop)
  stop;;
restart)
  stop
  start;;
status)
   status ;;
*)
echo "Usage: /etc/init.d/network {start|stop|status|restart";;

esac


2、验证

server http star/stop/restart/status #四个分别验证一下
netstat -tupln server http start和restart,80端口号存在则代表成功

猜你喜欢

转载自blog.csdn.net/qq_41459660/article/details/81392862