WsgiDAV kullanarak Debian 10da WebDAV dağıtma

Giriş

Web Dağıtılmış Yazma ve Sürüm Oluşturma (WebDAV), bir sunucuda uzaktan dosya oluşturma ve değiştirme için bir çerçeve sağlayan bir HTTP uzantısıdır. WsgiDAV, python ile yazılmış bir WebDAV sunucusudur. Bu kılavuz, Debian 10 çalıştıran bir Vultr sunucusuna WsgiDAV sürüm 3.0 kurulumunda size yardımcı olacaktır. Ayrıca güvenli bir bağlantı ve PAM kimlik doğrulaması sağlamak için bir SSL sertifikası da alacağız.

Ön şartlar

  • Erişim hakkına sahip olduğunuz bir Debian 10 sistemi (kök kullanıcı veya herhangi bir sudo kullanıcısı aracılığıyla).
  • $EDITORÇevre değişkeni istediğiniz bir metin editörü olarak ayarlanması gerekir.
  • Kayıtlı bir alan adı gerekiyor. Ad sunucuları A, sunucunuzun IPv4 adresini AAAAgösteren bir kayıt ve isteğe bağlı olarak IPv6 adresini gösteren bir kayıtla yapılandırılmalıdır .
  • YAML sözdizimine aşina olmanız önerilir.

Yer tutucu dav.example.com, sunucunuzun etki alanı adı için kullanılacaktır.

Kurulum

SSL sertifikası

Sistemi güncelleyerek ve Let's Encrypt'ten ücretsiz bir SSL sertifikası alarak başlayacağız . Bunu yapmak için, önce sisteminizi güncelleyin ve certbotyardımcı programı yükleyin :

 sudo apt update
 sudo apt upgrade -y
 sudo apt install -y certbot

Aşağıdaki komutta, yerini dav.example.comve [email protected]bunu yürütmeden önce sırasıyla alan adınızı ve e-posta adresi ile:

sudo certbot certonly --standalone --agree-tos -m [email protected] -d dav.example.com

Sunucunuza, belirtilen etki alanı adını denetlediğinizi doğrulamak için bir sorun gönderilir. Başarılı olursa, sertifika altında özel anahtar gibi diğer dosyalarla birlikte verilir ve kaydedilir /etc/letsencrypt/live/dav.example.com/.

WsgiDAV Kurulumu

İlk olarak, python paket yöneticisini kurun pip:

sudo apt update
sudo apt install -y python3-pip

WsgiDAV, WSGI'yi destekleyen bir HTTP sunucusu gerektirir. Varsayılan seçeneği (Cheroot) yükleyeceğiz. Ayrıca, varsayılan olarak yüklenen XML kitaplığından daha iyi performans gösterme eğilimi gösteren lxml python kitaplığını da yükleyeceğiz. PAM (Takılabilir Kimlik Doğrulama Modülü) python3 kütüphanesi de gereklidir. pipAracı kullanarak gerekli paketleri kurun :

sudo pip3 install wsgidav cheroot lxml python-pam

WsgiDAV'ı Yapılandırma

WsgiDAV yürütülebilir dosyası depolanır /usr/local/bin, bu nedenle yapılandırma dosyasını /usr/local/etcdizine yerleştiririz. Aşağıdaki komutlarla örnek yapılandırma dosyasını indirin:

sudo mkdir -p /usr/local/etc
sudo wget https://github.com/mar10/wsgidav/raw/master/sample_wsgidav.yaml -O /usr/local/etc/wsgidav.yaml

Düzenleyicinizle açın:

sudo $EDITOR /usr/local/etc/wsgidav.yaml

"SSL Desteği" bölümünde aşağıdaki satırları bulun:

# ssl_certificate: "wsgidav/server/sample_bogo_server.crt"
# ssl_private_key: "wsgidav/server/sample_bogo_server.key"
# ssl_certificate_chain: null

Bunları aşağıdaki ile değiştirin:

ssl_certificate: "/etc/letsencrypt/live/dav.example.com/cert.pem"
ssl_private_key: "/etc/letsencrypt/live/dav.example.com/privkey.pem"
ssl_certificate_chain: "/etc/letsencrypt/live/dav.example.com/chain.pem"

