WebDAV szerver ZyXEL NSA320S-re

Érd el távolról a NAS-odon elhelyezett fájlokat a világ bármely pontjáról, biztonságosan és gyorsan, mobilról is! – írta: Mr Dini, 8 éve

Felhasználói fiókok felvétele, konfigolás

Most, hogy megvagyunk az SSL-lel, következzen egy egyszerűbb folyamat, mégpedig a felhasználók felvétele. Ehhez pedig hozzunk létre a /ffp/apache/ mappában mondjuk egy pwdb mappát, a következő paranccsal:

mkdir /ffp/apache/pwdb/

Ezután adjuk ki ezt:

htpasswd -c /ffp/apache/pwdb/auth.dav kívántfelhasználónév

Illetve, ha szeretnénk több fiókot is hozzáadni, akkor adjuk ki ezt a parancsot megint annyi különbséggel, hogy a -c kapcsoló nélkül.

Javaslom, hogy itt is állítsuk be a jogokat rendben, így:

chown root:www-data /ffp/apache/pwdb/ -R; chmod 640 /ffp/apache/pwdb/ -R

Kész is vagyunk, már csak a konfigolás maradt hátra. Ehhez pedig nyissuk meg szerkesztésre a /ffp/apache/conf/httpd.conf fájlt, és szedjük ki a kettőskeresztet a következő sorok elől:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so

Illetve, aki szeretné kihasználni a PHP támogatást (ehhez a PHP csomag telepítése is szükséges), az adja még hozzá ezt a sort:
LoadModule php7_module modules/libphp7.so

Aztán töröljük ki a konfigból a # 'Main' server configuration-től az <IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
-ig tartó részt.

Ha ezzel is megvolnánk, tekerjünk le egészen a megcsonkított konfigunk aljára és illesszük be a következő sorokat (amelyik sor előtt # van, az nyugodtan törölhető, csak magyarázat/módosítási lehetőség):

ServerAdmin email@cimed.com
# ha gond van a szerverrel, akkor felajánlja kontaktként, szóval érdemes valósat megadni
ServerName www.valami.no-ip.org
# a szerver dinamikus DNS elérhetősége jön ide

DavLockDB "/ffp/apache/var/DavLock"
# nélküle nem fog menni a DAV csatlakozás, ezt majd létrehozzuk
DAVMinTimeout 180
# no comment :)

SSLEngine on
SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3
SSLCertificateFile /ffp/apache/1_root_bundle.crt
SSLCertificateKeyFile /ffp/apache/server.key
SSLCertificateChainFile /ffp/apache/2_valami.no-ip.org.crt
# cseréld ki a 2_valami.no-ip.org.crt-t a kulcsod nevére

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# ez nem kötelező, csak arra való, hogy a http kéréseket is átirányítsa https-re

##
#<FilesMatch \.php$>
# SetHandler application/x-httpd-php
#</FilesMatch>
## ha szeretnél PHP kódokat is használni, akkor kommenteld ki, amúgy törölhető

DocumentRoot "/i-data/md0/public/webdav" # a ""-ök közé tedd be a WebDAV mappa elérési útját (lehet akár az egész md0 is); figyeljünk arra, hogy a mappa írható és olvasható legyen a www-data csoport számára, vagy a www-root user számára!
#Alias /webdav /i-data/md0/public/webdav
# az alias nem kötelező, csak ha szeretnénk a https://dinamikusdns/webdav-on keresztül is elérni a mappát, nem csak a https://dinamikusdns/-en
<Directory "/">

# DirectoryIndex index.php
# erre akkor van szükség, ha szeretnétek egy kezdőoldalt is neki (pl. captcha ellenőrzésnek)

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

DAV On
AuthType Basic
AuthName "Írd be a jelszót!"
AuthUserFile /ffp/apache/pwdb/auth.dav
Require valid-user
</Directory>

OK, ha ez kész van, akkor hozzuk még létre a DavLock nevű fájlt, hiszen nélküle a weben keresztül el lehet érni, de mobil/Linux/Windows klienssel nem lehet elérni és felülírni a fájlokat. Arra kell még ügyelnünk, hogy a jogok rendben legyenek. Tehát a parancs, ami mindezt véghezviszi:

mkdir /ffp/apache/var/; touch /ffp/apache/var/DavLock; chown root:www-data /ffp/apache/var/ -R; chmod 770 /ffp/apache/var/ -R

Ezután indítsuk el az apachectl start parancsunkkal a webszervert, nyissunk ki egy port forwardot a routerben a NAS IP-jére, a belső port legyen a 8080, a külső pedig a 80-as. Majd teszteljük böngészővel és a dinamikus DNS címünkkel a WebDAV szervert. Nézzük meg, hogy minden rendben ment-e.

Fontos tudnivaló! Mivel az SSL kulcsot a dinamikus DNS címre kreáltuk, így ha belülről a NAS IP-jével szeretnénk tesztelni, akkor a böngésző hibát fog dobni az aláírásra.

Természetesen még rengeteg lehetőséget ad az Apache konfigja a beállításhoz és rengeteg hasznos modul is kapcsolódik hozzá, akit érdekel jobban a dolog, az olvassa el az Apache oldalát. Ott egyszerűen elmagyarázza, sőt példákat is hoz helyenként arra, hogy mi mire való.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények