ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ansible playbook使用变量源码安装apache

2021-07-23 09:07:12  阅读:190  来源: 互联网

标签:httpd name apr ansible 源码 playbook root


先在ansible主机上下载安装apache需要的文件

[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.7.0.tar.gz
[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.48.tar.gz

然后解压到本机上

[root@ansible playbook]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.48.tar.gz
[root@ansible playbook]# mkdir files
[root@ansible playbook]# tar -xf apr-1.7.0.tar.gz -C files/
[root@ansible playbook]# tar -xf apr-util-1.6.1.tar.gz -C files/
[root@ansible playbook]# tar -xf httpd-2.4.48.tar.gz -C files/
[root@ansible playbook]# ls files/
apr-1.7.0  apr-util-1.6.1  httpd-2.4.48
[root@ansible playbook]#

然后写playbook文件

[root@ansible project]# cat playbook/apache.yml 
---
- name: install apache
  hosts: all
  vars:
    apr_name: apr-1.7.0 
    apr_util_name: apr-util-1.6.1
    httpd_name: httpd-2.4.48
  tasks:
    - name: copy apr
      copy:
        src: files/{{apr_name}}
        dest: /root/

    - name: copy apr-util
      copy:
        src: files/{{apr_util_name}}
        dest: /root/

    - name: copy httpd
      copy:
        src: files/{{httpd_name}}
        dest: /root/

    - name: stop firewalld 
      service:
        name: firewalld
        state: stopped
        enabled: no

    - name: stop selinux
      lineinfile:
        path: /etc/selinux/config
        regexp: "^SELINUX="
        line: "SELINUX=disabled"
        state: present

    - name: install utils
      yum:
        name: "{{item}}"
        state: present
      with_items:
        - openssl-devel
        - pcre-devel
        - pcre
        - perl
        - perl-devel
        - expat-devel
        - libtool
        - gcc
        - make
        - gcc-c++

    - name: edit config
      lineinfile:
        path: /root/{{apr_name}}/configure
        regexp: '^    $RM "$cfgfile"'
        line: '#    $RM "$cfgfile"'

    - name: install apr
      shell: |
        cd /root/apr-1.7.0
        ./configure --prefix=/usr/local/apr
        make && make install

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

    - name: install httpd
      shell: |
        cd /root/httpd-2.4.48
        ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
        make && make install
    
    - name: edit httpd config
      lineinfile:
        path: /usr/local/httpd/conf/httpd.conf
        regexp: "^#ServerName www.example.com:80"
        line: "ServerName www.example.com:80"

    - name: start httpd
      shell: '/usr/local/httpd/bin/apachectl start'
[root@ansible project]#

查看测试结果

标签:httpd,name,apr,ansible,源码,playbook,root
来源: https://blog.csdn.net/hellolcr/article/details/119022633

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有