inception官方文檔: http://mysql-inception.github.io/inception-document/install/
Yearning官方文檔: https://cookiey.github.io/Yearning-document/
inception部署流程:
環境準備
centos7.3, python2.x(建議用python2.x,因爲inception相關腳本基於python2.x)開始安裝
#yum
install
cmake ncurses-devel gcc gcc-c++ openssl-devel
(依賴庫安裝)#cd
/usr/local/src/
#wget http:
//ftp
.
gnu.org
/gnu/m4/m4-1
.4.18.
tar
.gz
#tar
-zxvf m4-1.4.18.
tar
.gz
#cd
m4-1.4.18
#.
/configure
&&
make
&&
make
install
#tar
-zxvf bison-2.4.
tar
.gz
#cd
bison-2.4/
#.
/configure
&&
make
&&
make
install
#cd
/usr/local/
#wget https:
//github
.com
/mysql-inception/inception/archive/master
.zip
#unzip master.zip
#mvinception-master/ inception
#mvmaster.zip inception.zip
#mvinception.zip
/usr/local/src/
#sh inception_build.sh builddir linux配置文件添加
#vim /etc/inc.cnf[inception] general_log=1 general_log_file=/usr/local/inception/log/inception.log port=6669 socket=/usr/local/inception/inc.socket character-set-client-handshake=0 character-set-server=utf8inception_remote_system_user=xxxx inception_remote_system_password=xxxx inception_remote_backup_port=xxxx inception_remote_backup_host=xxxxinception_support_charset=utf8mb4 inception_enable_nullable=0 inception_check_primary_key=1 inception_check_column_comment=1 inception_check_table_comment=1 inception_osc_min_table_size=1 inception_osc_bin_dir=/usr/local/inception/data inception_osc_chunk_time=0.1 inception_enable_blob_type=1 inception_check_column_default_value=1
注:參數相關信息參考官方文檔配置修改
啓動測試
#nohup/usr/local/inception/builddir/mysql/bin/Inception
--defaults-
file
=inc.cnf >
/dev/null
2>&1 &
#mysql -uroot -h127.0.0.1 -P6669
>inception get variables;
輸出變量信息說明配置成功Yearning部署
依賴環境:
centos7.3, python3.6, nginx, mysql >= 5.6源碼安裝python3.6
#yum install xz gcc zlib zlib-devel #安裝依賴
#wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
#xz -d Python-3.6.1.tar.xz
#tar -xvf Python-3.6.1.tar
#cd Python-3.6.1
#./
configure
-
-
prefix
=
/
usr
/local/python --with-ssl (必須加上--with-ssl, 否則用python3的pip安裝軟件會出錯)
#make && make install
讓ceont7默認使用python3
#cd/
usr
/
bin
/
#mv python python.bak
#ln-
s
/
usr
/local/
python
/
bin
/
python3.
6
/
usr
/
bin
/
python
因爲yum使用的是python2,替換python3之後可能導致無法正常工作,因此修改yum配置文件(vim /usr/bin/yum)。 把文件頭部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可
vim /usr/libexec/urlgrabber-ext-down
將/usr/bin/python改爲/usr/bin/python2.7。
Yearning安裝
#安裝 nginx mysql python3.6(yum即可)建立數據庫 (庫字符集爲UTF8 )
下載軟件包
#git clone https://github.com/cookieY/Yearning.git
編輯 Yearning/src/deploy.conf
[mysql]
db = 所創建的庫名
address = 數據庫地址
port = 數據庫端口
password = 數據庫密碼
username = 數據庫用戶
[host]
ipaddress = 服務器ip地址:端口 (涉及跨域十分重要!!設置不正確將無法登陸!!)
如 本機地址爲192.168.1.2 nginx設置端口爲80
則應填寫爲 192.168.1.2:80 之後通過該地址訪問平臺。
[Inception]
ip = Inception地址
port = Inception端口
user = Inception用戶名
password = Inception密碼
backupdb = 備份數據庫地址
backupport = 備份數據庫端口
backupuser = 備份數據庫用戶名
backuppassword = 備份數據庫密碼
[LDAP] LDAP相關設置
LDAP_SERVER = LDAP服務地址
LDAP_SCBASE = LDAP dc 設置 如 dc=xxx,dc=com
LDAP_DOMAIN = LDAP域名 如 xxx.com
LDAP_TYPE = 1 1 通過域名進行ldap認證 0 通過uid進行ldap認證
[email] 郵箱推送相關設置
username = 郵箱發件賬號 如 xxxx@163.com
password = 郵箱發件賬號密碼
smtp_server = 郵箱stmp地址, 具體地址請諮詢對應郵箱提供者pip3 install -r requirements.txt 安裝相應python依賴庫
python3 manage.py makemigrations && python3 manage.py migrate 初始化數據庫
echo "from core.models import Account;Account.objects.create_user(username='admin', password='Yearning_admin', group='admin',is_staff=1)" | python3 manage.py shell 添加初始化用戶
echo "from core.models import grained;grained.objects.get_or_create(username='admin', permissions={'ddl': '1', 'ddlcon': [], 'dml': '1', 'dmlcon': [], 'dic': '1', 'diccon': [], 'dicedit': '0', 'query': '1', 'querycon': [], 'user': '1', 'base': '1', 'dicexport': '0'})" | python3 manage.py shell 初始化權限
cp -rf Yearning/webpage/dist/* $NGINX_HOME/html/ 複製編譯好的靜態文件到nginx html目錄下(如自行更改Nginx靜態路徑地址則將靜態文件複製到對應靜態文件目錄下)
systemctl start nginx 啓動nginx
python3 manage.py runserver 0.0.0.0:8000 啓動django
訪問deploy.conf 配置文件中ipaddress 填寫的地址
默認賬號: admin 密碼:Yearning_admin
注:按照以上官方文檔可能回遇到CORS跨域問題,導致登錄不了系統,需要修改django框架配置文件
#vim settings
INSTALLED_APPS = (
...
'corsheaders',
...
)
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware', # cors
'django.middleware.common.CommonMiddleware',
...
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True