您的位置:新葡亰496net > 电脑系统 > 4的多种方法详解,软件包管理

4的多种方法详解,软件包管理

发布时间:2019-11-10 07:16编辑:电脑系统浏览(179)

    1.进入apache官网

    前言

    目录

    • 软件运转情状介绍
    • 包微处理器
    • rpm 包微电脑的选取
    • yum rpm包微电脑前端工具的运用
    • 编写翻译安装

    新葡亰496net 1

    大家使用linux的进度中,一定会用到httpd那个服务,在centos7上,私下认可安装的httpd正是2.4本子,我们都知情,2.4本子相对早前的版本已经做了修改,用起来更为有益于,可是大家的centos6上,暗中认可安装的版本是2.2,那么,借使大家想要在centos6上设置httpd2.4本子的话,大家要如何是好吗?

    风度翩翩、软件运营蒙受

    • ABI(Application Binary Interface) 招致差别连串的文件不相称,linux据守ELF标准,Windows遵守PE标准

    • API(Application Programming Interface)是编程使用的群集接口,linux遵从POSIX典型

    • 先后从源代码调换为二进制可实践文件经历的相似经过:
      程序源代码--->预管理--->编写翻译--->汇编--->链接

    • 链接将相继模块之间互相引用部分管理好,使各样模块之间能够无误衔接,分为静态链接动态链接

      • 静态链接 libxxx.a

        • 把程序对应的重视库复制大器晚成份到包
        • 放置程序包
        • 提拔难,需另行编写翻译
        • 侵占相当多空间,迁移轻易
      • 动态链接 libxxx.so

        • 只把正视加做叁个动态链接
        • 连年指向
        • 攻下少之又少空间,进级有助于
    • 系统开拓语言:C,C
      接收开荒语言:Java,Python,Go

    2.如图选择

    本文中,作者会给大家介绍三种办法,来促成在centos6上编写翻译安装httpd2.4版本。

    二、包微机

    新葡亰496net 2

    艺术黄金年代 独家编写翻译法

    (风流洒脱卡塔 尔(英语:State of Qatar)包的归类、命名、管理

    • 二进制应用程序组成:
      二进制文件、库文件、配置文件、支持文件

    • 程序包微处理器:将编写翻译好的应用程序的各组成文件打包三个或多少个程序包文件,进而方便急忙地达成程序包的安装、卸载、查询、进级和校验等管理操作

      • dpkg包管理器:Debian,文件格式.deb
      • rpm包微机:Redhat,文件格式.rpm
    • 源代码包命令格式:name-VERSION.tar.gz|bz2|xz

    • rpm包命名格式:name-VERSION-release.arch.rpm

    • 将软件包拆分成多少个包,便于管理、按需安装

      • Application-VERSION-ARCH.rpm 主包
      • Application-devel-VELX570SION-ARCH.rpm 开荒子包
      • Application-utils-VEENCORESION-ARHC.rpm 工具子包
      • Application-libs-VERSION-ARHC.rpm 库子包

    3.选择httpd

    1、下载源码并解压缩

    (二)包依赖

    • 包里面或然存在依附关系,撤消包信任的管理工科具

      • yum: rpm包管理前端工具
      • apt-get: deb包管理前端工具
    • ldd 查看二进制造进度序注重的库文件,如ldd /bin/cat

    • ldconfig 加载库文件
      /sbin/ldconfig -p: 展现本机已经缓存的装有可用库文件名及文件路线映射关系

    • 布局文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
      缓存文件:/etc/ld.so.cache

    新葡亰496net 3

    我们得以应用yum info httpdyum info apr来查阅那五个服务的官方网站,然后大家去官方网站下载最新的天下太平版本:

    (三卡塔尔国rpm包基本知识

    • rpm包文件组成:

      • rpm包内的应用程序
      • rpm包元数据:名称、版本、信任性、描述等
      • 新葡亰496net,安装、卸载时运营的剧本
    • 数据库/var/lib/rpm包含:

      • 程序包名称及版本
      • 依据关系
      • 效率表明
      • 包安装后生成的各文件路线及校验码消息
    • 拿到程序包的门路

      • 系统光盘、官方服务器
        境内镜像:
        http://mirrors.aliyun.com
        http://mirrors.sohu.com
        http://mirrors.163.com
      • 相关官网
      • 其三方协会:Fedora-EPEL (Extra Packages for Enterprise Linux),注意第三方包要检查来源合法性、程序包完整性

    4.下载八个包,2.2为CentOS6利用,2.4为CentOS7选取

    新葡亰496net 4

    三、rpm 包微处理机

    新葡亰496net 5

    新葡亰496net 6

    (一)rpm 包安装

    • 语法:rpm {-i|--install} [install-options] PACKAGE_FILE…

    • 选项:

    -i                              //安装
    -v                              //显示安装过程
    -vv                             //显示详细过程
    -h                              //以#符号显示执行进度
    --test                          //测试安装,但不真正执行安装
    --nodeps                        //忽略依赖关系
    --replacepkgs| replacefiles     //覆盖安装
    --nosignature                   //不检查来源合法性
    --nodigest                      //不检查包完整性
    --noscripts                     //不执行程序包脚本
    
    • 实验:安装tree软件包,展现安装进度

    新葡亰496net 7

    一、CentOS6

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

    新葡亰496net 8


    2.在弹出对话框中采用软件包--->增加--->明确。注意尽量将软件放在桌面,小编把软件放在D盘,然后通过桌面包车型客车火速格局增加后传到linux中的文件就已经被弄坏。传进来的公文子禽寄放到当前目录下。
    /usr/local/src/目录多为寄存软件源码包的地方,所以将他活动到此目录下,但是亦非绝对的只是引入这么做而已。

    新葡亰496net 9


    3.将传进来的文本解压

    新葡亰496net 10


    4.上边包车型大巴编写翻译要求采纳httdp目录下的台本,所以笔者用cd httpd把目录切换成http中去
    .configure 那些是个本子文件, 能够钦点软件的设置路线、配置文件路线等等一列参数。
    --prefix软件安装路线
    --sysconfigdir配备文件的装置路线
    还会有越多的参数可以由此./configure --help来查看
    新葡亰496net 11


    5.$?可以查询上一发令的推行结果是顺理成章依然诉讼失败。通过此命令能够查阅./configure是或不是成功,要是提醒须求那么安装包,遵照提醒安装就可以。
    echo $? 0为上一命令推行成功,1为上一指令试行破产。

    新葡亰496net 12


    6.如若上一下令施行成果了,那么推行make依附配置营造程序make install设置 我那边就把两条命令写在联合了

    新葡亰496net 13


    7.查看安装目录,当时apache就设置到位了
    新葡亰496net 14


    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
    
    • 承认方框中的变量在最后面,所以优先于系统变量。

    新葡亰496net 15

    • 敞开服务

    新葡亰496net 16

    • 翻开80端口是或不是启用

    新葡亰496net 17

    • 在本机上输入127.0.0.1翻看是还是不是能够提供http服务,呈现出页面后证实服务成功运转

    新葡亰496net 18

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

    新葡亰496net 19

    • 行使此外Computer展开页面验证服务没难点

    新葡亰496net 20


    上面附上官方网址地址:

    (二)rpm 包升级

    • 语法:
    rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
    rpm {-F|--freshen} [install-options] PACKAGE_FILE...
    //U和F的区别:当存在旧程序,都执行升级;当不存在旧程序,U选项执行安装,F选项跳过
    
    • 选项
    --oldpackage        //降级
    --force             //强制安装
    
    • 注意:
      1、内核能够多版本并存,故不引入对根本举办进级换代操作,直接设置新本子就能够
      2、若原前后相继的陈设文件有修改,进级后将不掩没旧配置文件,新布局文件以追加后缀.rpmnew艺术存在

    • 实验:升级tree程序

    新葡亰496net 21

    二、后生可畏键布署脚本

    此脚本适用于centos6与centos7。链接: 密码: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
    

    httpd官网:

    (三)rpm 包查询

    • 语法:rpm {-q|--query} [select-options] [query-options]

    • 选项:

    // select-options
    -a                           //所有包
    -f                           //查看指定的文件由哪个程序包安装生成
    -p rpmfile                   //针对尚未安装的程序包文件做查询操作
    --whatprovides CAPABILITY    //查询指定的CAPABILITY由哪个包所提供
    --whatrequires CAPABILITY    //查询指定的CAPABILITY被哪个包所依赖
    
    // query-options
    --changelog                  //查询rpm包的changelog
    -c                           //查询程序的配置文件
    -d                           //查询程序的文档
    -i                           //information
    -l                           //查看指定的程序包安装后生成的所有文件
    --scripts                    //程序包自带的脚本
    --provides                   //列出指定程序包所提供的CAPABILITY
    -R                           //查询指定的程序包所依赖的CAPABILITY
    
    • 实验:
      1.查看/bin/grep文件由哪些包生成
      2.翻看光盘下zlib文件的详细音讯

    新葡亰496net 22

    3.查询grep程序的配备文件、文书档案

    新葡亰496net 23

    apr官网:

    (四)rpm 包删除

    • 语法:rpm {-e|--erase} [options] PACKAGE_NAME ...

    • 选项:

    --allmatches     //删除匹配包名的所有版本程序包
    --nodeps         //忽略依赖关系
    --noscripts      //不执行程序包脚本
    --notriggers     //不执行触发器脚本
    --test           //测试删除,不实际删除
    
    • 实验:卸载tree程序

    新葡亰496net 24

    大家能够去官方网址下载最新的安宁版本,这里,作者下载的是apr-1.6.2.tar.gz,apr-util-1.6.0.tar.gz,httpd-2.4.28.tar.bz2,接下去的尝试,就以笔者下载的本子为示范,给大家演示怎么着设置。

    (五)rpm 包校验

    • 包校验:将当和姑件音讯与rpm数据库中包文件的元数据相相比

    • 语法:rpm {-V|--verify} [select-options] [verify-options]

    • 选项:

    // select-options
    select-options 选项同rpm查询中的相应选项
    
    // verify-options
    --nodeps       //不校验包依赖
    --nodigest     //不校验包完整性
    --nofiles      //不校验包文件属性
    --noscripts    //不执行校验脚本
    --nosignature  //不校验来源合法性
    
    • 包完整性验证加密算法:SHA256;来源合法性验证:索罗德SA
      验证包文件完整性和签名:rpm -K|checksig rpmfile

    • 加密措施:

      • 对称加密:加密、解密使用相符秘钥
      • 非对称加密:秘钥成对,公钥对曾外祖父开,私钥不可能公开
    • 导入公钥:rpm --import PathToGPGKeys

    • 光盘根目录有公钥:以RPM-GPG-KEY千帆竞发的文书,如CentOS 7光盘根目录的RPM-GPG-KEY-CentOS-7文件

    • 翻看当前导入的公钥:rpm -qa "gpg-pubkey*"

    • 尝试:校验vim-common包,有报告急方提醒,导入公钥后再度校验成功进行

    新葡亰496net 25

    咱俩接受rz命令,将大家下载好的源码包上传至大家的centos6虚构机,大家得以查看一下:

    四、yum rpm 包微机前端工具

    • yum (yellowdog update modifier)能够解决包里面包车型地铁信赖难点,可在七个库之间定位软件包

    • yum设计为C/S架构,服务器端储存包文件和包文件的元数据音信,顾客端实行rpm包管理操作时通过缓存包文件元数据音讯消除包信任性难点,并举行有关操作

    • 服务器通讯公约:http://,https://,ftp://,file://

    [root@centos6 temp]# ll
    total 8004
    -rw-r--r-- 1 root root 1071074 Sep 29 12:27 apr-1.6.2.tar.gz
    -rw-r--r-- 1 root root 565507 Sep 29 12:27 apr-util-1.6.0.tar.gz
    -rw-r--r-- 1 root root 6553163 Oct 15 12:35 httpd-2.4.28.tar.bz2
    

    (风度翩翩卡塔尔yum客商端配置

    • 配备文件路线:
      /etc/yum.conf 全数旅舍的通用配置
      /etc/yum.repos.d/*.repo 仓库指向配置

    • *.repo库房指向配置文件格式

    [repositoryID]     //每个仓库唯一的标识符,一个单词
    name=the description of the repository       //简要介绍
    baseurl=url://the path to the repository     //仓库内repodata目录所在的父目录
    enabled={1|0}       //是否使用此仓库
    gpgcheck={1|0}     //是否检查签名
    gpgkey=url         //公钥的地址
    
    • 布局文件还行的变量名

      • $releasever: 当前OS的发行版的主版本号
      • $arch: 平台,i386,i486,i586,x86_64等
      • $basearch:功底平台,i386, x86_64
    • yum-config-manager yum配置管理工科具

    yum-config-manager --enable repo_name      //启用仓库
    yum-config-manager --disable repo_name     //禁用仓库
    
    • 实验:建构三个Ali云的yum配置文件,文件名aliyun.repo,堆栈ID命名称为aliyun,检查签字
      福如东海:建构布局文件/etc/yum.repos.d/aliyun.repo,文件内容如下:
    [aliyun]
    name=the repository of aliyun
    baseurl=https://mirrors.aliyun.com/centos/$releasever/os/x86_64
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/x86_64/RPM-GPG-KEY-CentOS-7
    

    新葡亰496net 26

    接下去就是解压缩:

    (二卡塔 尔(英语:State of Qatar)yum 命令使用

    • 语法: yum [options] [command] [package ...]

    • 展现yum酒店列表 yum repolist

    yum repolist all          //列出所有仓库列表
    yum repolist enalbed      //列出所有启用的仓库列表,默认
    yum repolist disabled     //列出所有未启用的仓库列表
    

    实施:列出全数启用的库房

    新葡亰496net 27

    • 展现程序包 yum list
    yum list all           //列出所有可获得和已安装的包
    yum list glob_expr     //列出所有符合通配符的包
    yum list available     //列出所有可以安装的包
    yum list installed     //列出所有已安装的包
    yum list updates       //列出所有有更新的包
    
    • 4的多种方法详解,软件包管理。推行:列出全部以gp最早的包
    ![](https://upload-images.jianshu.io/upload_images/6851458-aa552560cf6e7701.png)
    

    最右面一列能够阅览,前三个包以@起首表明已安装,anaconda注脚为设置系统时设置,之后的包未有安装,安装包饭店为aliyun。

    • 安装 yum install
    yum install package1 [package2]...       //安装包
    yum reinstall package1 [package2]...     //重新安装包
    
    • 升级 yum update [package1]...
    yum update             //升级所有已安装的包
    yum update package     //升级package包
    
    • 检查可用晋级 yum check-update

    • 卸载 yum remove|erase package1 [package2]...

    • 翻看程序包详细消息 yum info package1

    • 查看钦赐天性由哪位程序包提供 yum provides|whatprovides feature

    • 消除本地缓存 yum clean all

    • 创设地面缓存 yum makecache

    • 以钦点字符串搜索程序包和轮廓描述yum search string

    • 列出package包的依赖和提供那个重视的主次包,yum deplist package

    • 实验:yum安装、卸载、查询软件包:

    1.查看screen包的详细新闻

    新葡亰496net 28

    2.安装screen包

    新葡亰496net 29

    3.列出screen包的正视音信

    新葡亰496net 30

    4.卸载screen

    新葡亰496net 31

    • 列出yum历史yum history
    yum history info 6    //查看第6条历史的信息
    yum history undo 6    //撤销第6条历史的操作
    yum history redo 6    //重做第6条历史的操作
    
    • 实验:yum history的使用:

    1.查询yum历史

    新葡亰496net 32

    2.询问第6条历史的详细音信,开掘是安装telnet

    新葡亰496net 33

    3.撤回第6条历史的操作,使用undo命令,结果为卸载Telnet

    新葡亰496net 34

    • 包组管理
    yum groupinstall group1 [group2] [...]    //包组安装
    yum groupupdate group1 [group2] [...]     //包组升级
    yum grouplist [groupwildcard] [...]       //按照通配符列出匹配包组
    yum groupremove group1 [group2] [...]     //包组卸载
    yum groupinfo group1 [...]                //显示包组信息
    
    • yum 选项
    --nogpgcheck                 //禁止进行gpgcheck
    -y                           //自动回答为"yes",适于脚本
    -q                           //静默模式,往往和y选项配合使用
    --disablerepo=repoidglob     //临时禁用此处指定的repo
    --enablerepo=repoidglob      //临时启用此处指定的repo
    --noplugins                  //禁用所有插件
    
    • 推行:静默安装telnet.x86_64包

    新葡亰496net 35

    瞩目:-y和-q选项必得抽离技巧何况发挥作用

    tar xvf httpd-2.4.28.tar.bz2
    tar xvf apr-util-1.6.0.tar.gz
    tar xvf apr-1.6.2.tar.gz
    

    五、编写翻译安装

    解压缩现在,大家依然查看一下:

    4的多种方法详解,软件包管理。(豆蔻梢头卡塔尔国C语言源代码编写翻译安装步骤

    1. configure
      configure本子通过参数选项指定安装路线、启用功能等,以顾客内定、以makefile.in文件为模板并检查信任的外界意况,末了生成Makefile文件
    2. make
      make一声令下依附Makefile文件将源代码文件转变来为应用程序
    3. make install
      make install指令将文件复制到钦点目录
    • 瞩目:安装前查询源代码目录的README和INSTALL文件
    [root@centos6 temp]# ls
    apr-1.6.2 apr-1.6.2.tar.gz apr-util-1.6.0 
    apr-util-1.6.0.tar.gz httpd-2.4.28 httpd-2.4.28.tar.bz2
    

    (二卡塔尔国编写翻译安装前筹划

    • 源代码获取:官网、代码托管网址

    • 布置开辟工具和开荒情形
      开采工具:make, gcc等
      付出条件:开拓库,头文件等

    • 达成:安装开辟组件包组
      yum groupinstall "Development tools"

    我们开掘,以后早本来就有了三个公文夹,该手续实现。

    (三卡塔 尔(英语:State of Qatar)编译安装进度

    2、安装所依靠的包组

    首先步,configure脚本选项配置
    • 选项:
    --prefix=/PATH             //指定安装位置,默认为/usr/local
    --sysconfdir=/PATH         //指定配置文件安装位置
    --disable-feature          //指定启用特性
    --enable-feature[=arg]     //指定禁用特性
    
    • 留心:试行configure脚本报错音信中的程序包信任难题,往往是缺点和失误该程序的开销组件,程序包名经常格式为name-devel-VERSION

    在编写翻译安装起来从前,大家要先把所重视的包组安装上,不然在接下去的编写翻译安装进度中会出错。

    第二步,make命令

    设置命令如下:

    第三步,make install命令
    • 能够将第二步和第三步归拢,命令为make && make install
    yum groupinstall "development tools" -y
    yum install pcre-devel -y
    yum install openssl-devel -y
    yum install expat-devel -y
    
    第四步,安装后安顿
    • 二进制造进程序目录导进入国遭逢变量
    echo 'export PATH=/path/to/bin:$PATH' > /etc/profile.d/httpd22.sh
    //将二进制程序添加到PATH变量头部
    . /etc/profile.d/httpd22.sh
    //设置生效
    
    • 导入援帮手册
      编辑/etc/man.config(CentOS 6)或者man_db.conf(CentOS 7)配置文件,加多一条MANPATH(CentOS 6)或MANDATORY_MANPATH(CentOS 7)条约指向扶助手册路线

    安装成功后,大家就足以对apr的分级编写翻译了。

    (四卡塔尔国实验:在CentOS 7上源代码编写翻译安装apache 2.4

    1.系列暗中认可安装了“apache 2.4”的旧版本,先卸载旧版本

    rpm -qa "httpd*"
    yum remove httpd
    

    2.安装开辟工具包组

    yum grouplist
    yum groupinstall "Development tools"
    

    3.将源代码压缩包解压缩至目录/usr/local/src,并且步向解压缩的目录内

    tar xvf httpd-2.4.27.tar.bz2 -C /usr/local/src/
    cd /usr/local/src/httpd-2.4.27/
    

    4.解压缩的源代码目录下有README和INSTALL表达文件可在安装时查询,那个时候目录下未有存在Makefile文件,运营带客户钦定参数的configure脚本,会以客户钦命设置以Makefile.in为模板文件生成Makefile,相同的时间检查客商情况的重视难点

    ls
    ./configure --prefix=/app/httpd24 --enable-so --enable-ssl
    

    新葡亰496net 36

    5.试行configure脚本后频仍会报错,依照错误提醒安装相应包,日常为带devel后缀的开拓包,再施行configure脚本。日常实践configure脚本时会数十次报错,遵照提醒安装各个开采包后,最终会中标实行。如本实验风姿浪漫共出现柒回错误提醒,分别为APR not found,APR-util not found,pcre-config for libpcre not found,mod_ssl configure:error,yum分别设置apr-devel,apr-util-devel,pcre-devel,openssl-devel包。

    yum install apr-devel          //报错APR not found,安装apr-devel
    ./configure --prefix=/app/httpd24 --enable-so --enable-ssl     //再次执行configure脚本
    
    yum install apr-util-devel     //报错APR-util not found,安装apr-util-devel
    ./configure --prefix=/app/httpd24 --enable-so --enable-ssll    //再次执行configure脚本
    
    yum install pcre-devel         //报错pcre-config for libpcre not found,安装pcre-devel
    ./configure --prefix=/app/httpd24 --enable-so --enable-ssll    //再次执行configure脚本
    
    yum install openssl-devel      //报错mod_ssl configure:error,安装openssl-devel
    ./configure --prefix=/app/httpd24 --enable-so --enable-ssll    //再次执行configure脚本
    

    6.尾声成功实施configure脚本

    新葡亰496net 37

    7.实行make命令和make install命令,成功结果如下

    make & make install
    

    新葡亰496net 38

    8.装置完结后,进行连锁安顿,将二进制目录增多到PATH变量中

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

    新葡亰496net 39

    9.导入扶持手册,在/etc/man_db.conf文件,加多新行MANDATORY_MANPATH /app/httpd24/man,并更新mandb数据库

    vim /etc/man_db.conf
    mandb
    

    新葡亰496net 40

    10.开启httpd服务,查看80端口是或不是已经开启,如下图成功开启80端口,至此安装完成。

    新葡亰496net 41

    3、编写翻译安装apr-1.6.2

    咱俩对apr-1.6.2实行编写翻译安装,首先要保管我们具备的操作都以在该公文夹内进行的!

    首先,大家步向目录

    [root@centos6 temp]# cd apr-1.6.2/
    [root@centos6 apr-1.6.2]# ls
    apr-config.in CMakeLists.txt libapr.mak poll
    apr.dep  config.layout libapr.rc random
    apr.dsp  configure LICENSE README
    apr.dsw  configure.in locks  README.cmake
    apr.mak  docs  Makefile.in shmem
    apr.pc.in  dso  Makefile.win strings
    apr.spec  emacs-mode memory  support
    atomic  encoding misc  tables
    build  file_io  mmap  test
    buildconf  helpers  network_io threadproc
    build.conf include  NOTICE  time
    build-outputs.mk libapr.dep NWGNUmakefile tools
    CHANGES  libapr.dsp passwd  user
    

    然后大家对其张开编写翻译安装就可以:

    [root@centos6 apr-1.6.2]# ./configure --prefix=/app/apr
    [root@centos6 apr-1.6.2]# make && make install
    

    编写翻译的授命很简单,只须求钦定叁个索引,要切记这一个目录0.0,接下去我们还有大概会用到。

    编写翻译安装实现后,我们来查阅一下/app目录,看是或不是曾经退换了apr这些文件夹:

    [root@centos6 apr-1.6.2]# ls /app/
    apr
    

    能够看出已经有了这一个文件夹,所以这一步骤我们成功。

    4、编写翻译安装apr-util-1.6.0

    跟上一步骤异常经常,可是有一个亟需小心之处便是,编写翻译apr-util-1.6.0的时候,供给信任apr-1.6.2包,所以还要跟上apr-1.6.2的目录。上面大家就来讲说具体操作。

    首先,大家依然也要进来该目录下:

    [root@centos6 temp]# cd apr-util-1.6.0
    [root@centos6 apr-util-1.6.0]# ls
    aprutil.dep configure.in Makefile.win
    aprutil.dsp crypto  memcache
    aprutil.dsw dbd  misc
    aprutil.mak dbm  NOTICE
    apr-util.pc.in docs  NWGNUmakefile
    apr-util.spec encoding  README
    apu-config.in export_vars.sh.in README.cmake
    buckets  hooks  README.FREETDS
    build  include  redis
    buildconf  ldap  renames_pending
    build.conf libaprutil.dep strmatch
    build-outputs.mk libaprutil.dsp test
    CHANGES  libaprutil.mak uri
    CMakeLists.txt libaprutil.rc xlate
    config.layout LICENSE  xml
    configure  Makefile.in
    

    随后,大家就足以对它举办编写翻译安装了,注意,编写翻译时的代码与刚刚略有差别,要求丰裕apr-1.6.2的目录:

    [root@centos6 apr-util-1.6.0]# ./configure --prefix=/app/apr-util --with-apr=/app/apr/
    [root@centos6 apr-util-1.6.0]# make && make install
    

    编写翻译的一声令下很简短,只需求钦赐三个目录,要铭记那几个目录0.0,接下去大家还或者会用到。

    编写翻译安装完毕后,大家来查看一下/app目录,看是或不是早就转移了apr-util那么些文件夹:

    [root@centos6 apr-1.6.2]# ls /app/
    apr apr-util
    

    能够看出已经有了那一个文件夹,所以这一步骤大家成功。

    5、编写翻译安装httpd-2.4

    同生机勃勃的,首先大家要进入这么些目录:  

    [root@centos6 temp]# cd httpd-2.4.28/
    [root@centos6 httpd-2.4.28]# ls
    ABOUT_APACHE docs  Makefile.win
    acinclude.m4 emacs-style modules
    Apache-apr2.dsw httpd.dep NOTICE
    Apache.dsw httpd.dsp NWGNUmakefile
    apache_probes.d httpd.mak os
    ap.d  httpd.spec README
    build  include  README.cmake
    BuildAll.dsp INSTALL  README.platforms
    BuildBin.dsp InstallBin.dsp ROADMAP
    buildconf LAYOUT  server
    CHANGES  libhttpd.dep srclib
    CMakeLists.txt libhttpd.dsp support
    config.layout libhttpd.mak test
    configure LICENSE  VERSIONING
    configure.in Makefile.in
    

    随之,大家就进展编写翻译安装,编写翻译的命令有个别长,大家写的时候要留意不要少写了东西,不然就能够报错报错报错!或然就好像作者那样,把代码分行写,不过不容争辩要加标志技能够诺。

    [root@centos6 httpd-2.4.28]#./configure --prefix=/app/httpd24 
    > --enable-so 
    > --enable-ssl 
    > --enable-cgi 
    > --enable-rewrite 
    > --with-zlib 
    > --with-pcre 
    > --with-apr=/app/apr/ 
    > --with-apr-util=/app/apr-util/ 
    > --enable-modules=most 
    > --enable-mpms-shared=all 
    > --with-mpm=prefork
    [root@centos6 httpd-2.4.28]# make && make install
    

    由来,编写翻译安装的手续全部说尽。大家可以来测量检验了

    6、测量试验并展开布局

    率先,大家先来查阅一下,大家的80端口是不是处于未有开启的气象:

    [root@centos6 ~]# ss -tnl
    State Recv-Q Send-Q Local Address:Port Peer Address:Port 
    LISTEN 0 128   :::22   :::* 
    LISTEN 0 128   *:22   *:* 
    LISTEN 0 128  127.0.0.1:631   *:* 
    LISTEN 0 128  ::1:631  :::* 
    LISTEN 0 100  ::1:25   :::* 
    LISTEN 0 100  127.0.0.1:25   *:*
    

    能够看出我们的80端口并没有开启,刚毅提议大家必须要翻开,假如大家事先的机器上装过httpd服务,就把他卸载,起码最少也要停下服务,保障我们的80端口是倒闭的景况,否则大家新装置的2.4版本是开行不起来的!

    跟着,大家步入/app/httpd24/bin/这几个目录,把服务开启一下:

    [root@localhost ~]# cd /app/httpd24/bin/
    [root@localhost bin]# ./apachectl start
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
    

    这两天,大家再来查看一下端口开启状态:

    [root@localhost bin]# ss -tnl
    State Recv-Q Send-Q Local Address:Port Peer Address:Port 
    LISTEN 0 128   :::80   :::* 
    LISTEN 0 128   :::22   :::* 
    LISTEN 0 128   *:22   *:* 
    LISTEN 0 128  127.0.0.1:631   *:* 
    LISTEN 0 128  ::1:631  :::* 
    LISTEN 0 100  ::1:25   :::* 
    LISTEN 0 100  127.0.0.1:25   *:*
    

    能够观望,大家的80端口已经张开,接着大家就可以用别样的机械来测试一下了:

    我们在centos7上行使curl命令来测验:

    [root@centos7 ~]# curl 192.168.191.128
    <html><body><h1>It works!</h1></body></html>
    

    测量试验成功。

    由来,大家的尝试已经康健成功,已经打响的在centos6上设置上了httpd2.4版本。

    主意二 三遍编写翻译法

    在上二个试验中,我们利用分别编写翻译的主意把httpd2.4本子安装到了centos6上,可是个别编写翻译的章程照旧略有麻烦,这有未有三遍就足以做到编写翻译的措施吗?作者很负总责的告诉你,当然是有些!接下去大家就来看后生可畏看如何才干一遍编写翻译安装具备的事物~

    1、下载源码并上传至虚构机

    笔者们可以利用yum info httpdyum info apr来查看那七个劳务的官方网址,然后大家去官方网站下载最新的安澜版本:

    新葡亰496net 42

    新葡亰496net 43

    上边附上官方网址地址:

    httpd官网:

    apr官网:

    咱们得以去官方网址下载最新的天下太平版本,这里,小编下载的是apr-1.6.2.tar.gz,apr-util-1.6.0.tar.gz,httpd-2.4.28.tar.bz2,接下去的尝试,就以小编下载的本子为示范,给大家演示怎么着设置。

    大家运用rz命令,将我们下载好的源码包上传至我们的centos6设想机,大家能够查阅一下:

    [root@centos6 temp]# ll
    total 8004
    -rw-r--r-- 1 root root 1071074 Sep 29 12:27 apr-1.6.2.tar.gz
    -rw-r--r-- 1 root root 565507 Sep 29 12:27 apr-util-1.6.0.tar.gz
    -rw-r--r-- 1 root root 6553163 Oct 15 12:35 httpd-2.4.28.tar.bz2
    

    该手续完毕。

    2、安装所依赖的包组

    在编写翻译安装起来以前,大家要先把所正视的包组安装上,不然在接下去的编写翻译安装进程中会出错。

    设置命令如下:

    yum groupinstall "development tools" -y
    yum install pcre-devel -y
    yum install openssl-devel -y
    yum install expat-devel -y
    

    安装成功后,大家就可以对apr的独家编写翻译了。

    3、对源码举办解压缩

    第一步中,大家早就把源码上传到了我们的设想机上,不过还向来不张开任何操作,这一步骤中,大家就必要把源码实行解压缩,并放入钦赐的文本夹中,来成立壹回编写翻译安装的原则,具体操作如下:

    首先,对七个包分别开展解压:

    tar xvf httpd-2.4.28.tar.bz2
    tar xvf apr-util-1.6.0.tar.gz
    tar xvf apr-1.6.2.tar.gz
    

    解压达成后,我们把xvf apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz分别复制到httpd-2.4.28.tar.bz2那一个目录下的内定文件夹中并改名字:

    [root@centos6 temp]# cp -a apr-1.6.2 httpd-2.4.28/srclib/apr
    [root@centos6 temp]# cp -a apr-util-1.6.0 httpd-2.4.28/srclib/apr-util
    [root@centos6 temp]# ls httpd-2.4.28/srclib/
    apr apr-util Makefile.in
    

    笔者们能够看见,在httpd-2.4.28/srclib/目录下意气风发度有了apr和apr-util那三个文件夹了。本步骤完成。

    4、编写翻译安装

    希图干活都做好了,接下去就是编写翻译安装了。

    同等的,要求先步入到httpd-2.4.28/那几个目录下。由于代码相当长,希望大家精心留心再细致,大概像小编同样分行写:

    [root@centos6 temp]# cd httpd-2.4.28
    [root@centos6 httpd-2.4.28]# ./configure --prefix=/app/httpd24 
    --enable-so 
    --enable-ssl 
    --enable-cgi 
    --enable-rewrite 
    --with-zlib 
    --with-pcre 
    --with-included-apr 
    --enable-modules=most 
    --enable-mpms-shared=all 
    --with-mpm=prefork
    [root@centos6 httpd-2.4.28]# make -j 4 && make install
    

    安装的make -j 4 && make install那大器晚成行代码意思是敞开4个经过同期工作,举办安装,那样速度异常快一些。

    上述,编写翻译安装到位,接着,大家得以扩充测验,并实香港行政局地配备的改革。

    5、测量试验并扩充示公布局

    第风度翩翩,步入/app/httpd24以此文件夹,查看一下剧情:

    [root@centos6 httpd24]# ls
    bin build cgi-bin conf error htdocs icons include lib logs man manual modules 
    

    上一个实验大家是跻身bin/目录下,然后使用apachectl来运行大家的服务的,可是假如每一次都如此起步服务,无疑很劳碌,因为要增添路线,所以大家几乎把那个渠道设置到PATH变量里面,那样我们使用服务就能够变得相比较便利,具体操作如下:

    [root@centos6 bin]# vim /etc/profile.d/httpd24.sh
    PATH=/app/httpd24/bin:$PATH
    

    然后大家运营一下使它生效:

    [root@centos6 bin]# . /etc/profile.d/httpd24.sh
    

    明日我们在自由页面都能够运维我们的服务。

    [root@centos6 bin]# apachectl start
    

    我们前几天得以在另意气风发台机械上测验一下大家的劳务:

    [root@centos7 ~]# curl 192.168.191.128
    <html><body><h1>It works!</h1></body></html>
    

    我们的页面是保存在/app/httpd24/htdocs/这些文件夹里的,大家也足以依照本身的内需,把那个页面改进一下~:

    [root@centos6 httpd24]# cd htdocs/
    [root@centos6 htdocs]# ls
    index.html
    [root@centos6 htdocs]# vim index.html 
    <html><body><h1>Welcome to keer'home!</h1></body></html>
    

    下一场我们再去centos7上查看一下:

    [root@centos7 ~]# curl 192.168.191.128
    <html><body><h1>Welcome to keer'home!</h1></body></html>
    

    意气风发度是大家修正过后的典范了。

    本来,大家依然愿意可以写成服务脚本,那样的话,我们使用起来就更是惠及,以后大家的服务业已运转起来了,大家能够用ps aux来查阅一下:

    [root@centos6 htdocs]# ps aux
    USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND
    root   1 0.0 0.0 19348 1560 ?  Ss 00:22 0:01 /sbin/init
    root   2 0.0 0.0  0  0 ?  S 00:22 0:00 [kthreadd]
    ……
    daemon 35258 0.0 0.0 76416 1436 ?  S 00:53 0:00 /app/httpd24/bin/httpd -k start
    daemon 35259 0.0 0.0 76416 1436 ?  S 00:53 0:00 /app/httpd24/bin/httpd -k start
    daemon 35260 0.0 0.1 76416 2104 ?  S 00:53 0:00 /app/httpd24/bin/httpd -k start
    daemon 35261 0.0 0.1 76416 2084 ?  S 00:53 0:00 /app/httpd24/bin/httpd -k start
    daemon 35262 0.0 0.1 76416 2084 ?  S 00:53 0:00 /app/httpd24/bin/httpd -k start
    daemon 35264 0.0 0.0 76416 1440 ?  S 00:54 0:00 /app/httpd24/bin/httpd -k start
    root  35326 13.0 0.0 110260 1152 pts/0 R  01:22 0:00 ps aux
    

    在这里处大家又开掘了三个难题,当时的httpd是以daemon的地位运维的,我们当然是愿意它是由apache的身价来运维,所以我们能够来改善一下:

    作者们先来查阅一下apache这么些顾客是或不是留存:

    [root@centos6 htdocs]# id apache
    uid=48(apache) gid=48(apache) groups=48(apache)
    

    万一不真实的话,大家能够使用useradd -r apache来创建,因为apache是系统的服务用的账号,所以要求加上-r

    然后大家就能够来改进配置文件了,配置文件在/app/httpd24/conf/那个文件夹里,大家进来并把公文更改一下:

    [root@centos6 ~]# cd /app/httpd24/conf/
    [root@centos6 conf]# ls
    extra httpd.conf magic mime.types original
    [root@centos6 conf]# vim httpd.conf 
    

    开垦这么些文件之后,我们把:

    User daemon
    Group daemon
    

    改成这么:

    User apache
    Group apache
    

    与此相类似就能够了,我们前日把劳务甘休,重新展开,然后再用ps aux来查阅一下:

    [root@centos6 conf]# apachectl stop
    [root@centos6 conf]# apachectl start
    [root@centos6 conf]# ps aux
    USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND
    root   1 0.0 0.0 19348 1560 ?  Ss 00:22 0:01 /sbin/init
    root   2 0.0 0.0  0  0 ?  S 00:22 0:00 [kthreadd]
    ……
    apache 35352 0.0 0.0 76416 1436 ?  S 01:33 0:00 /app/httpd24/bin/httpd -k start
    apache 35353 0.0 0.0 76416 1436 ?  S 01:33 0:00 /app/httpd24/bin/httpd -k start
    apache 35354 0.0 0.0 76416 1436 ?  S 01:33 0:00 /app/httpd24/bin/httpd -k start
    apache 35355 0.0 0.0 76416 1436 ?  S 01:33 0:00 /app/httpd24/bin/httpd -k start
    apache 35356 0.0 0.0 76416 1436 ?  S 01:33 0:00 /app/httpd24/bin/httpd -k start
    root  35357 3.0 0.0 110260 1152 pts/0 R  01:33 0:00 ps aux
    

    如此那般,我们的httpd正是以apache的身价来运行的了。

    本来,大家还足以平昔做成服务,服务脚本也没有必要我们和好写,直接把系统自带的httpd的劳务脚本复制生龙活虎份,校正一下就能够了,具体操作步骤如下:

    [root@centos6 ~]# cd /etc/init.d
    [root@centos6 init.d]# ls
    abrt-ccpp   cpuspeed htcacheclean lvm2-monitor ntpd   rdma   spice-vdagentd   winbind
    abrtd    crond  httpd   mdmonitor  ntpdate  restorecond sshd     wpa_supplicant
    abrt-oops   cups  ip6tables  messagebus  portreserve rngd   svnserve
    acpid    dnsmasq iptables  netconsole  postfix  rsyslog  sysstat
    atd    firstboot irqbalance netfs   pppoe-server sandbox  udev-post
    auditd   functions kdump   network   psacct  saslauthd vmware-tools
    blk-availability haldaemon killall  NetworkManager quota_nld  single  vmware-tools-thinprint
    bluetooth   halt  lvm2-lvmetad nfs-rdma  rdisc   smartd  wdaemon
    [root@centos6 init.d]# cp httpd httpd24
    [root@centos6 init.d]# vim httpd24 
    

    文件里方面包车型客车内容无需更换,大家只要求改正一下门路即可了,也便是把

    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/sbin/apachectl
    httpd=${HTTPD-/usr/sbin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/var/run/httpd/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
    RETVAL=0
    STOP_TIMEOUT=${STOP_TIMEOUT-10}
    

    修改为:

    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/app/httpd24/bin/apachectl
    httpd=${HTTPD-/app/httpd24/bin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
    RETVAL=0
    STOP_TIMEOUT=${STOP_TIMEOUT-10}
    

    下一场保留退出就可以了。

    接下去,就足以把那个服务丰硕到劳动列表里了:

    [root@centos6 init.d]# chkconfig --add httpd24
    [root@centos6 init.d]# chkconfig httpd24 on
    [root@centos6 init.d]# chkconfig --list httpd24
    httpd24   0:off 1:off 2:on 3:on 4:on 5:on 6:off
    

    这么,我们的httpd2.4版本就可以透过service来调节了。

    从那之后,我们的劳务的第风度翩翩作用就贯彻了。

    咱们的实验圆满成功。

    总结

    如上正是那篇随笔的全体内容了,希望本文的剧情对大家的就学或者干活有所一定的参阅学习价值,假若有疑问大家能够留言交换,多谢我们对台本之家的支撑。

    你只怕感兴趣的小说:

    • CentOS 7.2配置Apache服务httpd(上)
    • CentOS下Lighttpd Web服务器安装与布署方式
    • CentOS 7.2配置Apache服务httpd(下)
    • CentOS7安排httpd虚构主机教程

    本文由新葡亰496net发布于电脑系统,转载请注明出处:4的多种方法详解,软件包管理

    关键词:

上一篇:没有了

下一篇:没有了