CentOS 7 源码离线安装 ansible 2.7,centosansible


本文参考:RHEL 6下源码包安装部署Ansible(luashin)

准备工作:
  1、下载安装文件,并将文件上传到安装用户的HOME目录下

         安装文件 :https://download.csdn.net/download/zjyklwg/10723090
  2、配置好yum源

(1)、python2.7安装
#python -V
Python 2.7.5
版本太老了,升级一下
yum -y install zlib*
yum -y install gcc
yum -y install unzip
yum -y install libffi-devel
yum -y install openssl-devel
yum -y install ncurses-devel
yum -y install gdbm-devel
yum -y install readline-devel
yum -y install sqlite-devel
yum -y install bzip2-devel

cd
tar xvzf Python-2.7.15.tgz
cd Python-2.7.15      
./configure --prefix=/usr/local
make
make altinstall
mv /usr/bin/python /usr/bin/python2.7.5
ln -s /usr/local/bin/python2.7 /usr/bin/python

ln -s /usr/lib64/python2.7/site-packages/selinux /usr/local/lib/python2.7/site-packages/selinux
python -V
cd /usr/local/include/python2.7
cp -a ./* /usr/local/include/

vi /usr/bin/yum
第一行改为: #!/usr/bin/python2.7.5
vi /usr/libexec/urlgrabber-ext-down
第一行改为: #!/usr/bin/python2.7.5


## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件

(2)、setuptools模块安装
cd
unzip -x setuptools-40.4.3.zip
cd setuptools-40.4.3
python setup.py install


(3)、pycrypto模块安装
cd
tar xvzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install


(4)、PyYAML模块安装
cd
tar xvzf yaml-0.2.1.tar.gz
cd yaml-0.2.1
./configure
make
make install


cd
tar zxvf PyYAML-3.13.tar.gz
cd PyYAML-3.13
python setup.py install


(5)、Jinja2模块安装
cd
tar xvzf MarkupSafe-1.0.tar.gz
cd MarkupSafe-1.0
python setup.py install


(*******************Jinja2 不要使用2.10,因为此版本中调用了python3.6版本的语法 async def)
cd
tar xvzf Jinja2-2.10.tar.gz
cd Jinja2-2.10
python setup.py install
****************************************************************************************)

cd
tar zxvf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
python setup.py install

 
(6)、paramiko模块安装
cd
tar xvzf ecdsa-0.13.tar.gz
cd ecdsa-0.13
python setup.py install

cd
tar zxvf pyasn1-0.4.4.tar.gz
cd pyasn1-0.4.4
python setup.py install

cd
tar zxvf pycparser-2.19.tar.gz
cd pycparser-2.19
python setup.py install

cd
tar zxvf cffi-1.11.5.tar.gz
cd cffi-1.11.5
python setup.py install

cd
tar zxvf ipaddress-1.0.22.tar.gz
cd ipaddress-1.0.22
python setup.py install

cd
tar zxvf enum34-1.1.6.tar.gz  
cd enum34-1.1.6
python setup.py install

cd
tar zxvf six-1.11.0.tar.gz
cd six-1.11.0
python setup.py install


cd
tar zxvf PyNaCl-1.3.0.tar.gz
cd PyNaCl-1.3.0
python setup.py install
 

cd
tar zxvf asn1crypto-0.24.0.tar.gz
cd asn1crypto-0.24.0
python setup.py install


cd
tar zxvf idna-2.7.tar.gz
cd idna-2.7
python setup.py install

cd
tar zxvf cryptography-2.3.1.tar.gz
cd cryptography-2.3.1
python setup.py install

cd
tar zxvf bcrypt-3.1.4.tar.gz
cd bcrypt-3.1.4
python setup.py install

cd
tar xvzf paramiko-2.4.2.tar.gz
cd paramiko-2.4.2
python setup.py install


(7)、simplejson模块安装
tar xvzf simplejson-3.16.0.tar.gz
cd simplejson-3.16.0
python setup.py install


(8)、ansible安装
cd
tar xvzf ansible-2.7.0rc4.tar.gz
cd ansible-2.7.0rc4
python setup.py install

 

zabbix-api 安装  https://github.com/gescheit/scripts/tree/master/zabbix

tar zxvf zabbix-api

cd zabbix-api

python setup.py install

(9)、SSH免密钥登录设置,我使用的是iptables,而不是Firewalld,不过原理是一样的,firewalld只是给iptables加了一层包装而已。远端服务器指受控端。
本地机器防火墙设置
iptables -I OUTPUT 4 -p tcp -d 服务器ip --dport 22 -j ACCEPT
iptables -I INPUT 4 -p tcp -s 服务器ip --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save
远端服务器防火墙设置
iptables -I INPUT 4 -p tcp -s 本机ip --dport 22 -j ACCEPT
iptables -I OUTPUT 4 -p tcp -d 本机ip --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save

远端服务器管理员用户创建
adduser centos
passwd  centos
#调整密码有效期,过期5天后帐户失效
passwd --maximum=15 --inactive=5 ansible
usermod -G wheel centos
visudo 编辑sudo权限
去掉#%wheel  ALL=(ALL)       NOPASSWD: ALL,前面的"#"

本机管理员用户创建
adduser ansible

#调整密码有效期,过期5天后帐户失效
passwd --maximum=15 --inactive=5 ansible
usermod -G wheel ansible
passwd ansible
初始密码:


## 生成公钥/私钥
# su - ansible
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub centos@x.x.x.x

## 到远程服务下查看是否上传成功
# su - centos
# cd
# cat .ssh/authorized_keys

本地服务器上进行登陆测试
$ ssh centos@x.x.x.x

(10)生成配置文件

vi /etc/ssh/ssh_config
修改下面的yes 为no
Host *
        GSSAPIAuthentication yes

su - ansible
$vi ~/ansible.cfg
[defaults]
log_path=/tmp/ansible.log
host_key_checking=False
inventory= /home/ansible/hosts

$ vi ~/hosts
[test]
name1 ansible_host=x.x.x.x  ansible_ssh_user=centos

测试
# ansible test -m command -a 'uptime'
## 用来测试远程主机的运行状态
# ansible test -m ping
参看所有的参数
ansible-doc -l

说明:配置文件可以放在/etc/ansible目录下面,我偷懒就直接放在ansible用户的home目录下了。
      如果遇到问题可以使用 ansible -vvv 或 -vvvv参数,也可以查看/tmp/ansible.log日志。

 

相关内容

    暂无相关文章