開源知識庫管理系統選型 centos6.4 搭建knowlededgeroot-1.0.4知識庫平台


開源知識庫管理系統選型,除了使用wiki外,還有下面可選:

  1. http://www.knowledgebase-script.com/
  2. https://github.com/lordlamer/knowledgeroot
  3. http://www.phpmyfaq.de/ 
  4. http://sourceforge.net/projects/kbpublisher/
  5. http://sourceforge.net/projects/openkbs/

 

centos6.4 搭建knowlededgeroot-1.0.4知識庫平台
 
 

   最近接到一個任務,要求搭建一個用於部門內部業務知識規范管理和共享的平台,目的是把部門內的FAQ知識規范化,保持版本統一。

需求如下:

  • 能夠在線編輯資料並設置格式,頁面上能夠插入和顯示截圖。

  • 能夠插入表格,並且最好能顯示顏色和邊框。

  • 能上傳和下載附件。

  • 並能夠給每個人設置只讀或修改等不同的權限。

  • 在滿足以上要求的前提下,盡量讓界面操作簡單,結構清晰明了。

鄙人先后在自己的虛擬機上搭建並測試了HDwiki、JSPwiki 都不是太理想。后來發現knowledgeroot可以實現我上面的需求,而且界面比較簡單。於是就用它搭建了我的知識庫平台。下面把我利用knowledgeroot搭建內部知識庫的步驟分享給大家。由於這個知識庫只是供部門內部使用,服務器不能連外網,所以搭建在內網環境里。

 

實施:

 

一、搭建內網本地的yum源,為安裝lnmp環境做准備。見此文。centos6.4利用iso文件搭建本地yum源

、部署lnmp環境:linux+nginx+mysql+php環境,這一步本文先不闡述。大家可以參考網上的一些方法。

三、部署knowledgeroot站點程序。


1、下載knowledgeroot-1.0.4程序。

去該網址http://www.knowledgeroot.org/下載最新的安裝包:knowledgeroot-1.0.4.tar.gz

 

230251739.png

同時在下面的頁面中下載ckeditor這個編輯器插件ckeditor_3.6.2.krx,用來替換knowledgeroot自帶的編輯器,該編輯器比自帶的編輯器要強大一些,功能更多一下,關於ckeditor的詳細介紹,請看Web 編輯器CKEditor 介紹

230521239.png

 

2、將下載來的knowledgeroot-1.0.4.tar.gz上傳並解壓到服務器的web站點根目錄下。

linux上傳文件大家都會的,我這里使用rz工具上傳,可我服務器上無法使用rz命令,是因為沒有安裝rz命令相關的軟件包。那就加一個小插曲,把rz工具安裝上。(會上傳文件以及使用其他工具上傳的朋友略過。)

   a、查看rz命令屬於哪個軟件包。

[root@centos6~]# yum provides */rz

Loadedplugins: fastestmirror, security

Loadingmirror speeds from cached hostfile

lrzsz-0.12.20-27.1.el6.x86_64: The lrz and lsz modem communications programs

Repo        : c6-media

Matchedfrom:

Filename    : /usr/bin/rz

        b、安裝lrzsz-0.12.20-27.1.el6.x86_64工具包。

[root@centos6~]# yum install lrzsz -y

安裝完成。

此時就可以在遠程的終端里輸入rz命令,系統會自動彈出選擇上傳文件的選擇框,找到本地電腦上的文件,確定后就可以傳到當前目錄。

解壓文件:

[root@centos6~]# tar zxvf knowledgeroot-1.0.4.tar.gz

tar:它似乎不像是一個 tar 歸檔文件

tar:跳轉到下一個頭

tar:由於前次錯誤,將以上次的錯誤狀態退出

 

這里出錯了,系統認為該文件不是tar壓縮包,有點奇怪,那我們看看他到底是什么文件。

[root@centos6~]# file knowledgeroot-1.0.4.tar.gz

knowledgeroot-1.0.4.tar.gz:gzip compressed data, from Unix

 

原來他是gzip的壓縮文件,ok,那我們用gzip來解壓縮。

[root@centos6~]# gzip -d knowledgeroot-1.0.4.tar.gz

[root@centos6~]# ll

總用量13900

-rw-r--r--  1 root root 1986919 11月  2 01:06ckfinder_php_2.4.zip

-rw-r--r--  1 root root 11080018 11月  2 02:33 knowledgeroot-1.0.4.tar

此時發現原來的knowledgeroot-1.0.4.tar.gz 已經變成knowledgeroot-1.0.4.tar文件了,接着再用tar來解壓,就順利成章的得到壓縮包里的文件了。

[root@centos6~]# tar xvf knowledgeroot-1.0.4.tar

[root@centos6 ~]# mv knowledgeroot-1.0.4/data/htdocs/www/      ###將解壓后的目錄移動到服務器的web站點的根目錄下,我的web站點根目錄是/data/htdocs/www/

