ejabberd を MariaDB に対応させた

ejabberd を MariaDB/MySQL に対応させたので、メモ。

pkg で入れられる ejabberd は、MySQL 対応でコンパイルされていないので、ports から入れ直す。

まず、ejabberd を停止して、パッケージを削除

次に、ports を最新版にして、ports をビルド/インストール。MySQL 対応にチェックを入れるのを忘れない。

/usr/local/etc/ejabberd/ejabberd.yml を修正。

なぜか、DDL ファイルが添付されていないので、github からダウンロードする。

MariaDB にログインして、データベース/テーブルを作成。

ejabberd を起動して、ユーザーを登録し直す。

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

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

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

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

次に、Node.js が必要なので、これもパッケージからインストール。ただし、バージョンは LTS10.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 は消えてなくなり、上記のスクリプトで起動するようになる。

Pydio – ファイル共有

ちょっとでも自宅サーバーの価値を高めなくてはならん、ということで、ファイル共有アプリなどを入れてみる。そしたら、PHP 7.2 に未対応で、PHP をバージョンダウンせざるを得なかった。おまけに、runTest.php では検出されない必須モジュールがあったりして、ちょっと手こずった。最終的に以下のスクリプトでインストールしてけりをつける。