現在はCrowiもその派生のGrowiも両者ともにdocker-composeファイルが用意されています。
なので、以下のような面倒な手順を踏むよりDockerを利用した方が良いかと思います。
以下、昔の情報
Crowi WikiをWindowsに入れてみました。
ので、簡単にその手順を。
gitを入れる
git for windowsをインストールします。
crowiがgithubにホスティングされているのとbashが必要な為です。
公式サイトからインストーラをダウンロードし起動したらあとは特に難しい設定もなく終わります。
途中コマンドラインにgitコマンドを入れるかと改行コードの扱いをどうするかという選択がありますが、どれを選んでもまあ大丈夫です。
改行コードは変更しない設定しておいた方がいいかもしれませんが。
Pythonを入れる
Python2.7をインストールします。
crowiはNode.jsで動く為必須であるPythonを入れます。
左側からPython2.7を選択してインストーラをダウンロードして起動します。
こちらも特に難しい設定がなく終わります。
Node.jsを入れる
Node.jsをインストールします。
真ん中にダウンロードがあるのでインストーラをダウンロードして起動します。
Recommended(お勧め)とlatest(最新)の2択ですが、どちらでも大丈夫だろうとは思います。
最新はお勧めに比べて不具合の可能性が高いとは思われます。
Mongo DBを入れる
Mongo DBをインストールします。
Crowi wikiではMongo DBに記事やらのデータを保存しているようです。
右上Downloadからインストーラをダウンロードして起動します。
同じく特に何もなく終わったと思います。
Crowi用のDBとユーザーを作る
mongoを起動してクライアントで以下を実行します。
use データベース名 db.createUser ({ user: "ユーザー名", pwd: "パスワード", roles: [ { role: "readWrite", db: "データベース名" } ] })
各種名前やらは好きな物で大丈夫です。
Crowi wikiを入れる
まずダウンロードする
本命Crowi wikiをgithubからダウンロードしてきます。
githubのReleaseの一番新しいところのDownloadsからSource codeをダウンロードします。
zipでもtar.gzでもどちらでも好きな方で良いです。
ダウンロードした後は好きな場所に解凍してください。
ビルドする
crowi wikiをnpmを使ってビルドします。
まず、git-bashを開きます。git-bashはgit for windowsをインストールした場所のbinの下にあるbash.exeです。
デフォルトではC:\Program files\Git\bin\bash.exeです。
git-bashを開くとコマンドプロンプト的なものが開きますので、cdコマンドでcrowi wikiを解凍した場所へ移動します。
$ cd /c/crowiwiki/
場所は適当です。適宜書き換えてください。
git-bashではCドライブは/c/で移動します。(Dドライブは/d/です。)
移動したらビルドします。
$ npm install
結構な時間がかかりますが、ビルドが終わります。
エラーが出る場合
ちょくちょくエラーが出るようです。
対処法1
Visual Studioを入れる。
2013が良いようです。
対処法2
MSBuildを入れる。
対処法3
MSBuild用の環境変数を設定する。
変数名:VCTargetsPath
変数値:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120
変数値はMSBuildの中身を見て、あるやつを設定してください。(v120とかが違ったりします。)
シンボリックリンクを貼りなおす
中にシンボリックリンクがちらほらあるのですが、Windowsでは解凍した段階で消えてしまいます…
なので手動でシンボリックリンクを設定しなおします。この作業は前述のビルド後に行ってください。
リンク対象が依存している各ライブラリな為、npm installするまでフォルダが存在していません。
設定対象は
- public/emoji_images
- -> node_modules/emojify.js/dist/images
- public/fonts
- -> node_modules/font-awesome/fonts
- public/js/reveal
- -> node_modules/reveal.js
の3つがあります。
コマンドプロンプトからシンボリックリンクを設定します。
(今回はgit-bashではなくコマンドプロンプト:cmd.exeです。)
cdでcrowiの場所へ移動し、mklinkで順に設定します。
> cd c:\crowiwiki\ > rem まずは既存のシンボリックリンクもどきを削除 > rm del public\emoji_images > rm del public\fonts > rm del public\js\reveal > rem リンクを貼りなおす > mklink /D public\emoji_images node_modules\emojify.js\dist\images > mklink /D public\fonts node_modules\font-awesome\fonts > mklink /D public\js\reveal node_modules\reveal.js
これで設定は完了です。
このシンボリックリンクの設定は次回以降は必要ありません。(シンボリックリンクが増えたり減ったりしなければ)
次回以降の更新の際もまるっとコピペで上書きしてしまって大丈夫です。
シンボリックリンクは上書きできない為エラーが発生しますので、スキップを選んでください。
起動する
では起動しますが、いくらか設定が必要です。
なのでバッシュスクリプトを用意しておくのが良いと思います。
必要な項目は以下です。
- PASSWORD_SEED
- MONGO_URI
- PORT
- NODE_ENV
- REDIS_URL
- ELASTICSEARCH_URI
- SECRET_TOKEN
- FILE_UPLOAD
Readmeに記述がありますので詳しくはそちらをご覧ください。
この内PASSWORD_SEEDとMONGO_URIが必須です。
PASSWORD_SEED
パスワードをハッシュ化する際の乱数種です。
何か適当な文字列でなんでもいいです。
ただし、これを変更するとログインが出来なくなるのでなくさないようにしてください。
MONGO_URI
その名の通りMongo DBへの接続文字列です。
書式は
mongodb://ユーザー名:パスワード@ホスト/DB名
です。
このユーザー名やらはMongo DBを入れるの項で設定しているものです。
バッシュを作っておく
これらを設定するバッシュを作っておきましょう。
cd /c/crowiwiki/ # 各変数の設定 export PASSWORD_SEED=ajiwaefghjke export MONGO_URI=mongodb://crowiuser:pasw0rd@localhost/crowiwiki # Mongo DB起動 '/c/Program Files/MongoDB/Server/3.2/bin/mongod' --dbpath /c/mongodb/repo --logpath /c/mongodb/log/mongodb.log # Crowi Wiki起動 node app.js
という感じです。適宜書き換えてください。
勿論Mongoがすでに起動しているならその部分は必要ありません。
終わり
以上でWindows上でCrowi wikiが稼働すると思います。
概ねはLinuxと同じだと思いますが、シンボリックリンクは地味な罠なので気を付けてください。
あと、昔やったのを思い出しながら書いてるので細かい間違いがあるかもしれませんが、おかしいところがあれば指摘してください。