KeeWebサーバの構築


Categories:

また間があいてしまったけど、KeeWebについて書きます。

パスワード管理にはKeePassを使ってます。けれどそのデータベースを外部クラウドに置くのは不安なので、Raspberry PiにownCloudのサーバ立てて、家の中だけで使えるようにしてます。これでLinux、Windows、Android、iOSから使えます。

しかし、Chromebook/ChromiumOSにはKeePassクライアントがないのでちょっと困ります(厳密に言えばないこともないのだけど、うまく設定できなかった)。そこでKeeWebの登場。

これはHTMLで作ったKeePassクライアント。KeePassのデータベース自体はWebDavに置きます。KeeWebのサーバとWebDavのサーバはべつにどこにあってもいいのだけど、今回はどっちもownCloudサーバと同じRaspberry Piに置きます。

KeeWebのインストール自体は簡単で、ここを見ながらやってください。ただし、https経由じゃないといろいろ不都合があるので、サーバのApacheの設定はややめんどう(ここを参考にしましょう https://www.deep-blog.jp/engineer/archives/11612/ )。

そして、もっとやっかいなのはWebDavの設定のほうで、読むのは簡単なんだけど、パスワードを変更や追加したときにデータベースに反映させる(同期)のがうまくできませんでした。

いろいろ調べた末、Apacheで以下のモジュールを有効にして、WebDAV関係のApacheの設定を追加すると解決しました。

sudo a2enmod rewrite
sudo a2enmod header

<Directory "/var/www/html/webdav">
  DAV On
  AuthType Basic
  AuthName "webdav"
  Require all granted
  Options Indexes FollowSymLinks
  Header always set Access-Control-Allow-Origin "*"
  Header always set Access-Control-Allow-Headers "origin, content-type, cache-control, 
    accept, authorization, if-match, destination, overwrite"
  Header always set Access-Control-Expose-Headers "ETag"
  Header always set Access-Control-Allow-Methods "GET, HEAD, POST, PUT, OPTIONS, MOVE, 
    DELETE, COPY, LOCK, UNLOCK"
  Header always set Access-Control-Allow-Credentials "true"
  RewriteEngine on
  RewriteCond %{REQUEST_METHOD} OPTIONS
  RewriteRule ^(.*)$ blank.html [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]
</Directory>

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です