本文主要介紹如何在Linux上安裝
官網環境要求:Centos >= 5.x, Debian >= 5.x GCC版本: >= 4.4.x
本文的安裝環境介紹:Centos =6.9, GCC版本: = 4.4.7
Mysql =5.6 ,python =2.6 kbengine= v1.0.0
一.編譯:
[root @ localhost ~]# yum install openssl-devel (在Ubuntu類系統上, 使用 "apt-get install libssl-dev") [root @ localhost ~]# yum install mysql-server (在Ubuntu類系統上, 使用 "apt-get install mysql-server") [root @ localhost ~]# yum install mysql-devel (在Ubuntu類系統上, 使用 "apt-get install libmysql-dev") [root @ localhost ~]# yum install gcc+ gcc-c++(在Ubuntu類系統上, 使用 "apt-get install gcc 下載源碼包: root @ localhost ~]# wget -c https://github.com/kbengine/kbengine/archive/v1.0.0.zip root @ localhost ~]# unzip v1.0.0.zip [root @ localhost ~]# cd kbengine/kbe/src [root @ localhost/ src]# chmod -R 755 . [root @ localhost/ src]# make
編譯會因為服務器的性能有所不同,一般10多分鍾左右
完成如圖:或者輸入echo $? 如果返回為0,編譯成功
注意:

1: 如果使用了其他版本的編譯器最好重編譯openssl、log4cxx與其他(kbengine/kbe/src/libs/*a.)。 2: mysql_config在某些操作系統版本上可能不是這個路徑地址 /usr/bin/mysql_config 你可以手動修改kbengine/kbe/src/build/common.mak其中MYSQL_CONFIG_PATH=/usr/bin/mysql_config。 3: 在Linux上編譯之后可能會出現Python解釋器無法初始化而導致無法啟動服務端的問題 (這是一個Python的bug,參看:http://bugs.python.org/issue11320): 你可以執行如下命令解決這個問題 [root @ localhost ~] cd kbengine/src/lib/python [root @ localhost ~] ./configure [root @ localhost ~] make [root @ localhost ~] make install
二.安裝:
(注意:使用這種方式安裝必須已經完成建立步驟)
在一個(Windows/Centos/Redhat/Debian/Ubuntu 等等)系統中安裝KBEngine服務端, 請在命令行輸入:
python kbengine/kbe/tools/server/install/installer.py instal
官方是有自動化的安裝py腳本的, 不過還是有很多小坑的. (官方並沒有寫提前要建立數據庫)
不過其實腳本主要也就是只做兩件事, 其他都是可選的:
- 配置環境變量
- 安裝配置mysql
2.1.數據庫操作:
安裝kbe之前請提前在mysql里
- 建一個數據庫(比如建一個數據庫kbe_database)
- 一個至少擁有select,insert,update,delete,create,drop權限的用戶(比如這個用戶是kbe_user)
數據庫命令:先進入數據庫
create database kbe_database; 創建數據庫 grant all privileges on *.* to 'kbe'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; grant all privileges on *.* to 'kbe'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;
2.2.腳本安裝
進入kbe的根目錄
cd kbengine
python kbengine/kbe/tools/server/install/installer.py install
情況好的是上述這種沒有錯誤的安裝;
但有時是這樣的
它就會問你 :
Install KBEngine to Linux-account(No input is kbe):kbe #請創建一個賬號
not found system-user[kbe], create new user?: [yes|no]yes #是否創建
Please enter the Linux-account passwd(No input is kbe):123456 #輸入密碼
Check the dependences:
- kbe_environment: checking...
ERROR: KBE_ROOT: is error! The directory or file not found:
KBE_ROOT//kbe
KBE_ROOT=
KBE_ROOT current: 現在的引擎根目錄
reset KBE_ROOT(No input is [/kbengine/]): 敲回車
之后顯示的都直接敲回車, 用默認的就可以, 直到他開始問你mysql的東西, 到mysql他會問
KBE_RES_PATH current: $KBE_ROOT/kbe/res/:$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/ #現在引擎的資源路徑 和
用戶腳本的資源路徑
reset KBE_RES_PATH(No input is [$KBE_ROOT/kbe/res/:$KBE_ROOT/assets/:$KBE_ROOT/assets/scripts/:$KBE_ROOT/assets/res/]): 敲回車
KBE_BIN_PATH current: $KBE_ROOT/kbe/bin/server/ #引擎可執行文件所在目錄。
reset KBE_BIN_PATH(No input is [$KBE_ROOT/kbe/bin/server/]): 敲回車
KBE_UID current: 0
備注:uid必須大於0, 小於32767.
os system-username(kbe):kbe
usermod -u [No input is 0] kbe, Enter new uid:1314
這是最重要的部分
- mysql: checking...
- MySQL is installed on the remote machine?[yes/no] 詢問你本地還是遠程
1 - Enter mysql ip-address:127.0.0.1 2 - Enter mysql ip-port:3306 3 - Enter mysql-account:kbe 4 - Enter mysql-password:123456 5 - Enter mysql-databaseName:kbe_database 6 - mysql: yes 7 Modified: /home/b/kbengine-0.9.18//kbe/res/server/kbengine_defs.xml 8 KBEngine has been successfully installed!
是否安裝成功
找到你的kbe根目錄, 然后進入根目錄, 比如你的kbe根目錄是kbengine, 則
- 進入kbe根目錄下的assets目錄 : cd kbengine/assets
- 運行啟動腳本 : sh ./start_server.sh
(注意: 初次啟動KBEngine時,mysql需要初始化一些表結構,可能會花上幾分鍾請耐心等待完成。)
用ps檢查一下是否有以下進程再跑
[root@424439a6674e assets]# ps -ef | grep -v grep | grep -i kbe root 5916 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//machine --cid=2129652375332859700 --gus=1 root 5917 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//logger --cid=1129653375331859700 --gus=2 root 5918 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//interfaces --cid=1129652375332859700 --gus=3 root 5919 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//dbmgr --cid=3129652375332859700 --gus=4 root 5920 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//baseappmgr --cid=4129652375332859700 --gus=5 root 5921 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//cellappmgr --cid=5129652375332859700 --gus=6 root 5922 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//baseapp --cid=6129652375332859700 --gus=7 root 5923 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//cellapp --cid=7129652375332859700 --gus=8 root 5924 0 0 05:42 pts/1 00:00:00 /kbengine/kbe/bin/server//loginapp --cid=8129652375332859700 --gus=9
檢查我們mysql中的kbe_database數據庫里是否多了幾個表
mysql> show tables; +---------------------------+ | Tables_in_b_test_database | +---------------------------+ | kbe_accountinfos | | kbe_email_verification | | kbe_entitylog | | kbe_serverlog | | tbl_Account | +---------------------------+ 5 rows in set (0.00 sec)
待續
文章出處:
http://blog.csdn.net/nosix/article/details/77104859