httpd服务编译安装 

  httpd服务就是网页服务,不过Linux现在流行的httpd服务为apache服务。

我们这里编译安装的htppd服务也为apache服务。


    httpd服务的功能及作用应该不需要多做介绍了,我们直接进入正题,开始编译及安装。

    首先需要先到官网下载httpd的编译安装包以及依赖服务包

    

    这次编译安装的是apache 2.4版本的

    依赖包为apr,apr的版本也必须为1.4以上的,否则不兼容

    

    在这下载httpd编译包:

    http://httpd.apache.org/

    httpd服务编译安装_httpd服务编译安装

    

    在这下载apr依赖包

    http://apr.apache.org/download.cgi

     httpd服务编译安装_httpd服务编译安装_02

    我这边都下载的bz2格式的源码包


     下载完成后放在自己家目录或者自己喜欢的位子。

    我放在了root家目录


    下载完成放好地方后我们先解压缩


    

yum -y install pcre        :这个依赖文件需要安装,但是可以直接yum安装不需要编译安装

tar -xvf apr-1.5.2.tar.bz2        :解压缩apr包先
cd apr-1.5.2                :进入apr目录
./configure --prefix=/usr/local/apr    :编译make文件,并且将文件安装目录设为/usr/local/apr 

make && make install    :开始编译安装

安装完apr之后

cd ../   :回到上层目录
tar -xvf apr-util-1.5.4.tar.bz2    :解压缩apr-util依赖包
cd apr-util-1.5.4        :进入目录
./configure --prefix=/usr/local/apr-util    :编译make文件,并且将文件安装目录设为/usr/local/apr-util

make && make install     :开始编译安装

安装完apr-util之后

开始编译安装httpd服务

tar -xvf httpd-2.4.16.tar.bz2     :解压源码包
cd cd httpd-2.4.16                :进入目录

./configure --prefix=/usr/local/apache --sysconfdir=/etc tpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre 
    --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-mpms-share=all --with-mpm=event --enable-modules=all
        :编译make文件
        
        
    --prefix=/usr/local/apache:文件安装路径
    --sysconfdir=/etc tpd:配置文件安装路径,安装目录与配置文件目录,不能与已经安装的httpd配置文件目录文件一样,否则会冲突
    --enable-so:允许动态添加模块,默认已经开启,但是加上更安全保证一定会开启
    --enable-ssl:编译启用ssl模块
    --enable-cgi:表示启用CGI模块,
    --enable-rewrite:进行URL重写,可以将要访问的URL路径,重写成另一个URL路径
    --with-zlib:压缩库,用于压缩的
    --with-pcre:可以使用正则表达式,使用这项还需要,安装pcre-devel这个包
    --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/:指定apr的安装路径,没有特殊情况的话不需要指定,会全盘搜索
     httpd2.4的apr需要1.4版本及以上
    
    --enable-mpms-share=all --with-mpm=event:指定开启mpm的所有模块,并且指定mpm为event模式
    --enable-modules=all:将所有模块都编译了,但是编译了也可以不用,也可以使用most,代表编译大部分会用到的模块
   
   
   
   
  make && make install    :开始编译安装
   
   安装完成后可以启用了:
   先查看80端口是否被占用
    ss -tnlp 
    
    
    由于没有服务脚本需要到安装的目录下找启动程序:
    /usr/local/apache/bin/
     apachectl:这个就是启动程序了
    将apachectl加入到PATH中
       vim /etc/profile.d/httpd.sh    :编辑一个httpd.sh文件
            export PATH=/usr/local/apache/bin/:$PATH       :将这句话加入进去
     
    重读下配置文件
     source /etc/profile.d tpd24.sh
    
    启动服务:
    apachectl
    
    
    /usr/local/apache目录下的目录说明:
   /bin:各种二进制程序,和各种工具
   /cgi-bin:服务器端脚本存放位置
    docs:默认页面文件存放位置,编译安装的默认位置不在www下的
   /error:一大堆的错误页面,出现404啊之类的时候的页面,都是放在这个目录下的,也可以自己定义错误页面是什么样的
   /icons:默认的图标位置
   /include:头文件,一般都是连接到include目录下 
    ln -sv /usr/local/apache/include /usr/include tpd24
   /logs:日志存放位置
   /man:帮助文件存放位置
   /manual:手册,参考手册,比man更详细,当你访问这个站点的时候后面加上manual就可以查看了,不过需要定义
    例如:192.168.1.1/manual
    Alias /manual/ /usr/local/apache/manual:在主配置文件中添加manual的URL路径
   /modules:模块存放位置
    
    
  /etc/httpd/:配置文件目录
   httpd.conf:主配置文件
       extra:额外的配置文件,又主配置文件调用,不过一般刚装的httpd都是被注释的 
    在主配置文件中,找到对应项启用就好
    例如:Include /etc tpd/extra tpd-manual.conf ,添加manual的URL路径,就可以访问manual手册了,不过可能会不行
     mpm:Include /etc tpd/extra tpd-mpm.conf :添加mpm
    修改完成后重启下服务,需要stop,start来重启
    
    添加额外配置文件,可能会出现错误,需要自行判断,注释哪些
    
    
   到这里编译安装并且启动服务后就可以访问你的网站了。
   
   这里默认的网站首页在:/usr/local/apache/htdocs

        httpd服务编译安装_httpd服务编译安装_03


安装成功之后显示It works!



    注意:如果安装成功之后不能访问,请确认下自己的防火墙与selinux是否关闭。

        service iptales stop    :临时关闭防火墙

         setenforce 0        :临时关闭selinux


        临时关闭之后在访问如果可以,代表服务已经安装成功了。