開源看板系統(tǒng)WeKan安裝教程

簡介

最近由于項目管理需要,找了一些開源相關的軟件页响,有幾款大體看下了,從頁面段誊、功能都還不錯闰蚕,比如

  • Taiga
    Scrum

    Kanban

    Epics Multiproject
  • orangescrum


    orangescrum
  • jitamin


    jitamin
  • openproject


    openproject
  • wekan


    wekan

經過一些簡單對比之后,包括需求连舍、流行度没陡、安裝難易程度等,暫時選用了wekan來試一把

安裝過程

環(huán)境

  • Linux機器一臺
  • root權限

安裝步驟

  • 創(chuàng)建wekan用戶
  • 安裝Nodejs(或者nvm)
  • 安裝MongoDB
  • 安裝Wekan
  • 設置為系統(tǒng)服務(可選)
  • 安裝Nginx作為反向代理(可選)

創(chuàng)建wekan用戶

useradd -m -d /opt/wekan wekan
passwd wekan
su wekan

Step1. 安裝Nodejs

下載Nodejs

wget https://nodejs.org/dist/v10.16.1/node-v10.16.1-linux-x64.tar.xz

解壓

xz -d node-v10.16.1-linux-x64.tar.xz
tar xvf node-v10.16.1-linux-x64.tar

解壓成功如下
total 164
drwx------ 2 wekan wekan  4096 Aug  1 01:59 bin
-rw------- 1 wekan wekan 51895 Aug  1 01:59 CHANGELOG.md
drwx------ 3 wekan wekan  4096 Aug  1 01:59 include
drwx------ 3 wekan wekan  4096 Aug  1 01:59 lib
-rw------- 1 wekan wekan 68764 Aug  1 01:59 LICENSE
-rw------- 1 wekan wekan 26840 Aug  1 01:59 README.md
drwx------ 5 wekan wekan  4096 Aug  1 01:59 share

配置環(huán)境變量

打開~/.bashrc索赏,增加如下一行
export PATH=/path_to_node/bin:$PATH
中間path_to_node替換為對應的nodejs的正確路徑盼玄,然后使配置生效,source ~/.bashrc潜腻,執(zhí)行node -v

[wekan@host-*** ***]$ node -v
v10.16.1

Step2.安裝MongoDB

參考官方教程網絡教程埃儿,有簡單的一鍵安裝和自定義的安裝,下面的教程是較為繁瑣和靈活的自定義的安裝

下載

這里選擇

下載頁面

這邊下載的是wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.11.tgz

解壓配置

tar zxvf mongodb-linux-x86_64-4.0.11.tgz
~/.bashrc里面配置環(huán)境變量融涣,步驟和node安裝里面的類似童番,打開~/.bashrc精钮,增加如下一行
export PATH=/path_to_mongodb/bin:$PATH
path_to_mongodb替換為你的mongodb的路徑并使配置生效source ~/.bashrc

配置

一般mongodb可以在命令行里面直接帶上配置參數,例如
mongod --dbpath=data/db --logpath=log/log.txt --fork
但是這樣顯得命令特別繁瑣剃斧,一般都會使用配置文件轨香,參考配置文件如下

systemLog:
   # verbosity: 0  #日志等級,0-5幼东,默認0
   # quiet: false  #限制日志輸出臂容,
   # traceAllExceptions: true  #詳細錯誤日志
   # syslogFacility: user #記錄到操作系統(tǒng)的日志級別,指定的值必須是操作系統(tǒng)支持的根蟹,并且要以--syslog啟動
   path: /path_to_mongodb/logs/log.txt  #日志路徑策橘。
   logAppend: false #啟動時,日志追加在已有日志文件內還是備份舊日志后娜亿,創(chuàng)建新文件記錄日志, 默認false
   logRotate: rename #rename/reopen丽已。rename,重命名舊日志文件买决,創(chuàng)建新文件記錄沛婴;reopen,重新打開舊日志記錄督赤,需logAppend為true
   destination: file #日志輸出方式嘁灯。file/syslog,如果是file,需指定path躲舌,默認是輸出到標準輸出流中
   timeStampFormat: iso8601-local #日志日期格式丑婿。ctime/iso8601-utc/iso8601-local, 默認iso8601-local
   # component: #各組件的日志級別
   #    accessControl:
   #       verbosity: <int>
   #    command:
   #       verbosity: <int>

