Konfigurasi WebDav Nginx di CentOS 7 - WebDav ( Web Distributed Authoting and Versioning ) merupakan sebuah ekstensi HTTP protocol yang memungkinkan user untuk membuat, merubah dan memindahkan file pada server melalui remote http. Di nginx kita dapat membuat sebuah repository file webdav dengan menggunakan module ngx_http_dav_module. Dengan mengaktifkannya nginx sudah dapat melakukan operation webdav seperti PUT, DELETE, COPY, MKCOL dan MOVE.
Baca Juga:
Install Nginx PHP-FPM Docker Compose
Setup High Availability Web Service Menggunakan Docker HAProxy
Untuk membuat server repository file menggunakan module webdav pada nginx, kita perlu mengaktifkan module webdav ( --with-http_dav_module) pada saat melakukan installasi nginx. Sobat juga dapat menggunakan image nginx docker secara default sudah menginstall semua module nginx termasuk webdav sehingga tidak perlu repot untuk recompile nginx. Akan tetapi pada contoh kali, www.dimasrio.com mengcompilenya melalui sourcce.
Setup WebDav Nginx di CentOS 7
Install recruitment packages.
yum install gc gcc gcc-c++ pcre-devel zlib-devel make wget openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools gperftools-devel libatomic_ops-devel perl-ExtUtils-EmbedDownload stable source di nginx.org.
$ wget http://nginx.org/download/nginx-1.12.2.tar.gzCompile nginx.
$ tar -zxvf nginx-1.12.2.tar.gz
$ cd nginx-1.12.2
$ ./configure --prefix=/opt/nginx --with-http_dav_moduleNote : Perintah di atas hanya setup basic nginx dengan module webdav, sobat bisa sesuaikan module sesuai dengan kebutuhan.
$ make
$ make install
Create user, directory dan set permissions.
$ adduser nginxEdit file nginx.conf seperti di bawah ini.
$ mkdir /var/log/nginx
$ mkdir /opt/nginx/conf/vhosts
$ mkdir /opt/nginx/html/data
$ mkdir /opt/nginx/html/temp
$ chown nginx. -R /opt/nginx/html/data
$ chown nginx. -R /opt/nginx/html/temp
user nginx;Buat webdav.conf di dalam direktory vhosts yang sudah di buat sebelumnya.
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log logs/access.log;
sendfile on;
keepalive_timeout 65;
include vhosts/*.conf;
}
$ touch /opt/nginx/conf/vhosts/webdav.confStart services nginx.
server {
listen 80;
server_name _;
access_log /var/log/nginx/webdav-access.log;
error_log /var/log/nginx/webdav-error.log;
location / {
root /opt/nginx/html/data;
client_body_temp_path /opt/nginx/html/temp;
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:rw;
}
}
/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.confAllow port http di firewalld.
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
WebDav Operation With Curl
PUT (upload)curl -XPUT http://192.168.56.101/test.txt --upload-file test.txtMKCOL (membuat direktory)
curl -XPUT http://192.168.56.101/files/COPY (menyalin file)
curl -XCOPY --header 'Destination:http://192.168.56.101/files/dimzrio.txt' http://192.168.56.101/test.txtMOVE (memindahkan / rename file)
curl -XMOVE --header 'Destination:http://192.168.56.101/files/test.txt' http://192.168.56.101/test.txtDELETE (menghapus file)
curl -XDELETE http://192.168.56.101/files/test.txt
Demikian tutorial nginx kali ini mengenai konfigurasi webdav nginx di centos 7. Semoga bermanfaat bagi kita semua dan selamat mencoba.!!!
EmoticonEmoticon
Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.