• httpd源码编译安装


    什么是编译安装——编译:将源代码变为机器可执行的代码文件。安装:将可执行文件安装到操作系统里,才可以使用。

    一、下载httpd源码包

    在官网上下载httpd源码包http://httpd.apache.org,也可以在linux中输入rpm -qi httpd查看到当前下载源码httpd的网址

    下载到linux的data目录下,然后进行解压:

    [root@ansibledata]#rz
    
    [root@ansibledata]#tar xf httpd-2.4.39

    注意:一定要在解压后的httpd目录下安装,下面的编译需要用到httdp目录下的脚本,所以我用cd httpd把目录切换到httpd中去进入cd httpd-2.4.27/

    二、查看INSTALL、README 这些帮助信息

    查询 cat INSTALL,里边有简单的安装过程,和一些例子

     

    查询 cat README,(what is it ?)里边有一些Apache 的功能介绍

    三、configure脚本(检测当前编译环境)

    (1)./configure --help 查询这个脚本的用法,

    --prefix=PREFIX  指定默认安装总目录, 默认为/usr/local/

    --sysconfdir=/PATH 配置文件安装位置,默认就安装到指定安装总目录的下面

     Optional Features:  需要什么功能

    --disable-FEATURE 关闭某些功能

    --enable-FEATURE 开启某些功能

     

    下面我们就来执行这个脚本,添加一些简单的设置

    手工创建账号:

    [root@ansiblehttpd-2.4.39]#useradd -r -u 80 -d /var/www  -s /sbin/nologin httpd
    

    (1)首先安装development-tools包,因为没有C编译工具,缺少gcc,这时候,我们需要下一个包组development tools

    yum -y groupinstall "Development Tools"

    [root@ansiblehttpd-2.4.39]#yum groupinstall "development tools"

    (2)首次安装包,会有一些提示错误,第一次安装没有一些准备好的包,可以根据提示错误进行安装:

    [root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
    

    (3)我们只需按照提示的错误,把需要的都安装上去(直到没有提示错误)

    先查询缺少的 yum search apr-devel(一般关于开发的都叫 devel)

    再安装 yum -y install apr-devel

    [root@ansiblehttpd-2.4.39]#yum install apr-devel
    

     

    (4)此时缺少apr-util包,按照提示错误来进行下一步安装:

    [root@ansiblehttpd-2.4.39]#yum install apr-util-devel
    
    [root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status

     

     (5)根据提示错误继续往下安装,此时缺少pcre包,安装pcre-devel包

    [root@ansiblehttpd-2.4.39]#yum install pcre-devel
    

     继续执行指定路径的包安装

    [root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
    

    (6)根据提示的错误,安装openssl-devel包:

    [root@ansiblehttpd-2.4.39]#yum install openssl-devel
    

    (7)再执行指定路径的包安装,此时就已经完成指定路径包的安装。

    [root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status
    

    (8)configure脚本完全执行成功(多了一个Makefile)没有Makefile 

     

    四、make和make install编译

    (1)进行make编译,make 编译后,多了很多.o .lo 文件 (二进制文件),在此之前的工作,任何用户都能做,并且都在httpd-2.4.27 这个目录下进行

    [root@ansiblehttpd-2.4.39]#make
    

    (2)make install 安装到指定位置,只有root 能做,此时httpd的编译完成。

    [root@ansiblehttpd]#make install
    

    (3)切换到/app/httpd/bin执行程序目录下,此时去执行服务启动,都必须是./apachectl start,不太方便,我们可以指定变量路径

    [root@ansiblehttpd]#cd /app/httpd/bin
    [root@ansiblebin]#pwd
    /app/httpd/bin
    [root@ansiblebin]#echo 'PATH=/app/httpd/bin:$PATH'  > /etc/profile.d/httpd.sh 定义一个/app/httpd/bin的配置文件路径
    [root@ansiblebin]#apachectl start   启动当前编译的httpd服务

    此时在网上输入本机的IP地址就可以访问信息:

     五、安装后的配置

     导入帮助手册man           

      vim /etc/man_db.conf

      加入一行 MANDATORY_MANPATH                       /app/httpd/man

      

  • 相关阅读:
    定时器
    按键中断部分的理解
    初中数学
    WING IDE 快捷键
    机器学习各种网址
    SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
    Python编码格式导致的csv读取错误
    Oracle中的rownum 和rowid的用法和区别
    oracle配置
    matplotlib命令与格式:标题(title),标注(annotate),文字说明(text)
  • 原文地址:https://www.cnblogs.com/struggle-1216/p/11823980.html
Copyright © 2020-2023  润新知