processManagement:
   fork: true #以守護進程運行 默認false
   # pidFilePath: <string> #PID 文件位置

net:
   port: 27017 #監(jiān)聽端口,默認27017
   bindIp: 127.0.0.1 #綁定監(jiān)聽的ip没卸,deb和rpm包里有默認的配置文件(/etc/mongod.conf)里面默認配置為127.0.0.1,若不限制IP羹奉,務必確保認證安全,多個Ip用逗號分隔
   maxIncomingConnections: 65536 #最大連接數约计,可接受的連接數還受限于操作系統(tǒng)配置的最大連接數
   wireObjectCheck: true #校驗客戶端的請求诀拭,防止錯誤的或無效BSON插入,多層文檔嵌套的對象會有輕微性能影響,默認true
   ipv6: false #是否啟用ipv6,3.0以上版本始終開啟
   unixDomainSocket: #unix socket監(jiān)聽,僅適用于基于unix的系統(tǒng)
      enabled: false #默認true
      pathPrefix: /tmp #路徑前綴煤蚌,默認/temp
      filePermissions: 0700 #文件權限 默認0700
   # ssl: #估計用不到耕挨,所以沒有自己看
   #    sslOnNormalPorts: <boolean>  # deprecated since 2.6
   #    mode: <string>
   #    PEMKeyFile: <string>
   #    PEMKeyPassword: <string>
   #    clusterFile: <string>
   #    clusterPassword: <string>
   #    CAFile: <string>
   #    CRLFile: <string>
   #    allowConnectionsWithoutCertificates: <boolean>
   #    allowInvalidCertificates: <boolean>
   #    allowInvalidHostnames: <boolean>
   #    disabledProtocols: <string>
   #    FIPSMode: <boolean>

security:
   authorization: disabled# enabled/disabled #開啟客戶端認證
   javascriptEnabled:  true #啟用或禁用服務器端JavaScript執(zhí)行
   # keyFile: <string> #密鑰路徑
   # clusterAuthMode: <string> #集群認證方式
   # enableEncryption: <boolean>
   # encryptionCipherMode: <string>
   # encryptionKeyFile: <string>
   # kmip:
   #    keyIdentifier: <string>
   #    rotateMasterKey: <boolean>
   #    serverName: <string>
   #    port: <string>
   #    clientCertificateFile: <string>
   #    clientCertificatePassword: <string>
   #    serverCAFile: <string>
   # sasl:
   #    hostName: <string>
   #    serviceName: <string>
   #    saslauthdSocketPath: <string>
   

# setParameter: #設置參數
#    <parameter1>: <value1>
#    <parameter2>: <value2>

storage:
   dbPath: /path_to_mongodb/db #數據庫,默認/data/db,如果使用軟件包管理安裝的查看/etc/mongod.conf
   indexBuildRetry: true #重啟時尉桩,重建不完整的索引
   # repairPath: <string>  #--repair操作時的臨時工作目錄筒占,默認為dbPath下的一個_tmp_repairDatabase_<num>的目錄
   journal: 
      enabled: true #啟動journal,64位系統(tǒng)默認開啟,32位默認關閉
      # commitIntervalMs: <num> #journal操作的最大時間間隔蜘犁,默認100或30
   directoryPerDB: false #使用單獨的目錄來存儲每個數據庫的數據,默認false,如果需要更改翰苫,要備份數據,刪除掉dbPath下的文件沽瘦,重建后導入數據
   # syncPeriodSecs: 60 #使用fsync來將數據寫入磁盤的延遲時間量,建議使用默認值
   engine: wiredTiger #存儲引擎革骨,mmapv1/wiredTiger/inMemory 默認wiredTiger
   # mmapv1:
   #    preallocDataFiles: <boolean>
   #    nsSize: <int>
   #    quota:
   #       enforced: <boolean>
   #       maxFilesPerDB: <int>
   #    smallFiles: <boolean>
   #    journal:
   #       debugFlags: <int>
   #       commitIntervalMs: <num>
   # wiredTiger:
   #    engineConfig:
   #       cacheSizeGB: <number>  #緩存大小
   #       journalCompressor: <string> #數據壓縮格式 none/snappy/zlib
   #       directoryForIndexes: <boolean> #將索引和集合存儲在單獨的子目錄下农尖,默認false
   #    collectionConfig:
   #       blockCompressor: <string> #集合數據壓縮格式 
   #    indexConfig:
   #       prefixCompression: <boolean> #啟用索引的前綴壓縮
   # inMemory:
   #    engineConfig:
   #       inMemorySizeGB: <number>
 