3、配置虛擬主機站點。

我們確認下站點的目錄。需要把這個路徑配置到nginx的配置文件中。

[root@centos6www]# ls /data/htdocs/www/knowledgeroot-1.0.4/

admin         cache  content.php  doc    extension   icon.php  images   index.php   lib       print.php  update.php

ajax-xml.php  config debug.php    dumps  favicon.ico icons     include  install.php move.php  system     uploads

 

[root@centos6www]# vi /usr/local/webserver/nginx/conf/nginx.conf

添加下面一部分信息:

server

{

listen80;

server_namewww.ycitzsk.com 192.168.0.109;

indexindex.html index.htm index.php;

root/data/htdocs/www;

 

location~ .*\.(php|php5)?$

{

#fastcgi_passunix:/tmp/php-cgi.sock;

fastcgi_pass127.0.0.1:9000;

fastcgi_indexindex.php;

includefcgi.conf;

}

location~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires30d;

}

 

location~ .*\.(js|css)?$

{

expires1h;

}

 

log_formatwwwlogs '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" $http_x_forwarded_for';

access_log/data/logs/wwwlogs.log wwwlogs;

 

}

 

修改完成測試一下nginx配置文件是否有語法錯誤:

[root@centos6www]# /usr/local/webserver/nginx/sbin/nginx -t

theconfiguration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok

configurationfile /usr/local/webserver/nginx/conf/nginx.conf test is successful

測試ok,重新加載配置:

[root@centos6www]# /usr/local/webserver/nginx/sbin/nginx -s reload

[root@centos6 www]# cd/data/htdocs/www/knowledgeroot-1.0.4

[root@centos6knowledgeroot-1.0.4]# chmod -R 777 admin/

[root@centos6knowledgeroot-1.0.4]# chmod -R 777 config

[root@centos6knowledgeroot-1.0.4]# chmod -R 777 cache

 

4、開始安裝knowledgeroot

在瀏覽器中輸入服務器的ip或域名及路徑,比如http://192.168.0.109/knowledgeroot-1.0.4/install.php回車就會出現安裝界面,如下,填寫相關信息。

230845805.png

 

 

輸入完信息后點擊最下面的“start intallation”完成安裝。

這里如果報錯諸如“Could not connect to database! 請檢測數據庫用戶名和密碼是否正確,可以先在服務器上用你的mysql帳號和密碼測試一下是否能夠鏈接。檢測帳號的授權信息等。

如果報錯跟config目錄權限有關,請檢查adminconfig目錄的權限是否已經設置為了777.

 

如果權限什么的都正常,就會返回下面的安裝成功的信息。並提示刪除install.phpupdate.php

231000980.png

 

點擊最下面的“Link Backend: Backend”就可以跳轉到后台管理頁面。如下:

(注意這里如果報錯cache沒有寫入權限的話,請給cache目錄設置權限為777),刷新就可以出現登錄界面了。

231045552.png

 

輸入用戶名和密碼admin 登錄到后台界面:在這個頁面可以查看和修改配置信息,也可以導入插件,添加帳號。

231147271.png

 

重新打開瀏覽器輸入ip或域名加路徑,登錄到前台頁面:如下:

231242452.png

可以使用admin登錄進去,點擊roots 就可以創建一級頁面,並可以設置權限,設置是否繼承權限到子頁面。

231348828.png

 

231418741.png

選中某個一級頁面,路徑那里會顯示當前選中的頁面,點擊“增加新頁面”就可以在該一級頁面下創建二級頁面。

 

231506705.png

 

231532528.png

同樣的,選中某一級頁面,點擊“增加新的內容”就可以打開內容編輯頁面,這里可以編輯頁面內容了。

 

231737636.png

 

 

 

 

5、個性化配置knowledgeroot

 

原來安裝包創建的數據庫默認使用瑞典語,這個很不好看,可以打開dumps/mysql.sql 文件進行修改,將

ENGINE=MyISAM AUTO_INCREMENT=1

全部替換為

ENGINE=MyISAM AUTO_INCREMENT=1CHARACTERSET utf8 COLLATE utf8_unicode_ci

 

用下面的一行命令一次性修改完成:

sed  -i  's/ENGINE=MyISAM AUTO_INCREMENT=1/ENGINE=MyISAMAUTO_INCREMENT=1\ CHARACTER SET utf8 COLLATE utf8_unicode_ci/g'  dumps/mysql.sql

即可保證所有的表創建為UTF-8 格式的。

 

登錄管理后台:瀏覽器中輸入http://務器ip或域/admin例如:我的站點是http://192.168.0.109/admin/回車后就會出現登錄界面,輸入初始帳號和密碼都是admin,點擊登錄就會出現下面的界面。

 

231824219.png

如上圖所示,點擊左側的configure按鈕,右側就會出現當前的配置詳情,可以根據自己的需求更改相應的配置,雙擊等號下面的參數值就可以更改。修改后回車即時生效。也可以在服務器上站點目錄下的config目錄中修改app.ini文件,這個頁面就是調用的該文件。

以下是我的配置文件,應該調試的時候更改了一些參數,我把站點根目錄也改成了/data/htdocs/wiki/,結果如下:

[root@centos6wiki]# more /data/htdocs/wiki/config/app.ini

[base]

version= "1.0.4"

title = "IT運維知識庫"                                         ##這里是瀏覽器標簽欄上顯示的標題,根據自己想顯示的標題寫

cryptkey= "yourcryptkeyhere"

base_path= "/data/htdocs/wiki/"                    ##這里是網站在服務器上存放的絕對路徑,根據自己實際情況填寫

base_url= "http://192.168.0.109/"                  ##這里是訪問網站的url路徑,根據自己的實際情況填寫。

charset= "UTF-8"                                                 ##這里是編碼

locale= "zh_CN"                                                   ##默認語言

showlogo= "1"

theme= "wordpress"

 

[admin]

loginhash= "f6fdffe48c908deb0f4c3bd36c032e72"

base_path= "/data/htdocs/wiki/admin/"

 

[upload]

url_suffix= "upload/"

path= "uploads/"

maxfilesize= "30720000"

 

[output]

compression= "1"

level= "6"

 

[db]

adapter= "mysql"

params.host= "127.0.0.1"

params.username= "admin"

params.password = "mysql_password"

params.dbname= "wiki"

encoding= ""

schema= ""

profiler= "1"

pconnect= ""

 

[session]

handle= "1"

lifetime= "60"

check_browser= "1"

check_ip= "1"

only_cookies= "1"

 

[login]

delay= "30"

max= "50"

 

[email]

notification= ""

html= "1"

 

[cache]

options.caching= ""

options.lifetime= "7200"

options.automatic_serialization= "1"

path= "cache/"

 

[log]

adapter= "file"

level= "info"

file= "log/knowledgeroot.log"

 

[translation]

adapter= "gettext"

folder= "system/language/"

 

[development]

runtime= ""

toolbar= ""

sqldebug= ""

 

[tree]

expandall= "1"

type= "static"

ajax= "1"

edittooltiptext= "1"

order= ""

showcounter= "1"

defaultlayout= ""

defaultlayoutarray= ""

symlink= "1"

 

[content]

showtitle= "1"

showtitledetails= "1"

collapsecontent= "1"

statusbar= "1"

autosave= "1"

autosaveevery= "30"

 

[menu]

context= "1"

dragdrop= "1"

type= "static"

showsourceforgelogo= ""

 

[misc]

defaultpage= "1"

recursivdelete= "2"

pagealias.use= "1"

pagealias.static= "1"

pagealias.rights= "2"

langdropdown= "0"

download.static= ""

subinheritrightsonmove= ""

showpagebottomnavi= "1"

 

[javascript]

cdn= ""

cdn_url= "http://ajax.googleapis.com/ajax/libs/dojo/1.6.2/dojo/dojo.xd.js"

cdn_css_base_url= "http://ajax.googleapis.com/ajax/libs/dojo/1.6.2/"

 

 

6、安裝歷史版本插件,使其支持歷史版本。

http://www.knowledgeroot.org/extensions.html網站下載history.krx插件,並在后台界面import頁面中導入history.krx插件,install的時候會向數據庫中增加一個表,可能會因為mysql版本的問題,導致表格添加失敗,這樣在打開頁面中的歷史版本的時候就會有報錯。如果這樣,就手動在mysql中執行下面的sql語句,(相對與history插件原始的sql建表語句主要就是更換了最后面一行的sql語句)手動創建數據庫表kx_ext_history。這樣歷史版本就沒問題了。

CREATETABLE `kx_ext_history` (

`id` int(11) NOT NULL auto_increment,

`contentid` int(11) NOT NULL,

`version` int(11) NOT NULL,

`title` varchar(255) default NULL,

`content` mediumtext NOT NULL,

`type` varchar(255) NOT NULL default 'text',

`lastupdatedby` int(11) NOT NULL default '0',

`lastupdated` timestamp NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci;

 

7、將ckeditor整合到knowledgeroot中,替換默認編輯器,並將ckfinderckeditor組合起來,實現文件上傳、圖片上傳功能。

參考第三部分的第1步,下載並安裝ckeditor插件,導入ckeditor插件並啟用,替換默認的編輯器。如下圖:

 

232653284.png

 

導入成功后點擊“extensions”在右側可以看到已經導入的插件,點擊install enable,就可以啟用相應的插件。

232732388.png

 

此時重新登錄前台頁面,打開增加新內容頁面,就可以看到編輯器已經替換為ckeditor了,功能比原來強大了好多。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM