Ansible变量部署Apache服务
主机名 | IP 地址 |
---|---|
Ansible | 192.168.252.128 |
Apache | 192.168.252.129 |
1、下载软件包
去Apache官网下载所需的HTTP、Apr、Apr-util软件包。
HTTPD链接:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/
apr和apr-util链接:http://https://mirrors.tuna.tsinghua.edu.cn/apache/apr/
1.1源码安装三步曲
源码安装三步 : 按照源码安装三步的步骤依次安装apr→apr-util→http
- ./configure 定义编译参数、检查编译环境是否符合要求
- Make 编译
- Make install 将编译好的文件放到系统中改放的位置
2、定义变量
在playbook同级目录下创建一个主机变量目录host_vars
,然后在里面配置一个定义变量的文件
[root@Ansible host_vars]# pwd
/etc/ansible/host_vars
[root@Ansible host_vars]# cat apache.yml
---
tools: gcc,gcc-c++,make,expat-devel,pcre-devel
//安装软件工具及厂库,为后面安装准备环境
apr_install: ' cd /root/apr-1.7.0/ && ./configure --prefix=/usr/local/apr && make && make install '
//定义apr源码安装步骤
apr_util_install: 'cd /root/apr-util-1.6.1/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install '
//定义apr-util源码安装步骤。因变量命名要求,所以此处的apr-util,变成了apr-util
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 '
//定义httpd服务安装的步骤
3、编写playbook
在ansible配置文件同级目录下创建apache.yml文件,进行编写playbook
---
- name: 关闭防火墙和selinux
hosts: httpd
tasks:
- name: firewalld //关闭防火墙
service:
name: firewalld
state: stopped
- name: selinux //关闭selinux
lineinfile:
path: /etc/selinux/config
regexp: '^SELINUX='
line: 'SELINUX=disabled'
- name: 部署apache
hosts: httpd
vars_files:
- /etc/ansible/host_vars/apache.yml //定义变量的文件路径
tasks:
- name:
yum:
name: '{{ tools }}'
state: present
- name: //把解压后的文件传到httpd服务器上
unarchive: //本地压缩包解压后传到httpd服务器上
src: /root/apr-1.7.0.tar.gz
dest: /root/
copy: yes
src: /root/apr-util-1.6.1.tar.gz
dest: /root/
copy: yes
- name:
unarchive:
src: /root/httpd-2.4.48.tar.gz
dest: /root/
copy: yes
- name: install apr //开始编译安装,自动完成三部曲。安装的顺序都在变量定义文件里(host_vars/apache.yml)
shell: '{{ apr_install }}'
- name: install apr-util
shell: '{{ apr_util_install }}' //因变量命名要求,所以此处的apr-util,变成了apr-util
- name: install httpd
shell: '{{ httpd_install }}'
- name: 删除" RM "$cfgfile " 这一行内容 //修改配置文件内容
lineinfile:
path: /root/apr-apr-1.7.0/configure
regexp: '^ $RM "$cfgfile"'
state: absent
- name: 添加访问主机
lineinfile: //修改Apache配置文件,添加本机域名请求。在vim中斜杠输入``set nu``会显示行号
path: /usr/local/httpd/conf
insertafter: '#ServerName www.example.com:80'
line: 'ServerName localhost:80 '
- name: start httpd service //重启Apache服务
shell: '/usr/local/httpd/bin/apachectl start'
4、输入Apache服务器ip地址测试
站点内容配置文件在/usr/local/httpd/htdocs。可以把下载的HTML的游戏压缩包文件放到里面,打开网页即可愉快完事!