Daha sonra, HTTP yollarını (örneğin /) dosya sistemindeki karşılık gelen konumlarla (örneğin ) eşleyerek paylaşım yollarını yapılandıracağız /var/www/dir1. Gösteri amacıyla, biri salt okunur olacak iki dizini paylaşacağız. provider_mapping"PAYLAR" bölümünde bloğu bulun :

provider_mapping:
    "/": "/path/to/share1"
    "/pub":
        root: "/path/to/share2"
        readonly: true
    "/share3":
        provider: path.to.CustomDAVProviderClass
        args: ["/path/to/share3", "second_arg"]
        kwargs: {"another_arg": 42}

Değiştirin:

provider_mapping:
    "/":
    root: "/var/www/html/documents"
    readonly: false
"/reports":
    root: "/var/www/html/reports"
    readonly: true

Bu eşlemelerle, sunucudaki dizine https://dav.example.com:8080/karşılık /var/www/html/documentsgelirken https://dav.example.com:8080/reports, /var/www/html/reportsyazma erişimi olmadan eşleştirilir .

Kimlik doğrulama için PAM sürücüsünü kullanacağız. Bu, ayrı WebDAV kullanıcı hesaplarına olan gereksinimi ortadan kaldırır ve sistem kullanıcılarının normal kimlik bilgilerini kullanarak oturum açmalarına olanak tanır.

"KİMLİK DOĞRULAMA" bölümünde şu satırları bulun:

accept_basic: true
accept_digest: true
default_to_digest: true
domain_controller: null

Bunları aşağıdaki ile değiştirin:

accept_basic: true
accept_digest: false
default_to_digest: false
domain_controller: wsgidav.dc.pam_dc.PAMDomainController

Artık sunucunuzu test edebilirsiniz:

sudo wsgidav -c /usr/local/etc/wsgidav.yaml

https://dav.example.com:8080/Web tarayıcınızda açın . PAM kimlik doğrulamasını yapılandırdığımızdan, Linux kullanıcı hesabınızla oturum açmanız gerekecektir. Devam etmeden önce sunucuyu durdurmak için CTRL+ tuşunu kullanın C.

Hizmet olarak yükleme

WebDAV sunucunuzu systemd tarafından yönetilen bir sistem hizmeti olarak çalıştırmak için bir birim dosyası oluşturun:

sudo $EDITOR /etc/systemd/system/wsgidav.service

Aşağıdakileri girin:

[Unit]
Description=WsgiDAV WebDAV server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/wsgidav -c /usr/local/etc/wsgidav.yaml
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=wsgidav_service

[Install]
WantedBy=multi-user.target

Ardından sistem günlüğü hizmeti için bir yapılandırma dosyası oluşturun:

sudo $EDITOR /etc/rsyslog.d/wsgidav_service.conf

Dosyayı aşağıdakilerle doldurun:

 if $programname == 'wsgidav_service' then /var/log/wsgidav.log
 & stop

Kaydedin ve çıkın, ardından günlük dosyasını oluşturmak için aşağıdaki komutları kullanın:

sudo touch /var/log/wsgidav.log
sudo chown root:adm /var/log/wsgidav.log

Son olarak, WsgiDAV'ı başlatmadan önce yeni systemd birim dosyasını yükleyin ve günlük hizmetini yeniden başlatın:

sudo systemctl daemon-reload
sudo systemctl restart rsyslog.service
sudo systemctl start wsgidav.service

Artık systemctlWebDAV sunucunuzu başlatmak, durdurmak ve yeniden başlatmak için kullanabilirsiniz . WsgiDAV'ın standart çıktı ve hatası günlüğe kaydedilir /var/log/wsgidav.logve bunlara da erişilebilir sudo journalctl -u wsgidav.service.

WebDAV sunucusunun sistem önyükleme zamanında otomatik olarak başlamasını istiyorsanız, yürütün:

 sudo systemctl enable wsgidav.service

daha fazla okuma



Leave a Comment

Debianda NFS Paylaşımı Ayarla

Debianda NFS Paylaşımı Ayarla

NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz

Debian 9 Üzerinde Yakıt CMS Kurulumu

Debian 9 Üzerinde Yakıt CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

Debian 9 Üzerinde Thelia 2.3 Kurulumu

Debian 9 Üzerinde Thelia 2.3 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Thelia, e-iş web siteleri oluşturmak ve PHP ile yazılmış çevrimiçi içeriği yönetmek için açık kaynaklı bir araçtır. Thelia kaynak kodu i

Debianda Chroot Oluşturma

Debianda Chroot Oluşturma

Bu makale size Debianda nasıl bir cezaevi hapishane kurulacağını öğretecek. Debian 7.x kullandığınızı varsayıyorum. Debian 6 veya 8 çalıştırıyorsanız, bu işe yarayabilir, bu

Debian 9 InvoicePlane Nasıl Kurulur

Debian 9 InvoicePlane Nasıl Kurulur

Farklı Bir Sistem mi Kullanıyorsunuz? InvoicePlane ücretsiz ve açık kaynaklı bir faturalandırma uygulamasıdır. Kaynak kodu bu Github deposunda bulunabilir. Bu rehber

Debian 9u Debian 10a Yükseltme

Debian 9u Debian 10a Yükseltme

Giriş Debian 10 (Buster), Debian 9un (Stretch) halefidir. 6 Temmuz 2019da piyasaya sürüldü. Bu derste, bir var olanı yükselteceğiz

Debian 9 LAMP VPS Arka Plan CMS 1.8.0 Kurulumu

Debian 9 LAMP VPS Arka Plan CMS 1.8.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Backdrop CMS 1.8.0, basit ve esnek, mobil uyumlu, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

Debian 9 Üzerinde BookStack Kurulumu

Debian 9 Üzerinde BookStack Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? BookStack, bilgileri düzenlemek ve depolamak için basit, kendi kendine barındırılan, kullanımı kolay bir platformdur. BookStack tamamen ücretsiz ve açık

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7, Ubuntu 16.04 ve Debian 9da Golang 1.8.3 Kurulumu

CentOS 7, Ubuntu 16.04 ve Debian 9da Golang 1.8.3 Kurulumu

Golang, Google tarafından geliştirilen bir programlama dilidir. Çok yönlülüğü, sadeliği ve güvenilirliği sayesinde Golang en popüler topluluklardan biri haline geldi

Debian 9a Cıvata CMS Takma (Uzatma)

Debian 9a Cıvata CMS Takma (Uzatma)

Farklı Bir Sistem mi Kullanıyorsunuz? Bolt PHP ile yazılmış açık kaynaklı bir CMSdir. Cıvata kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Bolt CMnin nasıl kurulacağını gösterecektir

Munin ile Debian Sunucu Durumunu İzleme

Munin ile Debian Sunucu Durumunu İzleme

Munin, makinenizdeki süreçleri ve kaynakları araştırmak için bir izleme aracıdır ve bilgileri bir web arayüzü aracılığıyla grafiklerde sunar. Aşağıdaki kullanın

Debian 10da Apachede TLS 1.3ü Etkinleştirme

Debian 10da Apachede TLS 1.3ü Etkinleştirme

Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür

Debian 9 Üzerinde PyroCMS Kurulumu

Debian 9 Üzerinde PyroCMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? PyroCMS, PHP ile yazılmış açık kaynaklı bir CMSdir. PyroCMS kaynak kodu GitHubda barındırılmaktadır. Bu kılavuzda entir boyunca yürüyün

Sunucunuza IP Adresi Aralığı Ekleyin (CentOS / Ubuntu / Debian)

Sunucunuza IP Adresi Aralığı Ekleyin (CentOS / Ubuntu / Debian)

Giriş Bu eğitimde, CentOS, Debian veya Ubuntu çalıştıran bir Linux sunucusuna tüm IP aralığını / alt ağını ekleme işlemini ele alacağız. Süreç

Counter Strikeı Ayarlama: Debianda Kaynak

Counter Strikeı Ayarlama: Debianda Kaynak

Bu kılavuzda, Debian 7de Counter Strike: Source oyun sunucusu kuracağız. Bu komutlar Debian 7de test edildi, ancak aynı zamanda o

Debian Üzerinde Snort Nasıl Yapılandırılır

Debian Üzerinde Snort Nasıl Yapılandırılır

Snort, ücretsiz bir ağ saldırı tespit sistemidir (IDS). Daha az resmi terimle, ağınızı şüpheli etkinlikler için gerçek zamanlı olarak izlemenizi sağlar

Debian 9 Üzerinde Dolibarr Kurulumu

Debian 9 Üzerinde Dolibarr Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun