Konfigurasi Apache2 WebDAV Server Multi User dengan digest authentication di Ubuntu 16.04

okay guys, pada kesempatan kali ini gw akan memposting thread yaitu gimana cara konfigurasi webdav server multi user menggunakan apache2 di ubuntu. langsung aja ke tutorialnya yak :hmm:

Step 1. Install paket yang dibutuhin untuk membangun webdav server seperti perintah berikut ini:

$ sudo apt-get update
$ sudo apt-get install apache2 apache2-utils

Step 2. Menyiapkan direktori webdav untuk user, kita ambil usernamenya joe:

$ sudo mkdir /var/www/joe
$ sudo chown -R www-data:www-data /var/www
$ sudo chmod 755 /var/www/joe

Step 3. Mengaktifkan modul webdav

Pada aplikasi Apache2 udah tersedia modul webdav secara bawaan, cuma gak langsung aktif. Sekarang kita aktifin modul berikut:

$ sudo a2enmod dav
$ sudo a2enmod dav_fs
$ sudo a2enmod auth_digest

Step 4. Membuat user joe

$ sudo htdigest -c /etc/apache2/users.password webdav joe

perintah diatas fungsinya buat user untuk akses webdavnya, nanti setelah mengeksekusi perintah diatas kita kasih permissionnya kayak gini supaya bisa dibaca sama apache2:

sudo chown www-data:www-data /etc/apache2/users.password

Apabila ingin menambahkan user webdav, sama caranya seperti membuat user joe. Tetapi gak pake flag “-c”. Contoh, kita akan buat user baru dengan nama alex:

$ sudo htdigest /etc/apache2/users.password webdav alex

Step 5. Konfigurasi WebDAV Server

kita buat backup file /etc/apache2/sites-available/000-default.conf:

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.orig

selanjutnya kita edit file tersebut seperti ini:

$ sudo nano /etc/apache2/sites-available/000-default.conf

Ini taruh di baris yang paling atas sebelum section <VirtualDirectory> copy-paste baris berikut:

DavLockDB /var/www/DavLock

Selanjutnya pada section <VirtualDirectory> isi seperti baris dibawah ini:

    Alias /joe /var/www/joe
    
    <Directory /var/www/joe>
    DAV On
    AuthType Digest
    AuthName "webdav"
    AuthUserFile /etc/apache2/users.password
    Require valid-user
    </Directory>
    
    Alias /joe /var/www/alex
    
    <Directory /var/www/alex>
    DAV On
    AuthType Digest
    AuthName "webdav"
    AuthUserFile /etc/apache2/users.password
    Require valid-user
    </Directory>

Hasilnya nanti jadi seperti ini:

    DavLockDB /var/www/DavLock

    <VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

    Alias /joe /var/www/joe
    
    <Directory /var/www/joe>
    DAV On
    AuthType Digest
    AuthName "webdav"
    AuthUserFile /etc/apache2/users.password
    Require valid-user
    </Directory>
    
    Alias /joe /var/www/alex
    
    <Directory /var/www/alex>
    DAV On
    AuthType Digest
    AuthName "webdav"
    AuthUserFile /etc/apache2/users.password
    Require valid-user
    </Directory>
    
    </VirtualHost>

Tulisan yang gw bold itu ditambahin pada file /etc/apache2/sites-available/000-default.conf

Step 6. Restart apache2 server

$ sudo service apache2 restart

Step 7. Tes WebDAV server

Kalo mau ngetes WebDAV server sendiri nih terutama pada distro turunan debian, install paket davfs2:

$ sudo apt-get install davfs2

Abis itu buka file manager seperti nautilus, kalo ketikkan perintah baris dibawah ini untuk mengakses WebDAV tersebut pada nautilus:

dav://ipaddresskamu/joe

Oke, sekian tutorial gw pada kesempatan hari ini. Moga bermanfaat yak :kalem:

Sumber:

https://helpcenter.onlyoffice.com/de/server/community/connect-webdav-server-ubuntu.aspx

6 Likes

Ijin edit syntax hightlight apache spy makin mudah dibaca. :chaer:

Btw, seumur idup gue ngga pernah make webdav. :hammer:
Atau gue secara ga langsung make tp ga sadar ya? :bingung:

mantap om joe,

makasih om dita :kalem:
gw biasa pake buat transfer file dari android ke laptop :cambuk:

Gw pake kabel USB. old school banget :hammer:

Naiz…
Btw, ada yg pernah coba ceph?

dc blockstoragenya pake rbd

:ngakak: dulu gw pake kabel usb juga. Ntar gw posting folder sharing via sftp om dita :hmm:

Folder sharing via sftp :hah:
Klo scp/sftp ga support file lock, versioning dll. Jd sebenernya ga cocok untuk file/folder sharing dan lebih digunakan buat file transfer (sesuai namanya) :cerdas: .

request tutor bikin amason s3 dong :please:

Nah pokoknya itu entah apalah namanya :cambuk:
Maklum keinget SMB :hammer:

Baru dengen ada aws s3 :hah:

Udah lama itu om. :sweat_smile: dan bukan protocol, tapi service. Salah 1 paling populer. Produk serupa ky Google Cloud Storage dari GCP.