operationProfiling: #性能分析
   slowOpThresholdMs: 100 #認定為查詢速度緩慢的時間閾值,超過該時間的查詢即為緩慢查詢良哲,會被記錄到日志中, 默認100
   mode: off #operationProfiling模式 off/slowOp/all 默認off

# replication: #復制集相關
#    oplogSizeMB: <int>
#    replSetName: <string>
#    secondaryIndexPrefetch: <string>
#    enableMajorityReadConcern: <boolean>
# sharding: #集群分片相關
#    clusterRole: <string>
#    archiveMovedChunks: <boolean>

# auditLog:
#    destination: <string>
#    format: <string>
#    path: <string>
#    filter: <string>

# snmp:
#    subagent: <boolean> #當設置為true盛卡,SNMP作為代理運行
#    master: <boolean> #當設置為true,SNMP作為主服務器運行

# basisTech:
#    rootDirectory: <string>

官方詳細說明如下
https://docs.mongodb.com/manual/reference/configuration-options/
:其中systemLog下面的path和storage下面的dbPath需要提前創(chuàng)建筑凫,另外這里為了省事滑沧,鑒權的配置關閉,生產環(huán)境注意要開啟巍实,開啟后配置這里不詳細說明了

security:
   authorization: disabled# enabled/disabled #開啟客戶端認證

啟動

前往配置文件所在的路徑滓技,執(zhí)行mongod -f mongod.conf,其中mongod.conf為配置文件

[wekan@host-***mongodb-linux-x86_64-4.0.11]$ mongod -f mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 29376
child process started successfully, parent exiting

啟動成功

驗證

執(zhí)行mongo

[wekan@host-*** mongodb-linux-x86_64-4.0.11]$ mongo
MongoDB shell version v4.0.11
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("98e3d5df-e0a5-4204-8611-4e685fb048b4") }
MongoDB server version: 4.0.11
Server has startup warnings:
2019-08-03T15:39:05.520+0800 I STORAGE  [initandlisten]
2019-08-03T15:39:05.520+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-08-03T15:39:05.520+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten]
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] ** WARNING: You are running on a NUMA machine.
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] **          We suggest launching mongod like this to avoid performance problems:
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] **              numactl --interleave=all mongod [other options]
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten]
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten]
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten]
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 1000000 files. Number of processes should be at least 500000 : 0.5 times number of files.
2019-08-03T15:39:06.642+0800 I CONTROL  [initandlisten]
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

一些warning先不管了

安裝Wekan

同樣的棚潦,我們使用安裝包手動安裝

下載

找到兩個鏈接令漂,一個是https://github.com/wekan/wekan/releases,如下

release

和這個https://releases.wekan.team/

release

我下載的是下面這個丸边。

解壓

total 102164
drwxr-xr-x 4 wekan users      4096 Aug  6 15:24 bundle
-rw------- 1 wekan users 104502193 Aug  6 14:50 wekan-latest.zip

進入bundle

total 324
-r--r--r-- 1 wekan users      8 Jul 26 16:08 .node_version.txt
-r--r--r-- 1 wekan users    534 Jul 26 16:08 README
-rw-r--r-- 1 wekan users 295270 Aug  6 16:44 log.txt
-r--r--r-- 1 wekan users    151 Jul 26 16:08 main.js
drwxr-xr-x 5 wekan users   4096 Jul 26 16:08 programs
drwxr-xr-x 2 wekan users   4096 Jul 26 16:08 server
-r--r--r-- 1 wekan users    601 Jul 26 16:08 star.json

