centos6 安装 ansible_ui
安装过程其实并不复杂,只不过出现的问题,遇到的问题比较多,也主要参考网上https://github.com/alaxli/ansible_ui/issues/15 中提到的方法,只不过我遇到自己的问题,此处记录一下
一 首先环境是centos6.9 minal
二 配置epel ,编辑文件 /etc/yum.repos.d/epel.repo ,内容为
[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=
gpgcheck=
三 准备CentOS环境
yum update && yum upgrade
四 控制服务器与被管理服务器要求
Master:Python 2.6+
Slave:Python 2.4+,最好也是2.6+(CentOS 6.9自带)
五 安装ansible :
yum install ansible (如果提示没有此安装包,可以加入EPEL扩展包:yum install epel-release)
六 生成公钥和秘钥
使用命令ssh-keygen -t rsa 生成公钥私钥
七 安装相关库
yum install -y gcc gcc-c++
yum install -y git
yum install -y openldap-devel
yum install -y python-devel
yum install -y libffi-devel
yum install -y openssl-devel
yum install -y libjpeg-devel
yum install -y zlib-devel
yum install -y python-setuptools
yum install -y mysql-devel
yum install -y sshpass
八 pip,setuptools, 地址: https://bootstrap.pypa.io/
a. 下载get-pip.py
b. python get-pip.py
c. pip -V,显示安装成功
九 下载 2.7版本的python
a. 下载python2.7.x 源码并上传至/home/ansible/python2.7 具体小版本我用x表示了。。
b. tar -xf Python-2.7.x.tgz
c. cd Python-2.7.x
d. ./configure --prefix=/usr/local
e. make && make install
f. cd /usr/local/bin/
g. ./python -V, 显示 Python 2.7.x
十 使用virtualenv创建python2.7沙盒环境
a. pip install virtualenv
b. cd /home/ansible
c. mkdir env
d. virtualenv --python=python2.7 --no-site-packages env/
e. source ./env/bin/activate
f. deactivate
十一 安装ansible_ui 及数据库配置
1 获取 ansible_ui :
a. cd /home/ansible/
b. git clone https://github.com/alaxli/ansible_ui.git
2 启动 env环境
a. cd /home/ansible/
b. source ./env/bin/activate
3 安装ansible_ui (--使用pip 安装的时候不要使用sudo,否则会切换到python2.6的pip安装, 会导致安装过程中出现很多问题)
pip install setuptools_scm
pip install -r requirements.txt (请看下面特别说明)
pip install Pillow
pip install ansible
特别说明,安装包提供的requirements.txt 没有提供具体的版本,因此即使运行成功后,后面数据库也无法配置成功,此处贴出我可用的 requirements.txt 替换即可
amqp==1.4.9
ansible==2.2.0.0
anyjson==0.3.3
billiard==3.3.0.23
celery==3.1.25
cffi==1.9.1
cryptography==1.7.1
Django==1.6
django-auth-ldap==1.2.8
django-celery==3.1.16
django-crispy-forms==1.4.0
django-guardian==1.3
django-jsonfield==1.0.1
django-multisite==1.3.1
django-widget-tweaks==1.4.1
enum34==1.1.6
idna==2.2
ipaddress==1.0.17
Jinja2==2.9.4
kombu==3.0.37
MarkupSafe==0.23
meld3==1.0.2
mongoengine==0.9.0
MySQL-python==1.2.5
olefile==0.44
paramiko==2.1.1
pexpect==4.2.1
Pillow==4.0.0
ptyprocess==0.5.1
pyasn1==0.1.9
pycparser==2.17
pycrypto==2.6.1
pymongo==3.4.0
python-ldap==2.4.28
python-magic==0.4.12
pytz==2016.10
PyYAML==3.12
requests==2.12.4
requests-file==1.4.1
simplejson==3.10.0
six==1.10.0
South==1.0.2
supervisor==3.3.1
threadpool==1.3.2
tldextract==2.0.2
uWSGI==2.0.14
vine==1.1.3
4 配置数数据库及play-book路径
import os.path # LDAP settings
NT4_DOMAIN = ""
LDAP_URL = "ldap://ldapserver:port"
BIND_USER = "CN=adreader,OU=xxx,OU=xxx,DC=xxx,DC=xxxx"
BIND_PASSWORD = "*****"
SEARCH_DN = "ou=xxxx,dc=xxxx,dc=xxxx" # Database settings
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'ansible', # Or path to database file if using sqlite3.
'USER': 'ansibleuser', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '127.0.0.1',
'PORT': '', # Set to empty string for default. Not used with sqlite3.
},
} # Mail settings
MAIL_SENDER = "sender@domain.com"
MAIL_SMTP = "mail.domain.com" # Ansible-playbook path
ANSIBLE_PLAYBOOK = '/home/ansible/env/bin/ansible-playbook' #特别说明,网上版本流传的安装教程,此处有问题,此处指定是virtualenv环境下playbook的路径
5 初始化数据库
在mysql 数据库中添加 ansible
$ mysql -u root -p mysql> create database ansible CHARACTER SET utf8;
***以下命令执行过程中,会要求你设置一个superuser和密码,请记录下此用户名和密码,此用户名和密码就是登录ansible_ui的超级用户
python manage.py schemamigration desktop.apps.account --init
python manage.py schemamigration desktop.apps.ansible --init
python manage.py syncdb
python manage.py migrate ansible
python manage.py migrate account
python manage.py migrate kombu.transport.django
python manage.py migrate djcelery
python manage.py migrate guardian
这里可能遇到的问题有
a 如果你在上一步配置的数据库不是本地的数据库,可能出现版本不一致,导致数据库安装失败
b 你上一步的数据库地址、用户名、密码不正确
c 你上一步设置的数据库,没法连接到,没法连接到原因很多
c.1 有可能是远程的mysql 3306的端口,没有被打开,可以在 /etc/sysconfig/iptables 文件中添加 -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT ,记得重启iptables服务
c.2 有可能mysql没有开启远程连接 ,在mysql命令中 指向 grant all on ansible.* to ansibleuser@'%' identified by '123456';
6. 配置supervisord和ansible,在
a. 修改 /home/ansible/ansible_ui/celery-conf/supervisord.conf 中[program:ansible_celeryd] 部分里面的command为
command = /home/ansible/env/bin/python /home/ansible/ansible_ui/manage.py celeryd -B -l info
这里的 /home/ansible/env/bin/python 是我的虚拟环境python,/home/ansible/ansible_ui/manage.py 这个不用说,你应该懂
b. cp ansible-conf/ansible.cfg ~/.ansible.cfg
7. 启动
a. supervisord -c celery-conf/supervisord.conf
b. python manage.py runserver 0.0.0.0:8000 #如果外网访问不到,有可能是端口没有打开(在 /etc/sysconfig/iptables 文件中添加 -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT ,记得重启iptables服务)
centos6 安装 ansible_ui的更多相关文章
- Centos6 安装vnc
Centos6 安装vnc 1. 安装 使用yum方式安装 yum install tigervnc-server tigervnc #启动 vncserver #重启动 /etc/init.d/vn ...
- centos6 安装vsftpd
centos6 安装vsftpd vsftpd一般选择yum安装,以下是安装和配置过程 如果是centos6想要安装的话一般是编译安装 1.安装 yum安装 yum install vsftpd 编译 ...
- oracle 11g centos6 安装
选型:32位的内存是个瓶颈,已经是64位的时代了.使用64位的CentOS6 和 64位的Oracle 11g R2在虚拟机器安装,采用hostonly方式设置网络注意:能上网的网卡要设置一下ICS( ...
- CentOS6 安装Sendmail + Dovecot + Roundcubemail
前言 本文是继CentOS6 安装Sendmail + Dovecot + Squirrelmail 关于邮箱服务器配置的第二篇文章,因为关于使用Sendmail进行相关配置的文章.资料等太老,而且资 ...
- centos6 安装配置ss笔记
2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...
- Centos6安装Percona-tools工具
Centos6安装Percona-tools工具 环境:centos6.x yum -y install perl-DBI yum -y install perl-DBD-MySQL yum -y i ...
- Centos6安装FreeSWITCH 1.5时./configure问题解决记录
系统:Centos 6.4 64位: FreeSWITCH版本:1.5 具体的安装过程参考FreeSWITCH 官网wiki (也可以参考我的博客<Centos6安装FreeSWITCH> ...
- CentOS6 安装并破解Jira 7
CentOS6 安装并破解Jira 7 JIRA软件是为您的软件团队的每个成员构建的,用来规划,跟踪和发布优秀的软件. https://confluence.atlassian.... 最低硬件要求及 ...
- centos6安装ElasticSearch5.6.5错误记录
在centos6安装ES的时候遇到不少问题.这里记录日志.以后安装一定要升级centos7,别说啥稳定问题了,该升级就升级. [1]: max file descriptors [4096] for ...
随机推荐
- C语言指针基础
新手在C语言的学习过程中遇到的最头疼的知识点应该就是指针了,指针在C语言中有非常大的用处.下面我就带着问题来写下我对于指针的一些理解. 指针是什么? 指针本身是一个变量,它存储的是数据在内存中的地址 ...
- POPTEST老李推荐:互联网时代100本必读书,来自100位业界大咖推荐 2
➤NO.30<移动的力量>[推荐人]刘九如:电子工业出版社副社长兼总编辑邬贺铨:中国工程院院士.原副院长汪力成:华立集团董事局主席➤NO.31<智慧社会>[推荐人]段永朝:财讯 ...
- 微信小程序首页总结
效果图如下 首先从大的方面来讲,就是设置了window的属性 "navigationBarBackgroundColor": "#AFE2E6",//bar ...
- 微信端解决a标签链接 失效的问题
最近常碰到这个问题就是 在微信端点击a标签链接的时候,第一次正常界面跳转.但是,界面重新跳转回来再次点击a标签的话 .出现 界面不跳转,但是进度条加载完毕,点击多次页面无法跳转. 解决办法 在链接后边 ...
- Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
转载:王文松的博客Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解 安装环境 Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 ...
- Spring+Redis(keyspace notification)实现定时任务(订单过期自动关闭)
1.起因 最近公司项目要做订单超期未支付需自动关闭,首先想到的是用spring的定时器(@Schedule),结果领导举各种例子说会影响性能,只能作罢.后来想能不能基于redis实现, 学习(baid ...
- ios 视频/图片压缩
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- swust oj(0088)表达式的转换
表达式的转换(0088) Time limit(ms): 5000 Memory limit(kb): 65535 Submission: 435 Accepted: 93 Accepted 16级卓 ...
- transform-origin 的定位
transform-origin接受两个参数,它们可以是百分比,em,px等具体的值,也可以是left,center,right,或者 top,center,bottom等描述性参数,第一个参数表示X ...
- Weex的环境搭建以及集成到Android项目
最近由于公司的需要,初步研究了Weex,Weex是阿里开发的一个web的框架,官方的介绍如下: Weex 是一套简单易用的跨平台开发方案,能以 web 的开发体验构建高性能.可扩展的 native 应 ...