錯誤試行

PCや生活の試行錯誤の成果を報告するブログ

iOSアプリ「beorg」でapache2のWebDAVサーバと同期できるようにする

Emacsのorg-modeをアウトラインプロセッサーとして愛用している。org-modeで書いた文書を手持ちのiPadで閲覧・編集できれば便利だと思い、iOSでorg-mode文書を扱えるというアプリ「beorg」を見つけた。
iCloudDropboxで簡単に同期できるとのことだが、私的なファイルのため、できればローカルで同期をさせたい。
ローカル同期させるにはWebDAVが使えるようだが、beorgのWebDAVの設定がよく分からず、同期に失敗してしまう。Web上を調べても日本語での設定例は見当たらず、お蔵入りとなっていた。
今回時間ができたので再度設定を試みたところ、無事同期できるようになったのでメモとして残しておく。

beorgの設定

Settingsの「FILE SYNCHRONIZATION」の項目を以下のようにした。
PC側のDocumentRootは「org」としてある。
WebDAV URLを「https://localhost/org」としていたところ同期できなかった。

    Sync method	WebDAV
    Folder	/org
    File extension	.org
    WebDAV URL		https://localhost
    Username		(apache2の設定ファイル内 AuthUserFileに登録したユーザー名)
    Password		(apache2の設定ファイル内 AuthUserFileに登録したパスワード)
    Allow untrustd certificate	ON

日本語ファイル名が文字化けする

ただし、orgファイル名が日本語の場合、Filesタブに表示されるファイル名は手元のUbuntu16.04だとパーセントエンコードされた表記になってしまう。beorgに文字コードを指定するような項目は見当たらない。
apacheの設定で、mod_encodingを利用すれば良いとのことでlibapache2-mod-encodingパッケージをインストール、他のモジュールの例にならって/etc/apache2/mods-available/encoding.confを作成して以下のように記述、a2enmod encoding、service apache2 restartしてみたが文字化けは改善されない。
なお、上記パッケージのインストール前でも、iOSアプリ「Documents」(Readdle)のWebDAVでは日本語ファイル名が文字化けすることなく表示されていた。

<IfModule mod_encoding.c>
  EncodingEngine on
  SetServerEncoding UTF-8
  DefaultClientEncoding UTF-8 MSSJIS EUC-JP
  AddClientEncoding UTF-8 "*beorg*"
</IfModule>

どうにかすれば直るのかもしれないが、今回は同期したいファイルが一つだけなので、ひとまずこのまま使うこととした。

参照サイト