OK叠必,有個README文件就好,我們看下README的內容

This is a Meteor application bundle. It has only one external dependency:
Node.js v8.15.1. To run the application:

  $ (cd programs/server && npm install)
  $ export MONGO_URL='mongodb://user:password@host:port/databasename'
  $ export ROOT_URL='http://example.com'
  $ export MAIL_URL='smtp://user:password@mailhost:port/'
  $ node main.js

Use the PORT environment variable to set the port where the
application will listen. The default is 80, but that will require
root on most systems.

Find out more about Meteor at meteor.com.

安裝

根據README的指示安裝妹窖,安裝過程中纬朝,可能會碰到這個問題

Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found 

這是因為我們libstdc++的版本過低,嘗試升級一下即可骄呼,我這邊偷懶共苛,是直接從另外一臺機器上面拷貝了一個高版本的過來,如下

total 1108
lrwxrwxrwx 1 wekan users      19 Aug  6 15:00 libstdc++.so.6 -> libstdc++.so.6.0.25
-rw-r--r-- 1 wekan users 1126624 Aug  6 14:59 libstdc++.so.6.0.25

這是后再運行安裝命令即可

運行

根據README的說明蜓萄,運行需要配置mongodb隅茎、訪問url、mail服務器這幾個绕德,這邊簡單寫了個啟動腳本

#!/bin/bash
#配置mongodb鏈接url患膛,這邊配置的是不帶賬號密碼的
export MONGO_URL='mongodb://10.**.**.198:27017/wekan'
#訪問url
export ROOT_URL='http://10.**.**.146'    
#引入動態(tài)鏈接庫,這個可以根據自己的環(huán)境配置
export LD_LIBRARY_PATH=/***/library:$LD_LIBRARY_PATH
#監(jiān)聽端口耻蛇,80需要root權限
export PORT=80
#啟動命令,這邊省略了我的路徑信息
/***/node-v10.16.1-linux-x64/bin/node main.js > log.txt 2>&1 &

執(zhí)行這個腳本胞此,觀察進程是否ok即可

使用

在瀏覽器訪問配置的對應鏈接臣咖,簡單注冊進入即可


首頁
列表頁
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市漱牵,隨后出現的幾起案子夺蛇,更是在濱河造成了極大的恐慌,老刑警劉巖酣胀,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刁赦,死亡現場離奇詭異娶聘,居然都是意外死亡,警方通過查閱死者的電腦和手機甚脉,發(fā)現死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門丸升,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牺氨,你說我怎么就攤上這事狡耻。” “怎么了猴凹?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵夷狰,是天一觀的道長。 經常有香客問我郊霎,道長沼头,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任书劝,我火速辦了婚禮瘫证,結果婚禮上,老公的妹妹穿的比我還像新娘庄撮。我一直安慰自己背捌,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布洞斯。 她就那樣靜靜地躺著毡庆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪烙如。 梳的紋絲不亂的頭發(fā)上么抗,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音亚铁,去河邊找鬼蝇刀。 笑死,一個胖子當著我的面吹牛徘溢,可吹牛的內容都是我干的吞琐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼然爆,長吁一口氣:“原來是場噩夢啊……” “哼站粟!你這毒婦竟也來了?” 一聲冷哼從身側響起曾雕,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤奴烙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體切诀,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡揩环,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了幅虑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丰滑。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖翘单,靈堂內的尸體忽然破棺而出吨枉,到底是詐尸還是另有隱情,我是刑警寧澤哄芜,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布貌亭,位于F島的核電站,受9級特大地震影響认臊,放射性物質發(fā)生泄漏圃庭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一失晴、第九天 我趴在偏房一處隱蔽的房頂上張望剧腻。 院中可真熱鬧,春花似錦涂屁、人聲如沸书在。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒旬。三九已至,卻和暖如春帖族,著一層夾襖步出監(jiān)牢的瞬間栈源,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工竖般, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甚垦,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓涣雕,卻偏偏與公主長得像艰亮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胞谭,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容