Postavljanje WebDAV-a na Debian 10 pomoću WsgiDAV-a

Uvod

Web Distributed Authoring and Versioning (WebDAV) je HTTP proširenje koje pruža okvir za daljinsko kreiranje i modificiranje datoteka na poslužitelju. WsgiDAV je WebDAV poslužitelj napisan na pythonu. Ovaj vodič će vam pomoći u instalaciji WsgiDAV verzije 3.0 na Vultr poslužitelj koji radi s Debianom 10. Također ćemo dobiti SSL certifikat za sigurnu vezu kao i PAM autentifikaciju.

Preduvjeti

  • Debian 10 sustav kojemu imate privilegirani pristup (putem root korisnika ili bilo kojeg sudo korisnika.)
  • $EDITORVarijabla okruženja mora biti postavljen na uređivanje teksta po vlastitom izboru.
  • Potreban je registrirani naziv domene. Njegovi poslužitelji imena moraju biti konfigurirani sa Azapisom koji upućuje na IPv4 adresu vašeg poslužitelja i opcijski AAAAzapisom koji upućuje na IPv6 adresu.
  • Preporuča se poznavanje YAML sintakse.

Rezervirano mjesto dav.example.comće se koristiti za naziv domene vašeg poslužitelja.

Montaža

SSL certifikat

Započet ćemo ažuriranjem sustava i dobivanjem besplatnog SSL certifikata od Let's Encrypt . Da biste to učinili, prvo ažurirajte svoj sustav i instalirajte certbotuslužni program:

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

U donjoj naredbi zamijenite dav.example.comi email@domain.tldsa svojim imenom domene i adresom e-pošte prije nego što je izvršite:

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

Vašem poslužitelju će biti poslan izazov da potvrdi da kontrolirate navedeni naziv domene. Ako uspije, certifikat će se izdati i spremiti, zajedno s drugim datotekama kao što je privatni ključ, pod /etc/letsencrypt/live/dav.example.com/.

Instalacija WsgiDAV

Prvo instalirajte python upravitelj paketa pip:

sudo apt update sudo apt install -y python3-pip

WsgiDAV zahtijeva HTTP poslužitelj koji podržava WSGI. Instalirat ćemo zadanu opciju, a to je Cheroot. Također ćemo instalirati lxml python biblioteku, koja obično radi bolje od XML biblioteke instalirane prema zadanim postavkama. Potrebna je i PAM (Pluggable Authentication Module) biblioteka python3. Instalirajte potrebne pakete pomoću pipalata:

sudo pip3 install wsgidav cheroot lxml python-pam

Konfiguriranje WsgiDAV-a

Izvršna datoteka WsgiDAV pohranjena je u /usr/local/bin, pa ćemo konfiguracijsku datoteku smjestiti u /usr/local/etcdirektorij. Preuzmite uzorak konfiguracijske datoteke sa sljedećim naredbama:

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

Otvorite ga svojim urednikom:

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

Pronađite sljedeće retke u odjeljku "SSL podrška":

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

Zamijenite ih sljedećim:

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"

Zatim ćemo konfigurirati dijeljene staze mapiranjem HTTP staza (kao što je /) na odgovarajuće lokacije u datotečnom sustavu (kao što je /var/www/dir1). Za potrebe demonstracije podijelit ćemo dva direktorija, od kojih će jedan biti samo za čitanje. Pronađite provider_mappingblok u odjeljku "DIONICE":

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}

Zamijenite ga:

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

S tim preslikavanjima, https://dav.example.com:8080/odgovarat će /var/www/html/documentsdirektoriju na poslužitelju, dok https://dav.example.com:8080/reportsće se /var/www/html/reportsmapirati bez pristupa za pisanje.

Za autentifikaciju ćemo koristiti PAM drajver. To uklanja potrebu za zasebnim WebDAV korisničkim računima i omogućuje korisnicima sustava da se prijave koristeći svoje uobičajene vjerodajnice.

U odjeljku "AUTHENTICATION" pronađite ove retke:

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

Zamijenite ih sljedećim:

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

Sada možete testirati svoj poslužitelj:

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

Otvorite https://dav.example.com:8080/u svom web pregledniku. Budući da smo konfigurirali PAM autentifikaciju, morat ćete se prijaviti sa svojim Linux korisničkim računom. Koristite CTRL+ Cza zaustavljanje poslužitelja prije nego što nastavite.

Instalacija kao usluga

Da biste pokrenuli svoj WebDAV poslužitelj kao sistemsku uslugu kojom upravlja systemd, stvorite jediničnu datoteku:

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

Unesite sljedeće:

[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

Zatim stvorite konfiguracijsku datoteku za uslugu zapisivanja sustava:

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

Popunite datoteku sljedećim:

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

Spremite i izađite, a zatim upotrijebite donje naredbe za stvaranje datoteke dnevnika:

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

Konačno, učitajte novu systemd jediničnu datoteku i ponovno pokrenite uslugu zapisivanja prije pokretanja WsgiDAV:

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

Sada možete koristiti systemctlza pokretanje, zaustavljanje i ponovno pokretanje vašeg WebDAV poslužitelja. Standardni izlaz i pogreška WsgiDAV-a bit će zabilježeni na /var/log/wsgidav.log, a također im se može pristupiti pomoću sudo journalctl -u wsgidav.service.

Ako želite da se WebDAV poslužitelj automatski pokrene u vrijeme pokretanja sustava, izvršite:

sudo systemctl enable wsgidav.service

Daljnje čitanje

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više