安装过程其实并不复杂,只不过出现的问题,遇到的问题比较多,也主要参考网上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的更多相关文章

  1. Centos6 安装vnc

    Centos6 安装vnc 1. 安装 使用yum方式安装 yum install tigervnc-server tigervnc #启动 vncserver #重启动 /etc/init.d/vn ...

  2. centos6 安装vsftpd

    centos6 安装vsftpd vsftpd一般选择yum安装,以下是安装和配置过程 如果是centos6想要安装的话一般是编译安装 1.安装 yum安装 yum install vsftpd 编译 ...

  3. oracle 11g centos6 安装

    选型:32位的内存是个瓶颈,已经是64位的时代了.使用64位的CentOS6 和 64位的Oracle 11g R2在虚拟机器安装,采用hostonly方式设置网络注意:能上网的网卡要设置一下ICS( ...

  4. CentOS6 安装Sendmail + Dovecot + Roundcubemail

    前言 本文是继CentOS6 安装Sendmail + Dovecot + Squirrelmail 关于邮箱服务器配置的第二篇文章,因为关于使用Sendmail进行相关配置的文章.资料等太老,而且资 ...

  5. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  6. Centos6安装Percona-tools工具

    Centos6安装Percona-tools工具 环境:centos6.x yum -y install perl-DBI yum -y install perl-DBD-MySQL yum -y i ...

  7. Centos6安装FreeSWITCH 1.5时./configure问题解决记录

    系统:Centos 6.4 64位: FreeSWITCH版本:1.5 具体的安装过程参考FreeSWITCH 官网wiki (也可以参考我的博客<Centos6安装FreeSWITCH> ...

  8. CentOS6 安装并破解Jira 7

    CentOS6 安装并破解Jira 7 JIRA软件是为您的软件团队的每个成员构建的,用来规划,跟踪和发布优秀的软件. https://confluence.atlassian.... 最低硬件要求及 ...

  9. centos6安装ElasticSearch5.6.5错误记录

    在centos6安装ES的时候遇到不少问题.这里记录日志.以后安装一定要升级centos7,别说啥稳定问题了,该升级就升级. [1]: max file descriptors [4096] for ...

随机推荐

  1. try{} catch(…){} 讨论(转)

    以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: .try .{ .BYTE* pch ...

  2. cephfs创建及挂载

    Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据.Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器. 1.添 ...

  3. CI框架剖析一

            CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而"优雅"的工具包,它可以为开发者们建立功能完善的 Web 应用程序.本人使用CI框架有一 ...

  4. Linux怎样创建FTP服务器

    在创建FTP服务器之有先命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装.   然后再执行:yum install vs ...

  5. 从面试小白走向master

    腾讯2017春招(实习生招聘)在线笔试知识点总结: 1.栈与队列(用队列实现栈) 2.排序算法(最坏情况下时间复杂度) 3.TCP协议(3次

  6. Uva 11076 Add Again (数论+组合数学)

    题意:给你N个数,求把他们的全排列加和为多少 思路:对于这道题,假设数字k1在第一位,然后求出剩下N-1位的排列数num1,我们就可以知道k1在第一位时 排列有多少种为kind1, 同理,假设数字k2 ...

  7. 个人认为最好的Mac端的视频播放软件___movist

    http://pan.baidu.com/s/1kVm0Zmn password : y9rn 点击打开链接 http://pan.baidu.com/s/1i4ABval password :kt3 ...

  8. 详细了解 int? 类型

    一.int?是什么 二.了解Nullable结构体 三.Nullable类型的取值与转换 1.GetValueOrDefault 2.运算符重载 一.int?是什么 说到int?,或者double?, ...

  9. 核心J2EE模式 - 截取过滤器

    核心J2EE模式 - 截取过滤器 背景 呈现层请求处理机制接收许多不同类型的请求,这些请求需要不同类型的处理.一些请求被简单转发到适当的处理程序组件,而其他请求必须在进一步处理之前进行修改,审核或未压 ...

  10. 使用Spring标签<form:textarea>时,用readonly=“readonly”属性时不起作用。

    最近的一个项目用到了Spring标签<form:textarea>,当在设置其只读属性时,使用readonly="readonly"不起作用,还是能修改内容. 在网上找 ...