playbook源码部署apache

playbook源码部署apache

一、准备工作

服务地址
ansible192.168.142.100
apache192.168.142.98

二、工作思路

  • 创建目录与文件后下载源码包
  • 编辑变量环境
  • 编写源码安装apache文件
  • 连接
  • 执行
  • 提供测试页

三、过程

创建目录和文件

[root@ansible playbook]# mkdir -p host_vars
[root@ansible playbook]# touch host_vars/httpd.yml apache.yml
[root@ansible playbook]# tree
.
├── apache.yml
├── host_vars
│   └── httpd.yml
├── lamp.yml
└── web.yml

3 directories, 2 files

下载源码安装

[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.7.0.tar.gz
--2021-07-22 22:18:33--  https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.7.0.tar.gz
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1093896 (1.0M) [application/octet-stream]
正在保存至: “apr-1.7.0.tar.gz”

apr-1.7.0.tar.gz  100%[==========>]   1.04M   479KB/s  用时 2.2s    

2021-07-22 22:18:36 (479 KB/s) - 已保存 “apr-1.7.0.tar.gz” [1093896/1093896])

[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.48.tar.gz
--2021-07-22 22:18:56--  https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.48.tar.gz
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9418226 (9.0M) [application/octet-stream]
正在保存至: “httpd-2.4.48.tar.gz”

httpd-2.4.48.tar. 100%[==========>]   8.98M  2.44MB/s  用时 4.0s    

2021-07-22 22:19:00 (2.26 MB/s) - 已保存 “httpd-2.4.48.tar.gz” [9418226/9418226])

[root@ansible playbook]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
--2021-07-22 22:19:07--  https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:554301 (541K) [application/octet-stream]
正在保存至: “apr-util-1.6.1.tar.gz”

apr-util-1.6.1.ta 100%[==========>] 541.31K  2.70MB/s  用时 0.2s    

2021-07-22 22:19:08 (2.70 MB/s) - 已保存 “apr-util-1.6.1.tar.gz” [554301/554301])

编写httpd.yml主机变量文件

[root@ansible playbook]# cat host_vars/httpd.yml 
---
  tools:  gcc,gcc-c++,perl,perl-devel,expat-devel,pcre-devel,pcre
  apr_install: " cd /root/apr-1.7.0/  &&  ./configure --prefix=/usr/local/apr && make && make install "
  apr_util_install: " cd /root/apr-util-1.6.1/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install "
  httpd_install: " 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 " 

编写源码安装apache.yml文件

[root@ansible playbook]# vim apache.yml 
[root@ansible playbook]# cat apache.yml 
---
- hosts: apache
  vars_files:
    - /etc/ansible/playbook/host_vars/httpd.yml
  tasks:
    - name: install tools
      yum:
        name: "{{ tools }}"
        state: present

    - name: cp apr
      unarchive:
        src: /etc/ansible/playbook/apr-1.7.0.tar.gz
        dest: /root/
        copy: yes

    - name: cp apr-util
      unarchive:
        src: /etc/ansible/playbook/apr-util-1.6.1.tar.gz
        dest: /root/
        copy: yes

    - name: cp httpd
      unarchive:
        src: /etc/ansible/playbook/httpd-2.4.48.tar.gz
        dest: /root/
        copy: yes

     - name: create user
       user: 
         name: apache
         state: present
     - name: create group
       group:
         name: apache
         system: yes
         state: present

      - name: install apr
        shell: "{{ apr_install }}"

      - name: install apr-util
        shell: "{{ apr_util_install }}"

      - name: install httpd
        shell: "{{ httpd_install }}"

      - name: start httpd service
        shell: " /usr/local/httpd/bin/apachectl start "

运行

[root@ansible playbook]# ansible-playbook apache.yml 

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

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

TASK [install tools] ************************************************************************************************************************************************
ok: [192.168.230.98]

TASK [cp apr] *******************************************************************************************************************************************************
ok: [192.168.230.98]

TASK [cp apr-util] **************************************************************************************************************************************************
ok: [192.168.230.98]

TASK [cp httpd] *****************************************************************************************************************************************************
ok: [192.168.230.98]

TASK [create user] **************************************************************************************************************************************************
ok: [192.168.230.98]

TASK [create group] *************************************************************************************************************************************************
ok: [192.168.230.98]

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

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

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

TASK [start httpd service] ******************************************************************************************************************************************
changed: [192.168.230.98]

PLAY RECAP **********************************************************************************************************************************************************
192.168.230.98             : ok=11   changed=4    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

设置网站内容

[root@apache ~]# cat /usr/local/httpd/htdocs/index.html
<html><body><h1>Want to drink milk tea!</h1></body></html>

进行测试
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值