ansible编译httpd playbook示例

时间:2021-11-15 09:29:47

我写了更完善的Ansible专栏文章:一步到位玩儿透Ansible


以下是playbook的内容。它的处理流程是:

1.先在本地下载apr,apr-util,httpd共3个.tar.gz文件。

2.解压这3个文件。

3.安装pcre和pcre-devel依赖包。

4.编译安装apr。

5.编译安装apr-util。

6.编译安装httpd。

---
- hosts: all
tasks:
- name: download apr,apr-util,httpd
get_url: url="{{item}}" dest=/root/pkg/
with_items:
              - https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.2.tar.gz
              - https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.0.tar.gz
              - https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.27.tar.gz
           delegate_to: localhost
           run_once: True
- unarchive: src="/root/pkg/{{item}}" dest=/root/
with_items:
- httpd-2.4..tar.gz
- apr-1.6..tar.gz
- apr-util-1.6..tar.gz
tags: unarchive - name: install pcre and pcre-devel
yum: name="{{item}}" state=installed
with_items:
- pcre
- pcre-devel
              - expat-devel - name: complie apr
shell: cd /root/apr-1.6. && ./configure --prefix=/usr/local/apr && make && make install - name: complie apr-util
shell: |
cd /root/apr-util-1.6.
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install - name: complie httpd
shell: |
cd /root/httpd-2.4.
./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache \
--enable-mpms-shared=all \
--with-z --with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-mpm=event
make && make install

编译完成后,还有一系列操作,比如设置PATH环境变量、设置man路径、修改配置文件、启动httpd等。这些就懒得放进去了。