當前位置:
首頁 > 最新 > 搭建Yearning 基於Inception的開源SQL審核平台

搭建Yearning 基於Inception的開源SQL審核平台

環境centos7.2

一、Inception安裝

1、安裝相關依賴包

yum install bison ncurses-libs libncurses5-devel ncurses-devel wget git cmake openssl gcc-c++ gcc openssl-devel MySQL-python -y

注意:centos7 系統自帶的bison的版本過高,在後面測試的時候會報錯!

查看版本: bison -V

卸高版本的bison

rpm -qa|grep bison

rpm -e bison-3.0.4-1.el7.x86_64

編譯安裝bison-2.5.1

wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz

tar xvf bison-2.5.1.tar.gz

cd bison-2.5.1

./configure --prefix=/usr

make

make install

安裝完成後查看版本:bison -V

2、安裝inception

cd /opt/

git clone https://github.com/mysql-inception/inception

cd inception

sh inception_build.sh debug

debug就是編譯目錄,編譯後所有的生成文件都在這個目錄下面,包括可執行文件Inception。可執行文件在/opt/inception/debug/sql目錄下面:

cd /opt/inception/debug/sql

3、創建配置目錄,將可執行文件Inception拷貝到/opt/inception/bin目錄

[root@temi sql]# mkdir -p /data/inception

[root@temi sql]# mkdir -p /data/inception/bin

[root@temi sql]# mkdir -p /data/inception/temp

[root@temi sql]# cp /opt/inception/debug/sql/Inception /data/inception/bin/

4.配置inception參數,具體的參數介紹請移步

http://mysql-inception.github.io/inception-document/

[root@temi sql]# cat >/etc/inc.cnf

[inception]

general_log=1

general_log_file=/opt/inception/inception.log

port=6669

socket=/opt/inception/inc.socket

character-set-client-handshake=0

character-set-server=utf8

inception_remote_system_password=temi888

inception_remote_system_user=root

inception_remote_backup_port=3306

inception_remote_backup_host=127.0.0.1

inception_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=/opt/inception/temp

inception_osc_chunk_time=0.1

inception_ddl_support=1

inception_enable_blob_type=1

inception_check_column_default_value=1

5.後台啟動inception

[root@temi sql]# nohup /data/inception/bin/Inception --defaults-file=/etc/inc.cnf &

[root@temi sql]# ps -ef|grep Inception

6.登錄驗證

啟動資料庫,沒有的可以自行安裝。

7.安裝mysql5.7:

[root@temi ~]#wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

[root@temi ~]# yum localinstall mysql57-community-release-el7-8.noarch.rpm

[root@temi ~]# yum repolist enabled | grep "mysql.*-community.*"

[root@temi ~]# yum install mysql-community-server

8.啟動mysql服務

systemctl start mysqld

9.為了加強安全性,MySQL5.7為root用戶隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則默認是/var/log/mysqld.log。

10.初次使用mysql5.7需要重置root密碼

首先,修改validate_password_policy參數的值,我的密碼太簡單所以需執行以下

mysql>set global validate_password_policy=0;

mysql>SET PASSWORD = PASSWORD("temi");

mysql>flush privileges;

mysql>exit;

11.登錄Inception

[root@temi ~]#mysql -uroot -h127.0.0.1 -P6669

二、web界面,安裝Yearning v1.2版本

下載,並ftp傳到伺服器/opt目錄下

鏈接:https://pan.baidu.com/s/1xEw73gh76HaC1EDyXy6kww 密碼:x4jm

1.安裝環境:

python3.6 + mysql5.7 +nginx

安裝python3.6

[root@temi ~]# wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz

[root@temi ~]# tar xvf Python-3.6.3.tgz

[root@temi ~]# mkdir /usr/local/python3

[root@temi ~]# cd Python-3.6.3/

[root@temi Python-3.6.3]#./configure --prefix=/usr/local/python3 --with-ssl && make && make install

將/opt/python3/bin加入環境變數

[root@temi ~]#echo "export PATH=$PATH:/usr/local/python3/bin/" >> ~/.bashrc

[root@temi ~]#. ~/.bashrc

2.代替系統的默認的 python,即運行 python就是運行 python3,而且要是 yum可以正常使用,我們可以執行如下步驟:

[root@temi ~]#mv /usr/bin/python /usr/bin/python-old-backup

[root@temi ~]#ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

[root@temi ~]#ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

3.將相關yum配置文件開頭的

#!/usr/bin/python 修改為 #/usr/bin/python-old-backup

三個文件

/usr/bin/yum

/usr/libexec/urlgrabber-ext-down

/usr/bin/yum-config-manager

4.啟動mysql

[root@temi ~]#lsystemctl start mysqld

5.創建資料庫並授權

mysql>CREATE DATABASE IF NOT EXISTS Yearning default charset utf8 COLLATE utf8_general_ci;

mysql>grant all on *.* to "yearning"@"%" identified by "temi";

mysql>grant all on *.* to "root"@"%" identified by "temi";

mysql>flush privileges;

6.此時應該已上傳完Yearning

更改配置文件:

7.安裝相應python依賴庫

[root@temi src]# /usr/local/python3/bin/pip3 install -r requirements.txt

8.初始化資料庫

[root@temi src]# python3 manage.py makemigrations core && python3 manage.py migrate core

9.添加初始化用戶

10.初始化許可權

11.初始化動態配置信息

[root@temi src]#echo "from core.models import globalpermissions; globalpermissions.objects.get_or_create(authorization="global", inception={"host": "", "port": "", "user": "", "password": "", "back_host": "", "back_port": "", "back_user": "", "back_password": ""}, ldap={"type": "", "host": "", "sc": "", "domain": "", "user": "", "password": ""}, message={"webhook": "", "smtp_host": "", "smtp_port": "", "user": "", "password": "", "to_user": "", "mail": False, "ding": False}, other={"limit": "", "con_room": ["AWS", "Aliyun", "Own", "Other"], "foce": "", "multi": False, "query": False, "sensitive_list": [], "sensitive": ""})" | python3 manage.py shell

12.Nginx安裝

添加CentOS 7 Nginx yum資源庫,打開終端,使用以下命令:

[root@temi src]#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

[root@temi src]#yum install -y nginx

13.啟動Nginx

systemctl start nginx.service

14.清空nginx網站存放目錄

[root@temi src]# rm /usr/share/nginx/html/*

15.拷貝Yearning目錄文件到nginx網站默認存放目錄

[root@temi src]#cp -rf /opt/Yearning/webpage/dist/* /usr/share/nginx/html/

16.替換pymysql連接文件

[root@temi src]#cp /opt/Yearning/install/connections.py /usr/local/python3/lib/python3.6/site-packages/pymysql/connections.py

[root@temi src]#cp /opt/Yearning/install/cursors.py /usr/local/python3/lib/python3.6/site-packages/pymysql/cursors.py

17.安裝npm

[root@temi src]#cd /opt/Yearning/webpage

[root@temi webpage]#yum install -y npm

18.安裝Vue最新穩定版本

[root@temi webpage]#npm install vue

19.最新穩定 CSP 兼容版本

[root@temi webpage]#npm install vue@csp

20.安裝命令行工具

[root@temi webpage]#npm install -g vue-cli

21.安裝依賴

[root@temi webpage]#npm install && npm run dev

22.啟動python server

[root@temi src]#nohup python3 /opt/Yearning/src/manage.py runserver 0.0.0.0:8000 &

三.訪問http://193.112.81.69

需要防火牆放通80,8000,3306埠

賬號密碼為二-9步驟的賬號密碼


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 智度9394 的精彩文章:

TAG:智度9394 |