Nasadenie WebDAV na Debian 10 pomocou WsgiDAV

Úvod

Web Distributed Authoring and Versioning (WebDAV) je rozšírenie HTTP, ktoré poskytuje rámec pre vzdialené vytváranie a úpravu súborov na serveri. WsgiDAV je server WebDAV napísaný v pythone. Táto príručka vám pomôže pri inštalácii WsgiDAV verzie 3.0 na server Vultr s Debianom 10. Získame tiež certifikát SSL na zabezpečenie bezpečného pripojenia, ako aj autentifikáciu PAM.

Predpoklady

  • Systém Debian 10, ku ktorému máte privilegovaný prístup (cez používateľa root alebo ľubovoľného používateľa sudo).
  • $EDITORPremenná prostredia musí byť nastavený do textového editora podľa vlastného výberu.
  • Vyžaduje sa registrovaný názov domény. Jeho menné servery musia byť nakonfigurované so Azáznamom smerujúcim na adresu IPv4 vášho servera a voliteľne so AAAAzáznamom smerujúcim na adresu IPv6.
  • Odporúča sa poznať syntax YAML.

Zástupný symbol dav.example.comsa použije pre názov domény vášho servera.

Inštalácia

SSL certifikát

Začneme aktualizáciou systému a získaním bezplatného SSL certifikátu od Let's Encrypt . Ak to chcete urobiť, najskôr aktualizujte systém a nainštalujte certbotpomôcku:

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

V nižšie uvedenom príkaze pred jeho vykonaním nahraďte dav.example.coma [email protected]svojím názvom domény a e-mailovou adresou:

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

Vášmu serveru bude odoslaná výzva na overenie, že ovládate zadaný názov domény. Ak sa to podarí, certifikát bude vydaný a uložený spolu s ďalšími súbormi, ako je napríklad súkromný kľúč, pod /etc/letsencrypt/live/dav.example.com/.

Inštalácia WsgiDAV

Najprv nainštalujte správcu balíkov python pip:

sudo apt update sudo apt install -y python3-pip

WsgiDAV vyžaduje HTTP server, ktorý podporuje WSGI. Nainštalujeme predvolenú možnosť, ktorou je Cheroot. Nainštalujeme tiež knižnicu lxml python, ktorá má tendenciu fungovať lepšie ako štandardne nainštalovaná knižnica XML. Potrebná je aj knižnica PAM (Pluggable Authentication Module) python3. Nainštalujte požadované balíky pomocou pipnástroja:

sudo pip3 install wsgidav cheroot lxml python-pam

Konfigurácia WsgiDAV

Spustiteľný súbor WsgiDAV je uložený v /usr/local/bin, takže konfiguračný súbor umiestnime do /usr/local/etcadresára. Stiahnite si vzorový konfiguračný súbor pomocou nasledujúcich príkazov:

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

Otvorte ho pomocou editora:

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

V časti „Podpora SSL“ nájdite nasledujúce riadky:

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

Nahraďte ich nasledujúcimi:

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"

Ďalej nakonfigurujeme cesty zdieľania mapovaním ciest HTTP (napríklad /) na zodpovedajúce miesta v súborovom systéme (napríklad /var/www/dir1). Pre demonštračné účely budeme zdieľať dva adresáre, z ktorých jeden bude len na čítanie. Nájdite provider_mappingblok v sekcii "ZDIEĽANÉ":

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}

Vymeňte ju:

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

S týmito mapovaniami https://dav.example.com:8080/bude zodpovedať /var/www/html/documentsadresáru na serveri, zatiaľ čo https://dav.example.com:8080/reportsbude mapovať /var/www/html/reportsbez prístupu na zápis.

Na autentifikáciu použijeme ovládač PAM. To odstraňuje potrebu samostatných používateľských účtov WebDAV a umožňuje používateľom systému prihlásiť sa pomocou svojich obvyklých poverení.

V sekcii "AUTHENTICATION" nájdite tieto riadky:

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

Nahraďte ich nasledujúcimi:

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

Teraz môžete otestovať svoj server:

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

Otvorte https://dav.example.com:8080/vo webovom prehliadači. Keďže sme nakonfigurovali autentifikáciu PAM, budete sa musieť prihlásiť pomocou svojho používateľského účtu systému Linux. Pred pokračovaním použite CTRL+ Cna zastavenie servera.

Inštalácia ako služba

Ak chcete spustiť server WebDAV ako systémovú službu spravovanú systémom systemd, vytvorte súbor jednotky:

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

Zadaj nasledujúce:

