- Meskipun infrastruktur yang berpusat pada S3 secara de facto telah menjadi standar untuk penyimpanan file, dalam proyek pribadi atau lingkungan self-hosting, WebDAV masih ditawarkan sebagai alternatif yang berguna
- Penulis menjelaskan bahwa ia merasa lelah dengan kompleksitas dan ketergantungan pada S3, lalu mulai kembali memanfaatkan WebDAV sebagai penyimpanan file sederhana berbasis autentikasi
- WebDAV didukung secara bawaan oleh berbagai alat seperti MacOS Finder, Windows Explorer, rclone, curl, sehingga sangat mudah diakses
- Di web server utama seperti Apache, Nginx, dan Caddy, direktori privat per pengguna dapat dikonfigurasi dengan pengaturan sederhana, dan juga bisa diintegrasikan dengan autentikasi LDAP
- Bagi pengembang yang ingin lepas dari ketergantungan cloud sambil menjaga infrastruktur manajemen file mereka tetap sederhana, WebDAV masih merupakan pilihan yang praktis
Masalah penyimpanan file yang berpusat pada S3
- FTP sudah menghilang, dan SFTP terasa merepotkan karena strukturnya terlalu bergantung pada SSH dan autentikasi Unix
- Karena AWS S3 telah menjadi standar industri secara de facto, sebagian besar aplikasi web dirancang dengan asumsi koneksi ke S3
- Hal ini menguntungkan Amazon, tetapi menyulitkan pengguna lain
- Dalam proyek pribadi atau lingkungan self-hosting, fitur-fitur kompleks S3 tidak diperlukan; sering kali yang dibutuhkan hanya penyimpanan file terautentikasi yang sederhana
- Penulis berhenti menggunakan S3 dan beralih ke WebDAV, serta menyarankan pengembang lain untuk mempertimbangkan pilihan yang sama
Pengguna dan kebutuhan yang cocok untuk WebDAV
- WebDAV cocok untuk pengguna individu atau proyek kecil yang membutuhkan akses HTTP pada tingkat sistem file
- Fitur yang dibutuhkan: autentikasi, penulisan file, sinkronisasi efisien, privat secara bawaan, serta mudah diubah menjadi publik
- Fitur yang tidak diperlukan: ACL tingkat lanjut, signed URL, versioning, hierarchical storage, lifecycle rules, kuota, dan sebagainya
- Kebutuhan seperti ini akan terasa relevan bagi sebagian besar pengembang individu, dan tidak perlu menjalankan sistem kompleks seperti OpenStack Swift, CEPH, Minio
- Terutama karena Minio baru-baru ini menghapus sebagian besar UI administrasinya dan berubah menjadi harus menulis file kebijakan JSON secara manual, sehingga tidak efisien untuk tujuan penyimpanan file sederhana
Aksesibilitas WebDAV dan dukungan alat
- WebDAV didukung secara bawaan di berbagai sistem operasi dan alat
- MacOS Finder: masukkan
https://... di menu “Connect to Server”
- Windows Explorer: fitur “Map Network Drive” atau “Connect to Website”
- CLI dan aplikasi: rclone, curl, CyberDuck, WinSCP, Filezilla, dan lainnya
- Banyak orang menganggap WebDAV sudah usang, tetapi kenyataannya dukungan bawaan tersedia di sebagian besar web server
- Dapat diaktifkan dengan mudah di Apache, Nginx, Caddy, Lighttpd, IIS, dan lainnya
- OwnCloud dan NextCloud juga menggunakan akses berbasis WebDAV
Contoh penggunaan nyata WebDAV
- WebDAV sudah digunakan untuk sinkronisasi kontak dan kalender dalam bentuk CardDAV dan CalDAV
- Artinya, tanpa sadar pun pengguna sudah memakai layanan berbasis WebDAV dalam keseharian
- Penulis menyiapkan WebDAV berbasis Apache dan mengintegrasikan autentikasi LDAP untuk mewujudkan akses direktori pribadi per pengguna
- Caddy bisa mengatur pemisahan direktori per pengguna dengan lebih sederhana, tetapi Apache juga sangat memadai
- Konfigurasi Apache memang agak rumit, tetapi tetap bisa menjamin privasi di lingkungan multi-pengguna
Contoh konfigurasi WebDAV berbasis Apache
- Modul yang dibutuhkan di Apache:
mod_dav, mod_dav_fs, mod_dav_lock
- Termasuk pengaturan
BrowserMatch untuk kompatibilitas dengan klien lama
- Elemen konfigurasi utama
- Mengontrol perilaku WebDAV dengan
DavLockDB, DavMinTimeout, DavDepthInfinity, dan sebagainya
- Mengintegrasikan autentikasi LDAP melalui
AuthType Basic, AuthBasicProvider ldap, dan lainnya
- Membatasi agar pengguna yang login hanya dapat mengakses direktori miliknya sendiri dengan
RewriteEngine
- Jika membuat direktori dengan nama yang sama seperti nama pengguna di bawah
/usr/local/www/webdav, pengguna tersebut dapat memakai ruangnya sendiri setelah autentikasi
Kasus penggunaan WebDAV dan potensi pengembangannya
- Penulis menggunakan WebDAV bersama aplikasi-aplikasi berikut
- Joplin: aplikasi untuk menyinkronkan catatan ke server sendiri
- Keepassium: klien Keepass untuk iOS/MacOS
- VLC, Infuse: streaming dan pemutaran media
- rclone: sinkronisasi file untuk publikasi blog statis (lebih cepat daripada NFS/SMB dan tidak memerlukan VPN)
- Penulis juga menemukan proyek baru bernama Altmount
- Memungkinkan konten yang diposting ke Usenet di-"mount" dan diakses langsung tanpa diunduh
- Menarik karena memberikan akses mudah ke Usenet dengan kecepatan multi-gigabit
2 komentar
Di dalam infrastruktur rumah saya pakai NFS atau SMB, dan untuk di luar saya masih sangat baik memakai WebDAV, haha
Komentar Hacker News
Dengan itu, sinkronisasi atau mount antar server WebDAV dimungkinkan, dan filesystem lokal maupun S3, Google Drive, dan lainnya juga bisa diekspos sebagai server WebDAV
RFC-nya lebih baik daripada FTP, tetapi tetap ada banyak perilaku non-standar akibat perbedaan antar implementasi, jadi diperlukan berbagai workaround
Secara bawaan tidak bisa mengatur waktu modifikasi atau hash, tetapi implementasi seperti ownCloud dan Nextcloud mendukungnya
Karena berbasis HTTP dan TLS, ini jauh lebih cepat daripada SFTP
NFS juga berbasis TCP dan bisa dienkripsi, tetapi dukungan di Windows lemah dan hanya macOS yang mendukungnya secara bawaan
Sebaliknya, WebDAV berjalan baik di kedua platform itu
Saat ini saya memakai davx5, tetapi akses file-nya kurang nyaman
Karena cocok dengan infrastruktur mTLS yang sudah saya bangun, saya lebih memilih WebDAV
Untuk sisi server saya memakai sftpgo
Ini bukan teknologi milik Amazon saja; ada juga proyek open source dukungan EU Horizon seperti Garage S3
https://garagehq.deuxfleurs.fr/
Misalnya, Tailscale Drive Share berbasis WebDAV, dan penyimpanan file Fastmail juga bisa diakses lewat WebDAV
WebDAV adalah teknologi yang cukup keren
Berjalan sangat baik
Windows dan macOS sama-sama punya dukungan bawaan, tetapi pengguna umum tidak bisa mengaksesnya
Di Windows hanya untuk WSL, di macOS hanya untuk virtualisasi, jadi cukup disayangkan
Akan luar biasa jika 9p bisa langsung di-mount dari UI
Kompatibel dengan klien NextCloud (desktop/Android), dan juga bisa dipakai di Gnome Online Accounts maupun Nautilus
https://codeberg.org/lunae/dav-next
Belum ada packaging atau rilis biner, tetapi masukan sangat diterima
Di platform cloud perusahaan kami, kami juga sedang mengembangkan fitur agar bisa diakses seperti drive melalui WebDAV
Karena berbasis HTTP, infrastruktur yang ada bisa dimanfaatkan apa adanya, jadi hampir tidak ada kompleksitas tambahan
Teknologi yang membosankan tapi stabil pada akhirnya bertahan paling lama
Lagi pula, ini standar terbuka
Masih banyak shared hosting yang mengarahkan pengguna untuk mengunggah lewat FTP
SSH key dan SFTP juga tersedia, tetapi dokumentasinya masih menyebut alat FTP seperti FileZilla
Panduan FTP OVHcloud
Sulit dipercaya masih ada yang memakai protokol tanpa enkripsi
Hosting seperti itu mungkin akan langsung saya coret
Saya rindu masa ketika dulu dipakai untuk distribusi perangkat lunak atau di dunia akademik, tetapi sekarang nyaris hanya menyisakan penggunaan terakhirnya saja
Ini memungkinkan sinkronisasi antar pengguna dengan beberapa akun iCloud, dan tidak perlu berlangganan Dropbox
Lebih cepat daripada CloudKit dan beban pemeliharaannya juga lebih kecil
Sepertinya ini masih akan saya pakai untuk waktu yang lama
Juga dilengkapi web scraper, jadi cocok untuk menyimpan markdown dari chatbot LLM
Sekarang sebagian besar vendor menyediakan kompatibilitas API S3
Jadi pada akhirnya ini tampaknya pembahasan tentang protokolnya sendiri