ドキュメント共有ツール Crowi をAmazonLinuxで構築する
Crowiとはオープンソースで、ドキュメントを色々溜め込むことができるツールです。
ずっと、RedmineのWikiを使っていましたが、どうしても好きになれなかったんですよね・・
(マークダウンで書けない、タグサーチができなくて検索不便等々・・・)
おそらくプラグインをいれたら上記は解決できるかと思いますが、そこまでやるのは面倒だということで、他にないか探していたらCrowiを発見しました!
今回は、導入と設定らへんを書いていきたいと思います。
構築準備
- AmazonLinux
- Node.js v8.0
- Mongo v3.4.2
- Nginx v1.6.2
構築方法
まずはサクッとNode.jsとNginxのインストールをおこないます。
Node.jsのインストール
こちらを参考にしてインストールしてみてください。
http://qiita.com/sinmetal/items/154e81823f386279b33c
Nginxのインストール
$ sudo yum install -y nginx
こちらでサクッとインストール&起動しておきましょう!
MongoDBのインストール
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
このファイルを作成しておきます。
作成が完了したら、
$ sudo yum install -y mongodb-org
$ sudo service mongod start
これで、起動が完了です。
各設定
- Nginxの設定
3001番ポートにプロキシする設定を書きます。
server {
listen *:80;
server_name crowi.hoge.com;
access_log /opt/nginx/logs/crowi_access.log;
error_log /opt/nginx/logs/crowi_error.log;
location / {
proxy_pass http://127.0.0.1:3001;
}
}
- Mongoの設定
$ mongo
> use crowidb
switched to db crowidb
> db.createUser({user: "crowi", pwd: "crowi", roles: [{role: "userAdmin", db: "crowidb"}]})
Successfully added user: {
"user" : "crowi",
"roles" : [
{
"role" : "userAdmin",
"db" : "crowidb"
}
]
}
Crowiをインストールする
$ git clone --depth 1 https://github.com/crowi/crowi.git
$ cd crowi
$ git checkout v1.6.0
$ sudo npm install
これで、Crowiの設定は完了です。
次に、プロセスを起動しますが、ここはforeverを用いて、プロセスを常に起動できるようにしておきます。
その前に、環境変数の設定をしておきます。
$ export PASSWORD_SEED=なんでもOK
$ export MONGO_URI=mongodb://crowi:パスワード@localhost/crowidb
$ export PORT=3001
$ export NODE_ENV=production
$ npm install forever -g
foreverのインストールが完了したので、プロセスを起動していきます。
$ forever start app.js
$ forever list
ここにプロセスの起動情報が書いてある
これでプロセスの起動が完了したので、設定したドメインにアクセスすればCrowiが表示されると思います。
その他設定
他にもCrowiにはこういった機能があります
- 画像やファイルをアップロードできるようにする
- 認証をGoogleアカウント認証に変更できる
- 全文検索ができるようになる
ここはまたのちほど紹介していきたいと思います。
では、よいドキュメント共有ライフを!