1. 程式人生 > >wiki.js搭建自己的wiki

wiki.js搭建自己的wiki

wiki.js搭建

官網[wiki.js:](https://docs.requarks.io/wiki/)
目前這個wiki.js還存在一些bug,期待2.x版本正式釋出!

軟體依賴

wiki.js需要以下軟體包:
- git 2.7.4 or later is required
- nodejs 6.11.1 or later is required.
- mongodb 3.2 or later is required.
下面說以下這三個的安裝方式

git安裝

檢視git版本

git --version
weget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
tar -xzvf git-2.9.5.tar.gz 
cd git-2.9.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install
#修改git路徑
whereis git
#將檢視到的都mv掉,建立新的路徑
mv /usr/bin/git /usr/bin/git-2.15.git
mv /usr/local/bin/git /usr/local/bin/git-2.15.git
ln -s /usr/bin/git /usr/local/git/bin/git
ln -s /usr/local/git/bin/git /usr/bin/git
git --version

mongodb

到mongodb的官網上下載最新的版本

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.0.tgz
tar -xzvf mongodb-linux-x86_64-rhel62-4.0.0.tgz
mv mongodb-linux-x86_64-rhel62-4.0.0 /usr/local/mongodb
#將路徑加入系統Path
export PATH=/usr/local/mongodb/bin:$PATH
#mongodb配置
mkdir /data/mongodb
mkdir /var/log/mongodb/
vim /etc/mongodb.conf

將以下配置寫到mongodb.conf中

# Where to store the data.
dbpath=/data/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 127.0.0.1
port = 27017
#sslDisabledProtocols = none
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
fork=true
maxConns=50000
auth = false

暫時不開啟認證,等後面配置密碼再開啟
啟動mongodb:

mongod --config /etc/mongodb.conf

預設是27017埠,可通過netstat -nlpt來檢視

nodejs

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum install gcc-c++ make
#最好將yarn也安裝
yum install -y nodejs yarn

下載wiki.js

mkdir /data/wiki
cd /data/wiki
wget https://github.com/Requarks/wiki/releases/download/v1.0.78/wiki-js.tar.gz
wget https://github.com/Requarks/wiki/releases/download/v1.0.78/node_modules.tar.gz
tar -xzvf wiki-js.tar.gz
tar -xzvf node_modules.tar.gz
cp -n config.sample.yml config.yml

原版的wiki程式碼在ip:埠的方式訪問用起來會有問題,所以需要在wiki的程式碼上做如下修改:
在server檔案下,查詢src=appconfig.host + 替換成 src= ,查詢href=appconfig.host + 替換成href=,以上是為了將相關連結都改為相對路徑

配置wiki

在/data/wiki下,執行:

node wiki configure


瀏覽器開啟 localhost:3000,根據步驟配置。其中mongodb的配置為上面配置的資料庫;wiki的git repo配置為我們的gitlab上的wiki庫:http://gitlab.example.com/dev/wiki.git,使用wiki使用者進行同步。
以上配置後就可以通過: node wiki start啟動wiki了

配置mongodb許可權

#進入mongo shell
mongo
>use wiki
>db.createUser({user:'wiki',pwd:"123456",roles:[{role:"readWrite",db:"wiki"}]})
>exit


注意,mongodb連線語句中對 @ 和 : 這兩個符號敏感,所以不要密碼中不要用這兩個字元。
賦予wiki使用者許可權後,修改/etc/mongodb.conf,修改auth = false 為 auth = true
重啟mongo:

ps -ef | grep mongo | grep -v grep | awk '{print $2}' | xargs kill
mongod --config /etc/mongodb.conf


再修改/data/wiki/config.yml檔案,修改db屬性為:

db: 'mongodb://wiki:[email protected]:27017/wiki'


重啟wiki

cd /data/wiki
node wiki restart

nginx代理

我們啟用nginx對wiki進行代理,wiki的域名暫為: wiki.example.com
在/usr/local/nginx/conf/vhost/下,建立檔案wiki.conf,新增配置:

server {
    listen 80;
    server_name  wiki.example.com;
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://192.168.59.128:8556;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
  access_log /usr/local/nginx/logs/wiki.log;
  error_log  /usr/local/nginx/logs/wiki.log;
}

重啟nginx:

/usr/local/nginx/sbin/nginx -s reload

因wiki原始碼在頁面訪問時對域名不友好,需修改wiki原始碼:

  • 修改config.yml檔案,在port屬性後新增屬性:

  domain : 'http://wiki.example.com'
  其中wiki.example.com為我們自己wiki的域名,與nginx配置中的域名一致。

  •  修改server/views/layout.pug檔案,在23行,將23行改為var siteRoot = '!{appconfig.domain}' ,啟用域名的方式跳轉

重啟wiki,在瀏覽器輸入wiki.example.com進行訪問
以上,介紹!

config.yml配置

config.yml在node wiki configure進行配置後生成,可以通過修改這個檔案並重啟wiki來更改配置。當前配置模板:

title: wiki
host: 'http://192.168.59.128
port: 8556
domain : 'http://wiki.example.com'
paths:
  repo: ./repo
  data: ./data
uploads:
  maxImageFileSize: 3
  maxOtherFileSize: 100
lang: zh
langRtl: false
public: false
auth:
  defaultReadAccess: false
  local:
    enabled: true
  google:
    enabled: true
    clientId: GOOGLE_CLIENT_ID
    clientSecret: GOOGLE_CLIENT_SECRET
  microsoft:
    enabled: true
    clientId: MS_APP_ID
    clientSecret: MS_APP_SECRET
  facebook:
    enabled: false
    clientId: FACEBOOK_APP_ID
    clientSecret: FACEBOOK_APP_SECRET
  github:
    enabled: false
    clientId: GITHUB_CLIENT_ID
    clientSecret: GITHUB_CLIENT_SECRET
  slack:
    enabled: false
    clientId: SLACK_CLIENT_ID
    clientSecret: SLACK_CLIENT_SECRET
  ldap:
    enabled: false
    url: 'ldap://serverhost:389'
    bindDn: cn='root'
    bindCredentials: BIND_PASSWORD
    searchBase: 'o=users,o=example.com'
    searchFilter: '(uid={{username}})'
    tlsEnabled: false
    tlsCertPath: 'C:\example\root_ca_cert.crt'
  azure:
    enabled: false
    clientId: APP_ID
    clientSecret: APP_SECRET_KEY
    resource: 00000002-0000-0000-c000-000000000000
    tenant: YOUR_TENANT.onmicrosoft.com
  oauth2:
    enabled: false
    clientId: OAUTH2_CLIENT_ID
    clientSecret: OAUTH2_CLIENT_SECRET
    authorizationURL: OAUTH2_AUTH_URL
    tokenURL: OAUTH2_TOKEN_URL
sessionSecret: 89a845b448c498e23c4f46698255717bff6f718fd3e62c4f149494ee05da19cb
db: 'mongodb://wiki:[email protected]:27017/wiki'
git:
  url: 'http://gitlab.example.com/dev/wiki.git'
  branch: master
  auth:
    type: basic
    username: wiki
    password: [email protected]
    privateKey: /etc/wiki/keys/git.pem
    sslVerify: true
  showUserEmail: true
  serverEmail: [email protected]
features:
  linebreaks: true
  mathjax: true
externalLogging:
  bugsnag: false
  loggly: false
  papertrail: false
  rollbar: false
  sentry: false
theme:
  primary: indigo
  alt: blue-grey
  viewSource: all
  footer: blue-grey
  code:
    dark: true
    colorize: true

mongodb init.d 啟停

#!/bin/sh
 
### BEGIN INIT INFO
# Provides:     mongodb
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
 
EXE_FILE=/usr/local/mongodb/bin/mongod
CONFIG_FILE=/etc/mongodb.conf
 
MONGOPID=`ps -ef| grep mongodb.conf| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0
 
case "$1" in
  start)
    echo "Starting MongoDB server"
    $EXE_FILE --config $CONFIG_FILE
    echo "mongoDB started"
    ;;
  stop)
    echo "Stopping MongoDB server"
    if [ ! -z "$MONGOPID" ]; then
        kill -15 $MONGOPID
    fi
    echo "MongoDB stopped"
    ;;
  status)
    ps -ef| grep mongodb.conf | grep -v grep
    ;;
  restart)
    echo "Stopping MongoDB server"
    if [ ! -z "$MONGOPID" ]; then
        kill -15 $MONGOPID
    fi
    echo "Starting MongoDB server"
    $EXE_FILE --config $CONFIG_FILE
    echo "MongoDB restarted"
    ;;
  *)
    echo "Usage: /etc/init.d/mongodb {start|stop|status}"
    exit 1
esac
 
exit 0

相關推薦

wiki.js搭建自己wiki

wiki.js搭建 官網[wiki.js:](https://docs.requarks.io/wiki/) 目前這個wiki.js還存在一些bug,期待2.x版本正式釋出! 軟體依賴 wiki.js需要以下軟體包: - git 2.7.4 or later is re

wiki.js搭建自己wiki知識庫

不管是在企業中還是在自己的個人知識整理上,我們都需要通過某種方式來有條理的組織相應的知識架構,那麼一個好的知識整理工具是非常重要的,常用的線上筆記比如說印象筆記,有道雲筆記,當然企業中文件管理或者知識管理的專業版的軟體也是有很多,比如說jira等。再到開源的,比

搭建自己Wiki ,用於釋出進度和自己的工作心得

sudo apt-get install php5 sudo apt-get install libapache2-mod-php5 sudo /etc/init.d/apache2 restart 測試是否成功: vi /var/www/test.php 新增以下內容 <?phpinfo()?>

如何搭建自己wiki

8,CooCooWakka v0.09 rc3 - 國人開放的PHP WiKi程式 語言環境:PHP+MySQL 官方主頁:http://coo.hsfz.net/wiki/ 演示:http://coo.hsfz.net/wiki/[/ 下載:http://down2.codepub.com/codepubc

js 工具 】如何在Github Pages搭建自己寫的頁面?

ges 1-1 some 彈出框 create 托管 git 修改 test 最近發現 github 改版了,已沒有像原來的 Launch automatic page generator 這樣的按鈕等,所以我對我的文章也進行了修正,對於新版來說,步驟更加簡單了。歡迎享用。

如何使用Mediawiki搭建個人wiki系統、以及wiki的部分基本操作和設定

    日常開發中總會有許多東西需要記錄,很多軟體都可以做到這一點,例如有道雲筆記,或者寫部落格。但個人偏愛於Mediawiki,因為wiki可定製性強,總給人一種高階大氣的感覺。起初對wiki這種東西一無所知,受老總的影響,開始在公司推廣wiki,可惜到現在沒有推廣成功,不過自己倒是喜歡上這東西了。廢話

[wiki--gitit]在Linux系統搭建gitit wiki

簡述 對於喜歡用markdown寫部落格或做一些筆記,或者做學習知識庫整理……等等之類的,gitit wiki是不錯的wiki系統選擇。因為一般的markdown語法是很簡單的,以至於太簡單而許多需要使用稍微複雜些的圖表之類的,就不能太好的支援,因此是比較影響

Wiki系統搭建 JspWiki

1、準備工作 a)準備JDK和Tomcat 下載JDK和Tomcat並安裝,我安裝的版本為:j2sdk1.4.2和jakarta-tomcat-5.0.28,tomcat最好安裝在根目錄下,路經不要有

github pages + Hexo + node.js 搭建屬於自己的個人博客網站

targe 郵箱提示 創建 錯誤 ont lan target blog 全局       之前我寫過一篇用Github實現個人主頁的博客:https://www.cnblogs.com/tu-0718/p/8081288.html   後來看到某個大佬寫的文章:【5

Wiki系統搭建(三)——MYSQL

三、mysql的安裝,與php、Apache相結合 打開下載的mysql安裝檔案,雙擊解壓縮,執行“setup.exe”,出現如下介面 mysql安裝向導啟動,按“Next”繼續 選擇安裝類型,有“Typical(默認)”、“Complete(完全)”、“Custom(用

搭建企業級wiki管理-confluence 5.4 安裝部署及破解

  confluence 作為專案內協作、文件共享的工具,具統計已經有將近一半開發團隊在使用confluence來用於專案的wiki知識共享。IBM、Apache等眾多網站都在使用confluence來進行知識管理,順帶confluence的官方網站都是用con

MediaWiki安裝及Wiki網站搭建

執行了瀏覽器安裝過程後,在config目錄下會自動生成一個LocalSettings.php的本地配置檔案。請把它拷貝到上級目錄中。然後需要取消config目錄的寫許可權,推薦直接刪除。這是網站安全性的需要。安裝過程到此結束。此後再次執行http://localhost/index.php 就是正確的wi

jekyll 搭建自己的靜態網站

ruby word node 靜態 selector bsp 網站 sudo -a 1 ruby sudo apt-get install ruby1.9.1-dev 2 nodejs sudo apt-get install nodejs 3 jekyll gem ins

利用vultr搭建自己的服務器,附帶ss搭建哦!!!

設置 rtu 網絡數 瀏覽器 命令 運行 12個 信用 sof   眾所周知,我國因為某些原因查閱瀏覽不到一些國外的資料及內容,這給我們的學習工作帶來了很大的不便。所以怎樣才能跨越這個障礙呢?這就需要VPS(Virtual Private Server 虛擬專用服務器)的幫

mac 教你如何在Mac上搭建自己的服務器——Nginx

啟動 blank index 模擬 imp json 等待 打開終端 簡單 WHAT 本篇主要是基於Nginx在Mac上搭建自己的服務器。 我相信很多朋友肯定是第一次聽到Nginx,關於它具有怎樣的傳奇,這兒肯定說不完也說不透. 有興趣的朋友可以自行google或者baid

在阿裏雲上搭建自己的git服務器

blank 打開 bar use span sql 有效 創建 管理 這篇文章我就來介紹一下如何在一臺全裸的阿裏雲主機上搭建自己的git服務器。 1. 安裝git 首先安裝git,一般而言,現在的服務器已經內置了git安裝包,我們只需要執行簡單的安裝命令即可安裝。比如: $

在CentOS中搭建自己的VPN

密碼 技術 國外 get 是我 時間 out span 主機 很多人都有買國外的VPN看視頻的經歷,今天我們就講一講如何搭建一個自己的VPN。下面是我在CentOS中搭建自己的VPN的過程,簡單說來,主要分為兩步: 1:購買國外的VPS 2:在購買的VPS上搭建VPN

vue.js:搭建開發環境及構建項目

ini cnpm 直接 人在 mod 不發送 package 3.0 mage 發環境的搭建 安裝node.js 直接下一步就好, 註意安裝的位置 Node.js官網:https://nodejs.org/en/ 驗證Node.js是否安裝好,在windows下,wi

gitlab 搭建自己的源代碼管理器

設置 網頁 -- -1 服務 代碼管理器 cnblogs push 操作 首先 gitlab 是不支持 windows、mac os 的,具體支持的系統參照官網的 1、安裝虛擬機 ubuntu16.04 需要註意的一點:gitlab 服務器 與 客戶端必須在一

github+hexo搭建自己的博客網站(三)主題之外的一些基本配置(圖片位置,文章目錄功能)

100% setattr border color fff scale 進行 自己 num 使用的yilia主題之後,還需要進行自己的定制配置 1、圖片的位置 比如打賞的支付寶二維碼圖片,是在當前博客的source/assets/img/下 (不是當前主題) 配