[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

Potom vytvorte konfiguračný súbor pre službu systémového protokolovania:

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

Vyplňte súbor nasledujúcim spôsobom:

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

Uložte a ukončite, potom pomocou nižšie uvedených príkazov vytvorte súbor denníka:

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

Nakoniec načítajte nový súbor systémovej jednotky a reštartujte službu protokolovania pred spustením WsgiDAV:

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

Teraz môžete použiť systemctlna spustenie, zastavenie a reštartovanie servera WebDAV. Štandardný výstup a chyba WsgiDAV sa zaprotokolujú do /var/log/wsgidav.loga možno k nim pristupovať aj pomocou sudo journalctl -u wsgidav.service.

Ak chcete, aby sa server WebDAV spustil automaticky pri zavádzaní systému, vykonajte:

sudo systemctl enable wsgidav.service

Ďalšie čítanie


Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, ako skompilovať a nainštalovať hlavnú líniu Nginx z oficiálnych zdrojov Nginx pomocou modulu PageSpeed, ktorý vám umožňuje t

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Gitea na Debian 9

Ako nainštalovať Gitea na Debian 9

Používate iný systém? Gitea je alternatívny open source systém na správu verzií s vlastným hosťovaním, ktorý používa Git. Gitea je napísaná v Golangu a je

Nainštalujte Lynis na Debian 8

Nainštalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj na auditovanie systému s otvoreným zdrojovým kódom, ktorý používajú mnohí správcovia systému na overenie integrity a posilnenie svojich systémov. ja

Ako nainštalovať Thelia 2.3 na Debian 9

Ako nainštalovať Thelia 2.3 na Debian 9

Používate iný systém? Thelia je open source nástroj na vytváranie webových stránok elektronického podnikania a správu online obsahu napísaného v PHP. Zdrojový kód Thelia i

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý spoločnosťou Google. Vďaka svojej všestrannosti, jednoduchosti a spoľahlivosti sa Golang stal jedným z najpopulárnejších

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Ak ste zabudli svoje root heslo MySQL, môžete ho resetovať podľa krokov v tomto článku. Proces je pomerne jednoduchý a funguje na nich

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Sú chvíle, keď potrebujeme zdieľať súbory, ktoré musia byť viditeľné pre klientov Windows. Keďže systémy založené na poistkách fungujú iba na Linuxe, predstavíme sa

Nastavenie Counter Strike: Zdroj na Debiane

Nastavenie Counter Strike: Zdroj na Debiane

V tejto príručke nastavíme herný server Counter Strike: Source na Debiane 7. Tieto príkazy boli testované na Debiane 7, ale mali by tiež fungovať

Ako nainštalovať Unturned 2.2.5 na Debian 8

Ako nainštalovať Unturned 2.2.5 na Debian 8

V tejto príručke sa dozviete, ako nastaviť server Unturned 2.2.5 na Vultr VPS so systémom Debian 8. Poznámka: Toto je upravená verzia Unturned, ktorá

Ako nainštalovať Cachet na Debian 8

Ako nainštalovať Cachet na Debian 8

V tomto návode sa naučíte, ako nainštalovať Cachet na Debian 8. Cachet je výkonný open source systém stavových stránok. Inštalácia Tento tutoriál práve pokračuje

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Úvod V tomto článku si dobre prejdeme, ako zálohovať viacero databáz MySQL alebo MariaDB, ktoré sedia na rovnakom počítači pomocou vlastného bash skriptu.

Nastavenie Chroota v Debiane

Nastavenie Chroota v Debiane

Tento článok vás naučí, ako nastaviť chroot väzenie v Debiane. Predpokladám, že používate Debian 7.x. Ak používate Debian 6 alebo 8, môže to fungovať, ale

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

Using a Different System? Reader Self 3.5 is a simple and flexible, free and open source, self-hosted RSS reader and Google Reader alternative. Reader Sel

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používate iný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilný, mobilný, bezplatný a open source systém na správu obsahu (CMS), ktorý nám umožňuje

Ako nainštalovať SteamCMD na váš VPS

Ako nainštalovať SteamCMD na váš VPS

V tomto návode nainštalujeme SteamCMD. SteamCMD je možné použiť na stiahnutie a inštaláciu mnohých herných serverov Steam, ako je Counter-Strike: Global Offensiv

Aktualizujte Python na Debian

Aktualizujte Python na Debian

Ako možno viete, úložiská Debianu sa aktualizujú veľmi pomaly. V čase písania tohto článku sú verzie vydania Pythonu 2.7.12 a 3.5.2, ale v úložisku Debian 8

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac