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 protected]svým názvem domény a e-mailovou adresou:

sudo certbot certonly --standalone --agree-tos -m [email protected] -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í


Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Gitea na Debian 9

Jak nainstalovat Gitea na Debian 9

Používáte jiný systém? Gitea je alternativní open source systém pro správu verzí s vlastním hostitelem poháněný systémem Git. Gitea je napsána v Golangu a je

Nainstalujte Lynis na Debian 8

Nainstalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj pro audit systému s otevřeným zdrojovým kódem, který používá mnoho systémových administrátorů k ověření integrity a posílení svých systémů. já

Jak nainstalovat Thelia 2.3 na Debian 9

Jak nainstalovat Thelia 2.3 na Debian 9

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý společností Google. Díky své všestrannosti, jednoduchosti a spolehlivosti se Golang stal jedním z nejoblíbenějších

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Pokud jste zapomněli své kořenové heslo MySQL, můžete ho resetovat podle kroků v tomto článku. Proces je poměrně jednoduchý a funguje na nich

Vytváření síťových sdílení pomocí Samby v Debianu

Vytváření síťových sdílení pomocí Samby v Debianu

Jsou chvíle, kdy potřebujeme sdílet soubory, které musí být viditelné pro klienty Windows. Vzhledem k tomu, že systémy založené na pojistkách fungují pouze na Linuxu, představujeme vás

Nastavení Counter Strike: Source na Debianu

Nastavení Counter Strike: Source na Debianu

V této příručce nastavíme herní server Counter Strike: Source na Debianu 7. Tyto příkazy byly testovány na Debianu 7, ale měly by také fungovat

Jak nainstalovat Unturned 2.2.5 na Debian 8

Jak nainstalovat Unturned 2.2.5 na Debian 8

V této příručce se dozvíte, jak nastavit server Unturned 2.2.5 na Vultr VPS se systémem Debian 8. Poznámka: Toto je upravená verze Unturned, která

Jak nainstalovat Cachet na Debian 8

Jak nainstalovat Cachet na Debian 8

V tomto tutoriálu se naučíte, jak nainstalovat Cachet na Debian 8. Cachet je výkonný open source systém stavových stránek. Instalace Tento tutoriál právě probíhá

Automaticky zálohujte více databází MySQL nebo MariaDB

Automaticky zálohujte více databází MySQL nebo MariaDB

Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.

Nastavení Chrootu v Debianu

Nastavení Chrootu v Debianu

Tento článek vás naučí, jak nastavit chroot jail v Debianu. Předpokládám, že používáte Debian 7.x. Pokud používáte Debian 6 nebo 8, může to fungovat, bu

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Používáte jiný systém? Reader Self 3.5 je jednoduchá a flexibilní, bezplatná a open source, samostatně hostovaná RSS čtečka a alternativa Google Reader. Čtenář Sel

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat SteamCMD na váš VPS

Jak nainstalovat SteamCMD na váš VPS

V tomto tutoriálu nainstalujeme SteamCMD. SteamCMD lze použít ke stažení a instalaci mnoha herních serverů Steam, jako je Counter-Strike: Global Offensiv

Upgradujte Python na Debian

Upgradujte Python na Debian

Jak možná víte, repozitáře Debianu se aktualizují velmi pomalu. V době psaní tohoto článku jsou verze vydání Pythonu na 2.7.12 a 3.5.2, ale v úložišti Debian 8

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.

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.

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.

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