ansible 使用playbook编译安装apache


下载httpd及依赖包的压缩包

httpd安装包地址: https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/
.
apr安装包地址: https://mirrors.tuna.tsinghua.edu.cn/apache/apr/

//下载至/opt/packages,这个目录专门用来存储apache压缩包
[root@ansible packages]# ls
apr-1.6.5.tar.gz  apr-util-1.6.1.tar.bz2  httpd-2.4.38.tar.bz2

编写httpd依赖包的yml文件

先在/opt/下创建一个变量的目录,将编译安装httpd需要用到的变量定义,方便后面引用

[root@ansible vars]# cat httpd.yml 
packages:          //定义包的变量,为下列内容
  - openssl-devel
  - pcre-devel
  - expat-devel
  - libtool
  - gcc
  - gcc-c++
  - make
  - pcre
  - perl-devel
  - perl
  - '@ Development Tools'

user: apache       //定义user用户的变量为apache

编写 编译安装用的配置文件

---
- hosts: apache   //指定主机为apache
  vars_files:     //指定变量配置文件
    - vars/httpd.yml    //路径
  tasks:
    - name: create name
      user:
        name: '{{user}}'    //创建apache用户,无家目录
        system: yes
        create_home: no
        shell: /sbin/nologin
        state: present

    - name: install base packages  //安装变量所指的依赖包
      yum:  
        name: '{{item}}'
        state: present
      loop: '{{packages}}'

    - name: uncompress apr   //传输三个压缩包到/opt/下并解压
      unarchive:
        src: packages/apr-1.7.0.tar.gz
        dest: /opt/

    - name: uncompress apr-util
      unarchive:
        src: packages/apr-util-1.6.1.tar.gz
        dest: /opt/

    - name: uncompress httpd
      unarchive:
        src: packages/httpd-2.4.48.tar.gz
        dest: /opt/
    
    - name: configure   //更改配置文件
      lineinfile:
        path: /opt/apr-1.7.0/configure
        regexp: '^$RM "$cfgfile"'
        line: '# $RM "$cfgfile"'

    - name: install apr   //编译安装
      shell: cd /opt/apr-1.7.0 && ./configure  --prefix=/usr/local/apr && make && make install

    - name: install apr-util
      shell: cd /opt/apr-util-1.6.1 && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

    - name: install httpd 
      shell: cd /opt/httpd-2.4.48 && ./configure --prefix=/usr/local/apache  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/  && make && make install

执行

[root@ansible opt]# ansible-playbook install.yml 

PLAY [apache] ***********************************************************************************

TASK [Gathering Facts] **************************************************************************
ok: [192.168.75.150]

TASK [create name] ******************************************************************************
changed: [192.168.75.150]

TASK [install base packages] ********************************************************************
ok: [192.168.75.150] => (item=openssl-devel)
ok: [192.168.75.150] => (item=pcre-devel)
ok: [192.168.75.150] => (item=expat-devel)
ok: [192.168.75.150] => (item=libtool)
ok: [192.168.75.150] => (item=gcc)
ok: [192.168.75.150] => (item=gcc-c++)
ok: [192.168.75.150] => (item=make)
ok: [192.168.75.150] => (item=pcre)
changed: [192.168.75.150] => (item=perl-devel)
changed: [192.168.75.150] => (item=perl)
ok: [192.168.75.150] => (item=@ Development Tools)

TASK [uncompress apr] ***************************************************************************
changed: [192.168.75.150]

TASK [uncompress apr-util] **********************************************************************
changed: [192.168.75.150]

TASK [uncompress httpd] *************************************************************************
changed: [192.168.75.150]

TASK [configure] ********************************************************************************
changed: [192.168.75.150]

TASK [install apr] ******************************************************************************
changed: [192.168.75.150]

TASK [install apr-util] *************************************************************************
changed: [192.168.75.150]

TASK [install httpd] ****************************************************************************
changed: [192.168.75.150]

PLAY RECAP **************************************************************************************
192.168.75.150             : ok=10   changed=9    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

访问

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值