Help us understand the problem. What is going on with this article?

Etherpad-liteをWindowsにインストールしてサービス化してみた (メモ帳なんてもういらない)

More than 3 years have passed since last update.

背景

何かと便利なEtherpad-liteですが、ネットが無い状態では使えないのが玉にきずです。そこで、「ネットがなければローカルにサーバ立てればいいじゃない」ということで、Etherpad-liteをWindowsにサービスとしてインストールします。ブラウザのブックマークにhttp://localhost:9001を入れておけば、メモ帳の代わりとして、Etherpad-liteのプラグインも含むいろんな機能が使えます。サービス化にはNSSMを使います。バックエンドのDBはsqlite3を使います。
使用するソフトウェアのバージョンは次の通りです。たぶん他のバージョンでも同じ手順で大丈夫です。
* OS: Windows7(64bit)
* etherpad-lite-win: 1.5.7 (etherpad-lite-win-1.5.7-83597562c1.zip)
* node.js: v0.10.25
* NSSM: 2.24

大まかな流れ

  • node.jsのインストール
  • etherpad-liteのインストール
  • sqlite3のインストール&etherpad-liteの設定
  • サービス化

具体的な手順

node.jsのインストール

node.jsのインストーラをダウンロードして起動します。特筆することありません。

etherpad-liteのインストール

Windows用のzipをダウンロードして展開します。展開先のパス名が長いと、中のファイルがパス名長さの制限に引っ掛かる場合があるので、パス名の長さには注意しましょう。「C:\Program Files (opt)\etherpad-lite-win」くらいなら大丈夫です。

次に、node.jsのインストール先フォルダ(C:\Program Files\nodejs)の内容をetherpad-liteフォルダに上書きします。
具体的には、node.exeをnodejs側からetherpad-lite-win側に上書きコピー。node_modulesフォルダは既にあるので、その中のnpmフォルダをnodejs側からetherpad-lite-win側にコピー。その他のファイル/フォルダもnodejs側からetherpad-lite-win側にコピーとなります。

sqlite3のインストール&設定

コマンドプロンプトを開いて、etherpad-liteのインストール先フォルダに行きます。

まず、proxy環境下の場合はnpmのproxy設定を行います。proxy環境下でなければこの手順は不要です。

npm config set proxy http://proxy.your.domain:8080

sqlite3をインストールします。

npm i sqlite3

次にsqlite3を使えるように設定ファイル(settings.json)を変更します。関係あるところだけ抜粋すると下記の通りです。

  //The Type of the database. You can choose between dirty, postgres, sqlite and mysql
  //You shouldn't use "dirty" for for anything else than testing or development
  "dbType" : "sqlite",
  //the database specific settings
  "dbSettings" : {
                   "filename" : "var/etherpad.db"
                 },

ここまでできたら、一旦動作確認します。

start.bat

http://localhost:9001にアクセスしてひと通り動作すればOKです。コマンドプロンプトでCtrl-Cで終了します。

サービス化

NSSMが無ければインストールします。といっても、実行ファイルを適当な場所に置くだけです。
そして、コマンドプロンプトを管理者として実行して、NSSMを起動します。

nssm install Etherpad-lite

NSSMのGUIが表示されて、Applicationタブが開くので次の通り入力します。
* Pathには(etherpad-lite-winにコピーした先の)node.exeのパスを入力します。(入力欄右側の「...」をクリックするとファイル選択ダイアログが開くので、node.exeを選択します。)
* Startup directoryはnode.exeのあるフォルダが自動的に設定されます。
* Argumentsには「node_modules\ep_etherpad-lite\node\server.js」を指定します。これはstart.batの中に書いてあるパラメータと同じです。

入力が済んだら、「Install service」をクリックしてNSSMを終了します。

サービスの、起動・停止や自動起動の設定はWindowsのサービス管理画面で行います。
サービスを起動し、再度http://localhost:9001にアクセスして、Etherpad-liteが動作することを確認しましょう。なんなら、Windows自体も再起動してみて、ちゃんとEtherpad-liteが立ち上がってくるか確認しましょう。
以上でインストールは完了ですが…

注意

ローカルで動いているとはいえ、ネットワーク経由で他のコンピュータからアクセスされるとEtherpad-liteが見えてしまいます。他人に見せる必要が無ければ、Windows Firewallでもsettings.jsonでも良いのでアクセスコントロールしましょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした