GNU/Linux >> Belajar Linux >  >> Ubuntu

Pengaturan server WebDAV di Ubuntu Linux

Pengantar

Artikel ini akan membahas instalasi dan konfigurasi server WebDAV di Ubuntu Linux. WebDAV adalah singkatan dari Web Distributed Authoring and Versioning dan memungkinkan pengguna yang terhubung untuk mengedit dan berbagi data secara online melalui protokol HTTP. Hal ini membuat WebDAV menjadi pilihan populer bagi pengembang saat digabungkan, misalnya, dengan Subversion atau OpenLink Virtuoso. WebDAV didukung oleh sejumlah klien mulai dari davfs2, yang memungkinkan untuk memasang penyimpanan data WebDAV untuk dimasukkan ke dalam sistem file lokal. Ini dapat dilakukan dengan perintah mount ke berbagai aplikasi GUI dengan dukungan WebDAV asli seperti Nautilus, konqueror, dll. Selanjutnya, dalam panduan ini kami akan menggabungkan WebDAV dengan server Apache2.

Skenario

Di bagian ini saya ingin menjelaskan skenario yang digunakan dalam tutorial ini. WebDAV dapat menjadi layanan yang sangat fleksibel, yang memungkinkan sejumlah pengaturan dan skenario konfigurasi. Dalam tutorial WebDAV ini kita akan mulai dengan konfigurasi WedDAV startup dasar yang paling sederhana dan dari sana kita akan membangunnya agar sesuai dengan lingkungan yang lebih kompleks. Anda dapat menganggap WebDAV sebagai ekstensi HTTP untuk konfigurasi situs web Anda yang ada. Biasanya, Anda mungkin sudah memiliki situs web Apache Anda dan berjalan. Jadi, dalam hal ini, yang perlu Anda lakukan untuk menyertakan layanan WevbDAV adalah:

  1. buat direktori data unggahan tambahan untuk digunakan oleh WebDAV
  2. mengonfigurasi file host virtual apache2 yang ada

Namun, dalam panduan ini kita akan memulai dari awal mulai dari instalasi apache2, pembuatan virtual host, dll. Oleh karena itu, jangan ragu untuk melompat ke bagian mana pun yang paling sesuai dengan kebutuhan konfigurasi Anda.

Dalam panduan ini kami akan mengonfigurasi:

  • webdav.local – ini akan menjadi host virtual yang berjalan di server IP 10.1.1.61
  • webdav.local/svn – ini akan menjadi direktori yang mendukung WebDAV
  • /var/www/webdav – direktori untuk meng-host file indeks webdav.local
  • /var/www/webdav/svn – direktori untuk menghosting penyimpanan data webdav.local/svn WebDAV

Edit pengaturan DNS Anda sesuai atau ubah file /etc/hosts klien Anda untuk menyertakan resolusi webdav.local host di atas.

Instalasi Apache dan WebDAV

Di bagian ini kita hanya akan menginstal apache2 dan mengaktifkan modul WebDAV. Modul WebDAV dilengkapi dengan instalasi Apache2, namun tidak diaktifkan secara default. Semua ini dapat dilakukan dengan dua perintah sederhana:

$ sudo apt-get install apache2

Sekarang Anda seharusnya dapat mengakses situs web default Anda yang terletak di http://webdav.local. Jika semuanya berjalan dengan baik, nonaktifkan halaman default karena kami tidak lagi menggunakannya:

$ sudo a2dissite default
$ sudo service apache2 reload

Konfigurasikan host virtual

Pada titik ini kita perlu mengkonfigurasi virtual host dengan ServerName:webdav.local dan direktori terlampir /var/www/webdav. Untuk melakukannya, navigasikan ke /etc/Apache2/sites-available/:

$ cd /etc/apache2/sites-available/

dan buat file konfigurasi situs baru bernama webdav.local dengan konten berikut:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        Servername webdav.local

        DocumentRoot /var/www/webdav
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/webdav/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

Setelah selesai, kita perlu membuat direktori /var/www/webdav/ yang sesuai:

$ sudo mkdir /var/www/webdav

Ubah pemilik menjadi Apache:

$ sudo chown www-data.www-data /var/www/webdav

dan aktifkan situs baru webdav.local

$ sudo a2ensite webdav.local

Untuk mengujinya kita dapat membuat beberapa file index.html sederhana:

$ sudo sh -c 'echo "Welcome from WebDAV.local" > /var/www/webdav/index.html'

dan akhirnya memuat ulang server web Apache2:

$ sudo service apache2 reload

Sekarang Anda seharusnya dapat menavigasi browser Anda ke http://webdav.local dan melihat pesan:Selamat datang dari WebDAV.local di layar Anda. Ini mengakhiri instalasi server web Apache2 dengan host virtual webdav.local

Penyiapan WebDAV

Saatnya mengaktifkan modul WebDAV dengan:

$ sudo a2enmod dav_fs
Considering dependency dav for dav_fs:
Enabling module dav.
Enabling module dav_fs.

dan restart server Apache:

$ sudo service apache2 restart

Sekarang semuanya sudah siap, kita dapat mengatur server WebDAV dasar. Ini dapat dengan mudah dilakukan dengan membuat direktori tambahan untuk menyimpan data WebDAV:

Konfigurasi Dasar

$ sudo mkdir /var/www/webdav/svn

Penting juga untuk membuatnya dapat ditulis oleh Apache jika tidak, kita akan mendapatkan 403 Forbidden error:

$ sudo chown www-data.www-data /var/www/webdav/svn/

dan mengaktifkan WebDAV untuk webdav.local host virtual baru kami. Ini dapat dilakukan dengan menambahkan baris berikut ke dalam blok :

Alias /svn /var/www/webdav/svn
<Location /svn>
    DAV On
</Location>

Maksudnya di atas adalah direktori yang mengaktifkan WebDAV /var/www/webdav/svn yang akan dapat diakses melalui http://webdav.local/svn. Lakukan modifikasi di atas dari file konfigurasi /etc/Apache2/sites-available/webdav.local yang ada dan mulai ulang server web Apache Anda. Berikut adalah tampilan seluruh file /etc/Apache2/sites-available/webdav.local pada tahap ini:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        Servername webdav.local

        DocumentRoot /var/www/webdav
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/webdav/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

Alias /svn /var/www/webdav/svn
<Location /svn>
    DAV On
</Location>

</VirtualHost>

Saatnya untuk menguji konfigurasi kita. Salah satu cara untuk melakukannya adalah dengan mengarahkan browser kita ke http://webdav.local/svn atau cara yang lebih baik adalah dengan menggunakan alat cadaver. Pertama instal mayat dengan:

$ sudo apt-get install cadaver

Buat file data yang sama dengan dd untuk diunggah ke direktori WebDAV Anda dan unggah:

$ dd if=/dev/zero of=mydata.dat bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.075726 s, 138 MB/s
$ cadaver http://webdav.local/svn
dav:/svn/> put mydata.dat
Uploading mydata.dat to `/svn/mydata.dat':
Progress: [=============================>] 100.0% of 10485760 bytes succeeded.
dav:/svn/> quit
Connection to `webdav.local' closed.

Sekarang Anda harus memiliki server WebDAV dasar yang dikonfigurasi dan siap digunakan. Di bagian selanjutnya kita akan menambahkan beberapa otentikasi pengguna dasar.

WebDAV dengan otentikasi pengguna

Jika Anda bermaksud untuk menyebarkan server WebDAV Anda pada host jarak jauh, lebih dari disarankan untuk menerapkan setidaknya beberapa otentikasi dasar. Untungnya, ini dapat dilakukan dengan mudah menggunakan htpasswd perintah dan konfigurasi ulang file konfigurasi /etc/apache2/sites-available/webdav.local yang ada.

Pertama buat direktori tempat Anda ingin menyimpan file kata sandi webdav. Ini adalah lokasi pilihan Anda. Dalam tutorial ini saya menggunakan /usr/local/apache2/:

$ sudo mkdir /usr/local/apache2/

Kemudian, gunakan htpasswd untuk membuat file kata sandi baru yang akan diautentikasi oleh semua pengguna.

$ sudo htpasswd -c /usr/local/apache2/webdav.passwords lubos

Jika Anda perlu menambahkan lebih banyak pengguna, gunakan sintaks di atas tetapi abaikan opsi -c karena akan menimpa file Anda yang ada.
Sekarang file otentikasi sudah siap, kita perlu menambahkan otentikasi ke /etc/Apache2/sites kita saat ini -available/webdav.local file konfigurasi. Perubahan baru disorot dengan font tebal:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        Servername webdav.local

        DocumentRoot /var/www/webdav
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/webdav/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

Alias /svn /var/www/webdav/svn
<Location /svn>
    DAV On
        AuthType Basic
        AuthName "webdav"
        AuthUserFile /usr/local/apache2/webdav.passwords
        Require valid-user
</Location>

</VirtualHost>

Mulai sekarang jika Anda mencoba mengakses server WebDAV Anda, Anda harus mengotentikasi diri Anda terlebih dahulu. Berikut adalah contoh autentikasi WebDAV:

$ cadaver http://webdav.local/svn
Authentication required for webdav on server `webdav.local':
Username: lubos
Password: 
dav:/svn/> ls
Listing collection `/svn/': succeeded.
        mydata.dat                      10485760  Feb 20 14:45
dav:/svn/>

Membatasi akses WebDAV

Selain itu, disarankan untuk membatasi akses WebDAV ke sejumlah pengguna terbatas. Misalnya, jika kita ingin hanya mengizinkan satu pengguna “Lubos” mengakses repositori WebDAV kita, kita dapat melakukannya dengan menambahkan klausa di dalam direktif seperti:

    <Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        AuthType Basic
        AuthName "webdav"
        AuthUserFile /usr/local/apache2/webdav.passwords
        Require user lubos
    </Limit>

Karena pengguna dapat mengakses dan mengunggah file ke direktori yang mendukung WebDAV, disarankan juga untuk melarang file .httaccess. Oleh karena itu, tambahkan:

AllowOverride None

di dalam direktif .

Memasang direktori yang mendukung WebDAV

Seperti yang telah disebutkan sebelumnya WebDAV didukung oleh sejumlah besar klien. Dimungkinkan juga untuk memasang direktori WebDAV ke dalam sistem lokal untuk bertindak sebagai bagian dari sistem file. Untuk melakukannya, pertama-tama kita harus menginstal davfs2 sebagai pengguna root:

# apt-get install davfs2

lalu buat titik mount:

# mkdir /mnt/webdav

dan terakhir pasang dengan perintah mount:

# mount.davfs http://webdav.local/svn /mnt/webdav/
Please enter the username to authenticate with server
http://webdav.local/svn or hit enter for none.
  Username: lubos
Please enter the password to authenticate user lubos with server
http://webdav.local/svn or hit enter for none.
  Password:  
# cd /mnt/webdav/
# ls
lost+found  mydata.dat
# touch linuxcareer.com.txt
# sync

Kesimpulan

Artikel ini menjelaskan konfigurasi dasar layanan WebDAV menggunakan server web Apache2 untuk membantu Anda memulai. Ada beberapa masalah keamanan yang harus dipertimbangkan sehingga Anda perlu mengerjakan pekerjaan rumah Anda dan berkonsultasi dengan dokumentasi mod_dav Modul Apache untuk pengaturan konfigurasi lebih lanjut dan peningkatan keamanan untuk meningkatkan konfigurasi Anda.


Ubuntu
  1. 4 Langkah untuk Mengatur Repositori Lokal di Ubuntu menggunakan APT-mirror

  2. Ubuntu – Server Vcenter Di Linux?

  3. Menyiapkan Server Web Ubuntu?

  1. Pengaturan server DAAP iTunes di Ubuntu/Debian Linux

  2. Siapkan server Urbackup di Ubuntu 20.04

  3. Setup Rsyslog Server di Ubuntu 20.04 - Bagaimana cara melakukannya?

  1. Cara mengatur server FTP di Ubuntu 20.04 Focal Fossa Linux

  2. Cara mengatur server SFTP di Ubuntu 20.04 Focal Fossa Linux

  3. Server VNC di Ubuntu 20.04 Focal Fossa Linux