您的位置:首页 > 理论基础 > 计算机网络

Yum仓库搭建及httpd源码编译(centos 6)

2017-08-19 15:08 225 查看
Yum仓库搭建及httpd源码编译

一 .yum本身也有配置文件,主要指向仓库的位置以及相关的各种配置信息;每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置,配置文件有两部分组成:

主配置文件:
     /etc/yum.conf 为各仓库指向提供公共配置

     /etc/yum.repo.d/*.repo 为仓库的指向提供配置

      yum的repo配置文件中可用变量

      $releasever 当前OS发行版的主版本号

      $arch 平台 x86_64 、i386 、i486等

      $basearch、仓库配置文件格式

   2.[base] 仓库名称

     name=CentOS-$releasever - Base 定义一个应用名称(可省)

     baseurl=file:///misc/cd yum源的寻找路径(将本地光盘作为yum源)

     gpgcheck=1 需要检查key =0 不需要检查key

     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 key的寻找路径

     enabled=1 仓库启用 =0 仓库禁用

     到此本地yum源完成

 


 二.  httpd源码编译

 



0 准备工作

查看相同的软件

rpm -qa "httpd*" yum remove httpd



安装开发包组(因为源码是通过c语言来编译的,所以在编译时需要gcc等工具来对源码进行操作)
安装apache之前需要安装编译需要的环境"Development tools"这个是编译使用的必须的环境包,使用下面的命令可以安装。



 

 


       2 .下载httpd的源码并解压缩

tar xvf httpd-2.2.34.tar.gz -C /usr/local/src/httpd22
cd /usr/local/src/httpd22



3 .解压缩后会生成一个相应的软件包目录,进入后可以看很多文件和目录,包括也有可执行的文件,其中configure就是我们需要配置使用的执行文件,里面还有说明文档可以查看软件的介绍和使用帮助说明(README,
INSTALL)。



 4使用configure进行配置需要执行"./configure",可以使用"–help"命令查看后面可以使用的选项;不加任何选项也可,"–prefix"可以指定将软件安装到
哪个目录下,如果不加此选项,默认会安装到"/usr/local/src/httpd22"下面,其他选项可以现在使用,也可以后期要使用时再定制,这也就是使用源码安装 的好处。如:模块等等。
开始编译源码包(切记当前目录是在/usr/local/src/httpd22/)

./configure –prefix=/app/httpd22 –sysconfdir=/etc/httpd22/ && make && make install
--prefix=/app/httpd22 #httpd服务安装路径 --sysconfdir=/etc/httpd22#httpd服务配置文件路径



错误排查:通常编译报错提示的"xxx not found"这些都是我们安装的软件所依赖的包,而你的环境没有安装导致的错误,安装即可。

而安装这些依赖包通常都是缺少的开发包所以我这边安装的都是以 ` ***-devel `的依赖包。我啰嗦这么多是基于性能上考虑,尽量减少不必要的安装包来减少服务器的压力。


安装一下依赖就可解决问题

yum install apr-devel -y

yum install apr-util-devel -y

yum install pcre-devel –y



5 生成Makefile文件进行make install安装


-j参数是加速编译 2是调用CPU的两个核心来编译
make install就是把编译好的文件进行安装"

注释:-j参数后面跟的数字是你的CPU可用的核心数不能超过实际的核心数量。
make编译时系统默认是值是 make -j 1(所以你CPU是单核的话就不用加
-j参数了,直接make编译就可以了,只不过花费的时候可能会长一些。)
6
  软件配置

    准备环境变量

            echo 'export PATH=/app/httpd22/bin:$PATH' > /etc/profile.d/httpd22.sh

           . /etc/profile.d/httpd22.sh

           echo $PATH

#这里是将/etc/init.d/httpd直接放在了PATH变量中,然后启用变量生效,这样我们直接可以运行httpd start 就可以启动服务了



7     调试Apache服务

        apachctl start

        ss -ntl 80端口打开即成功

        http://本机IPt/
         vim /app/httpd22/htdocs/index.html

          ` ss -tunl | grep 80 ` //查看80端口已经打开这时打开浏览器访问你的IP地址就可以看到80端口的服务已经可以正常访问



     配置man地址

              vim /etc/man.config(centos 6)

              vim /etc/man_db.config(centos 7)

     加一行

              MANPATH /app/httpd22/man



 就到这了~~~~~~下次见




 

 

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: