はじめに
バイト先のレガシーなpukiwikiにかわる新しいwikiを探している中、crowiがいいとの情報で動かしてみることになった。
centos6系で動かすときに色々詰まったのでメモ。
環境
- CentOS 6.8
- MongoDB 3.2.10
- node.js 4.4.7
MongoDBを入れる
導入
MongoDBをセットアップする。
公式サイトを参照。
$ sudo yum upgrade
yumでインストールできるように /etc/yum.repos.d/mongodb-org-3.2.repo ファイルを作る。
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
monogoDBを入れる
$ sudo yum install -y mongodb-org
SE Linuxを止める /etc/selinux/config
SELINUX=disabled
動作確認
mongoを動かしてみて動作を確認する
$ mongo
> use test
switched to db test
> db.name.insert({"name":"shuya", "age":21})
WriteResult({ "nInserted" : 1 })
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
> show dbs
local 0.000GB
> exit
bye
crowi用のユーザの作成
ユーザの作成
$ mongo
> use crowidb
switched to db crowidb
> db.createUser({user: "shuya", pwd: "shuya", roles: [{role: "userAdmin", db: "crowidb"}]})
Successfully added user: {
"user" : "shuya",
"roles" : [
{
"role" : "userAdmin",
"db" : "crowidb"
}
]
}
> use admin
switched to db admin
> db.system.users.find()
{ "_id" : "crowidb.shuya", "user" : "shuya", "db" : "crowidb", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "ul5wxld3o/7ozcPt0dVEVA==", "storedKey" : "+9WQzbVivQBLUNk3eyvGJbzFxvo=", "serverKey" : "4wt1dgwpke14/zPJDOy1tKZuqkM=" } }, "roles" : [ { "role" : "userAdmin", "db" : "crowidb" } ] }
nodejsを入れる
epelからの追加だとなぜかうまく動かず。。。
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
$ source ~/.bash_profile
$ nvm ls-remote
$ nvm install v4.4.7
$ node -v
v4.4.7
crowiをクローン
crowiをクローンしてくる
$ git clone --depth 1 https://github.com/crowi/crowi.git
$ cd crowi
$ git checkout v1.5.0
$ sudo npm install --unsafe-perm
環境設定ファイルを書いて実行
crowi.sh
export PASSWORD_SEED=hoge
export MONGO_URI=mongodb://USERNAME:PASSWORD@localhost/DBNAME
node app.js
アクセスする
3000番でlistenしているからブラウザにアクセス
http://localhost:3000
もし画像やCSSが描画されなかったら下記コマンドで手打ちでビルドすると治る
(ここでめちゃくちゃつまった)
$ npm run build
ずっと動かす
foreverを使ってデーモン化する
$ npm install forever -g
$ forever start app.js
最後に
これであなたもイケてるmarkdawn wikiが使えるようになる!