Nasazení WebDAV na Debian 10 pomocí WsgiDAV

Úvod

WebDAV (Web Distributed Authoring and Versioning) je rozšíření HTTP, které poskytuje rámec pro vzdálené vytváření a úpravy souborů na serveru. WsgiDAV je server WebDAV napsaný v pythonu. Tato příručka vám pomůže při instalaci WsgiDAV verze 3.0 na server Vultr s Debianem 10. Získáme také certifikát SSL pro zajištění bezpečného připojení a ověřování PAM.

Předpoklady

  • Systém Debian 10, ke kterému máte privilegovaný přístup (prostřednictvím uživatele root nebo libovolného uživatele sudo).
  • Proměnná $EDITORprostředí musí být nastavena na textový editor podle vašeho výběru.
  • Je vyžadováno registrované doménové jméno. Jeho jmenné servery musí být nakonfigurovány se Azáznamem směřujícím na adresu IPv4 vašeho serveru a volitelně se AAAAzáznamem směřujícím na adresu IPv6.
  • Doporučuje se znát syntaxi YAML.

Zástupný symbol dav.example.combude použit pro název domény vašeho serveru.

Instalace

SSL certifikát

Začneme aktualizací systému a získáním bezplatného SSL certifikátu od Let's Encrypt . Chcete-li to provést, nejprve aktualizujte systém a nainstalujte certbotnástroj:

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

V níže uvedeném příkazu před jeho provedením nahraďte dav.example.coma email@domain.tldsvým názvem domény a e-mailovou adresou:

sudo certbot certonly --standalone --agree-tos -m email@domain.tld -d dav.example.com

Vašemu serveru bude zaslána výzva k ověření, že ovládáte zadaný název domény. Pokud uspěje, certifikát bude vydán a uložen spolu s dalšími soubory, jako je soukromý klíč, pod /etc/letsencrypt/live/dav.example.com/.

Instalace WsgiDAV

Nejprve nainstalujte správce balíčků python pip:

sudo apt update sudo apt install -y python3-pip

WsgiDAV vyžaduje HTTP server, který podporuje WSGI. Nainstalujeme výchozí možnost, kterou je Cheroot. Nainstalujeme také knihovnu lxml python, která má tendenci fungovat lépe než knihovna XML nainstalovaná ve výchozím nastavení. Potřebná je také knihovna PAM (Pluggable Authentication Module) python3. Nainstalujte požadované balíčky pomocí pipnástroje:

sudo pip3 install wsgidav cheroot lxml python-pam

Konfigurace WsgiDAV

Spustitelný soubor WsgiDAV je uložen v /usr/local/bin, takže konfigurační soubor umístíme do /usr/local/etcadresáře. Stáhněte si ukázkový konfigurační soubor pomocí následujících příkazů:

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

Otevřete jej pomocí editoru:

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

V části „Podpora SSL“ vyhledejte následující řádky:

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

Nahraďte je následujícím:

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"

Dále nakonfigurujeme cesty sdílení mapováním cest HTTP (jako je /) na odpovídající umístění v systému souborů (jako je /var/www/dir1). Pro demonstrační účely budeme sdílet dva adresáře, z nichž jeden bude pouze pro čtení. Najděte provider_mappingblok v sekci "SHARES":

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}

Vyměňte to:

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

S těmito mapováními https://dav.example.com:8080/bude odpovídat /var/www/html/documentsadresáři na serveru, zatímco https://dav.example.com:8080/reportsbude mapovat na /var/www/html/reportsbez přístupu pro zápis.

Pro ověření použijeme ovladač PAM. To odstraňuje potřebu samostatných uživatelských účtů WebDAV a umožňuje uživatelům systému přihlásit se pomocí svých obvyklých přihlašovacích údajů.

V sekci "AUTHENTICATION" najděte tyto řádky:

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

Nahraďte je následujícím:

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

Nyní můžete otestovat svůj server:

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

Otevřete https://dav.example.com:8080/ve svém webovém prohlížeči. Protože jsme nakonfigurovali ověřování PAM, budete se muset přihlásit pomocí svého uživatelského účtu Linux. Než budete pokračovat, použijte CTRL+ Ck zastavení serveru.

Instalace jako služba

Chcete-li spustit server WebDAV jako systémovou službu spravovanou systémem systemd, vytvořte soubor jednotky:

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

Zadejte následující:

[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

Poté vytvořte konfigurační soubor pro službu protokolování systému:

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

Naplňte soubor následujícím:

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

Uložte a ukončete, poté pomocí níže uvedených příkazů vytvořte soubor protokolu:

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

Nakonec načtěte nový soubor systemd unit a restartujte službu protokolování před spuštěním WsgiDAV:

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

Nyní můžete použít systemctlke spuštění, zastavení a restartování serveru WebDAV. Standardní výstup a chyba WsgiDAV budou zaprotokolovány /var/log/wsgidav.loga lze k nim také přistupovat pomocí sudo journalctl -u wsgidav.service.

Pokud chcete, aby se server WebDAV spouštěl automaticky při spouštění systému, proveďte:

sudo systemctl enable wsgidav.service

Další čtení

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více