Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nextcloud と互換性のある軽量WebDAV server のKaraDAV を試す

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Nextcloud と互換性のある軽量WebDAV server のKaraDAV を試す

Avatar for Kenichiro MATOHARA

Kenichiro MATOHARA

February 15, 2026
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. Nextcloud オンラインストレージのためのクライアントとサーバソフトウェア. PHP, JavaScript で作成されているOSS でライセンスはGNU AGPL v3+ 標準機能はDropbox やGoogle

    Drive 等に似ているが, WebDAV にも対応している 各種アプリケーションを追加することにより様々な機能が追加できる Calender, Office, mail, news(rss agrogator), ActivityPub…… ただしそこそこ重い 4
  2. Nextcloud 周りの変遷 ownCloud はPHP製 Nextcloud はownCloud からフォークしたもので現在はこちらの ほうが有名 oCIS はGoLangで1から書き直されているownCloud

    だがまだ機 能が少なく感じる OpenCloud はoCIS からのフォークで軽量で普通に使えそう 今この中で1から立てるならOpenCloud かな? ownCloud -------> Nextcloud | +---- oCIS(ownCloud Infinite Scale) | +----> OpenCloud 6
  3. Nextcloud を軽くトラブルを減ら す試み 使っていない,使わないNextcloud アプリケーションを消す アプリケーションをNextcloud の外に出す → 認証が分かれるのが 不便

    Nextcloud client を使わずWebDAV 経由でrclone や Syncthing で同期する Nextcloud 自体が重いのでServer 側の重さはあまり変わらない感 じ…… 8
  4. KaraDAV? Nextcloud client と互換性のあるWebDAV server PHP製,db はSQLite3,AGPL-3.0 license 元々はKD2 WebDAV

    ライブラリのデモ及びテスト用だった NextCloudより20倍以上高速,軽量!1MB未満!外部アプリ, Web ファイル マネージャー,マルチユーザー,Quota対応, OnlyOffice,Collabora Online,MS Office を使用するための WOPI をサポート,LDAPサポート,32bit platformsのサポート (eg. Raspberry Pi armhf)…… 詳しい比較表がREADME.md にある 11
  5.  Nextcloud の機能が必要なくWebDAV のみでよいのであれ ばKaraDAV 姉妹アプリの PicoDAV というものもある. Single-file で110KB

    だけ!  kagolug2025.08 で発表したcopyparty も1つの.py で WebDAV 対応 PicoDAV: PicoDAV 色々なプロトコルに対応したファイルサーバーのcopypartyを 試す 12
  6. Nextcloud → KaraDAV Nextcloud client でファイルのやり取り,Note でメモ書きくらい は問題なさそう? アプリケーションがまだ殆どない Calender

    は別途立てる必要がある ファイル共有リンク機能がない 一般公開ディレクトリを用意してそこに公開ファイファイルを置けば 良さそう? 一定期間後に共有が消えるようなことはできない 14
  7. KaraDAV 導入 基本的に を踏襲 環境 OS: Raspberry Pi OS bookworm

    armhf(32bit) httpd: Apache2 httpd(KaraDAV推奨httpd) PHP: 8.2(KaraDAV要件は8+) doc/INSTALL.md 17
  8. KaraDAV install /var/www/karadav に導入して, http://raspberrypi.local/dav/ でアクセスする設定 $ git clone https://github.com/kd2org/karadav

    $ cd karadav $ cp config.dist.php config.local.php $ diff -u config.dist.php config.local.php --- config.dist.php 2026-01-27 06:05:32.485068452 +0900 +++ config.local.php 2026-02-12 18:15:38.124006986 +0900 @@ -89,7 +89,7 @@ * Default: will be automatically created using SERVER_NAME and REQUEST_URI * @var string */ -//const WWW_URL = 'http://karadav.localhost/'; +const WWW_URL = 'http://raspberrypi.local/dav/'; /** * WOPI client discovery URL $ cd .. $ sudo chown -R www-data:www-data karadav $ sudo mv karadav /var/www/ 18
  9. httpd(Apache2 httpd) 設定 $ cd /etc/apache2/sites-available/ $ sudo vi karadav.conf

    $ sudo cat karadav.conf | grep -v ^# <VirtualHost *:80> ServerName raspberrypi.local Alias /dav /var/www/karadav/www ErrorLog ${APACHE_LOG_DIR}/error_karadav.log CustomLog ${APACHE_LOG_DIR}/access_karadav.log combined </VirtualHost> <Directory /var/www/karadav/www> Options -Indexes -Multiviews AllowOverride None DirectoryIndex index.php RewriteEngine On RewriteBase /dav/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ /dav/_router.php [L] </Directory> $ sudo a2ensite karadav.conf 19
  10. rewrite module が無効になっていた $ apachectl -t AH00526: Syntax error on

    line 16 of /etc/apache2/sites-enabled/karadav.conf: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuratio Action '-t' failed. The Apache error log may have more information. $ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 $ sudo systemctl restart apache2 20
  11. にアクセス…… libcurl が足りな い http://raspberrypi.local/dav/ LogicException Extension "curl" is required

    for 32-bits systems. \__/ (xx) //||\\ $ sudo apt install php-curl $ sudo systemctl restart apache2 21
  12. 今度は php-sqlite3 が足りない PHP error Warning: require_once(/var/www/karadav/lib/SQLite3.php): Failed to open

    stream: No such file or directory $ sudo apt install php-sqlite3 $ sudo systemctl restart apache2 22
  13. 24

  14. 25

  15. 30

  16. Apache2 httpd /etc/apache2/sites-enabled/karadav.conf <IfModule mod_ssl.c> <VirtualHost *:443> ServerName karadav.matoken.org DocumentRoot

    /var/www/karadav/www SSLCertificateFile /etc/letsencrypt/live/karadav.matoken.org/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/karadav.matoken.org/privkey.pem </VirtualHost> <Directory /var/www/karadav/www> Options -Indexes -Multiviews AllowOverride None DirectoryIndex index.php RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*$ /_router.php [L] </Directory> </IfModule> 32
  17. KaraDAV config $ diff -u config.dist.php config.local.php --- config.dist.php 2026-02-14

    05:17:51.879838246 +0900 +++ config.local.php 2026-02-14 06:18:13.653700477 +0900 @@ -89,7 +89,7 @@ * Default: will be automatically created using SERVER_NAME and REQUEST_URI * @var string */ -//const WWW_URL = 'http://karadav.localhost/'; +const WWW_URL = 'https://karadav.matoken.org/'; /** * WOPI client discovery URL 33
  18. 発表後追記 よく見たらISSUE に報告があった KaraDAV 0.6.3 → 0.6.4 でNextcloud client が動かなくなっ

    ているよう 他にもNextcloud client での同期バグなどもあるよう もう少しこなれないと辛そう Version 0.6.4 breaks compatibility with Nextcloud clients · Issue #87 · kd2org/karadav Deleting files with Nextcloud desktop client does not remove files from server · Issue #88 · kd2org/karadav 35
  19. まとめ Nextcloud がだんだん重くなっていてつらくなっている oCIS ベースのOpenCloud が代替に良さそうだと思っていたけど KaraDAV を知る 軽量だが機能が少ない.個人用途だと別アプリ+運用でカバーできそ う?

    アプリ機能があるがまだ対応アプリが少ない,これからに期待 Nextcloud client 対応が手元ではまだ動いていない(NC 互換が 要らなければさらに軽量なものがある) これからOpenCloud を試してみるつもり (サーバー増強?) 39
  20. 奥付 発表 2026-02- 15(sun) 発表者 利用ソフトウェア NeoVim + textlint +

    ライセンス 鹿児島Linux勉強会 2026.02(オンライン開催) Kenichiro Matohara(matoken) Asciidoctor Reveal.js CC BY 4.0 41