Growi をインストールしてみた

備忘録置き場に Wiki を使いたくてググってみたところ、Growi というよさげな Wiki エンジンがあった。Linux へのインストールは色々記事が見つかったけど、FreeBSD にインストールしてる人はいなさげなので、作業記録をメモっておく。

Growi は、全文検索に ElasticSearch を使うので、まずそれをインストール。

必要なプラグインもあわせてインストール。

次に、Node.js が必要なので、これもパッケージからインストール。ただし、バージョンは LTS8.x でないといけないので、そこだけ注意。

Yarn が必要なので、npm でインストール。

続けて、MongoDB をインストール。

gcc でビルドが前提のモジュール (DTraceProviderBindings) があるため、gcc をインストール。12.0-RELEASE は (それ以前もだが)、llvm がシステムデフォルトなので、別途導入が必要なのだ。

最後に、Git をインストール。

Growiリポジトリをクローンする。

最新リリースを確認して、チェックアウトしておく。

Yarn で必要なパッケージをインストール。

DTraceProviderBindings が、DTrace 機能を必要とするので、カーネルモジュールをロードする。ロードしておかないとエラーになって起動しない。

/boot/loader.conf に追記しておくと便利。

起動スクリプトを /usr/local/bin/startgrowi.sh として作成。以下のような感じ。

ここで、試しに起動してみると、

とかいうようなエラーが出るかも知れない。が、慌てず騒がず、

する。すると、依存パッケージが更新されて、uws は消えてなくなり、上記のスクリプトで起動するようになる。

Unbound で 簡易DNSサーバー

XMPP を諦めきれないので、簡易 DNS サーバーを Unbound で立ててみた。例によって、Packages から導入。

とした上で、unbound.conf を修正。修正点は以下の通り。

さらに、root ネームサーバーのヒントファイルを上記で指定した位置に配置。

SRV レコードの設定が肝。これで、ウチの中からでも外からでも XMPP で接続できるようになった。満足。:D

XMPP (Jabber) サーバー Prosody

Prosody をインストールして、いつでもチャット。とか思ってたら、なぜかログインできない。
クライアントが、「不明なホストです」とかエラーを返す。サーバー側の設定を見直してみても特におかしいところはない。
ていうか、レン鯖で動かしている Prosody の設定と変わりない。

もうお手上げで、XMPP サーバーは諦めることにした。