环境准备:
(1)克隆代码到本地: git clone https://github.com/jly8866/archer.git 或 下载zip包
(2)安装mysql 5.6实例,请注意保证mysql数据库默认字符集为utf8或utf8mb4
(3)安装inception
安装python3:
tar -xzvf Python-3.4.1.tar.gz
cd Python-3.4.1
./configure --prefix=/path/to/python3 && make && make install
或者rpm、yum、binary等其他安装方式
安装所需相关模块:
(1)django:
tar -xzvf Django-1.8.17 && cd Django-1.8.17 && python3 setup.py install
或者pip3 install Django==1.8.17
(2)Crypto:
pip3 install Crypto
pip3 install pycrypto
给python3安装MySQLdb模块:
pip3 install pymysql
记得确保settings.py里有如下两行:
import pymysql
pymysql.install_as_MySQLdb()
由于python3使用的pymysql模块里并未兼容inception返回的server信息,因此需要编辑/path/to/python3/lib/python3.4/site-packages/pymysql/connections.py:
在if int(self.server_version.split('.', 1)[0]) >= 5: 这一行之前加上以下这一句并保存,记得别用tab键用4个空格缩进:
self.server_version = '5.6.24-72.2-log'
最后看起来像这样:
创建archer本身的数据库表:
(1)修改archer/archer/settings.py所有的地址信息,包括DATABASES和INCEPTION_XXX部分
(2)通过model创建archer本身的数据库表, 记得先去archer数据库里CREATE DATABASE
python3 manage.py makemigrations或python3 manage.py makemigrations sql
python3 manage.py migrate
执行完记得去archer数据库里看表是否被创建了出来
mysql授权:
记得登录到archer/archer/settings.py里配置的各个mysql里给用户授权
(1)archer数据库授权
(2)远程备份库授权
创建admin系统root用户(该用户可以登录django admin来管理model):
cd archer && python3 manage.py createsuperuser
启动:
用django内置runserver启动服务,需要修改debug.sh里的ip和port
cd archer && bash debug.sh
如果要用gunicorn启动服务的话,可以使用pip3 install gunicorn安装并用startup.sh启动,但需要配合nginx处理静态资源.
创建archer系统登录用户:
使用浏览器(推荐chrome或火狐)访问debug.sh里的地址:http://X.X.X.X:port/admin/sql/users/ ,如果未登录需要用到步骤7创建的admin系统用户来登录。
点击右侧Add users,用户名密码自定义,至少创建一个工程师和一个审核人(步骤7创建的用户也可以登录)后续新的工程师和审核人用户请用LDAP导入sql_users表或django admin增加
配置主库地址:
使用浏览器访问http://X.X.X.X:port/admin/sql/master_config/ ,点击右侧Add master_config
这一步是为了告诉archer你要用inception去哪些mysql主库里执行SQL,所用到的用户名密码、端口等。
正式访问:
以上步骤完毕,就可以使用步骤9创建的用户登录archer系统啦, 首页地址 http://X.X.X.X:port/