WebDAV è l'acronimo di "Distributed Authoring and Versioning" basato sul Web. È un'estensione del protocollo HTTP che consente agli utenti di gestire e condividere file archiviati su un server Web abilitato per WebDAV.
Questo tutorial ti mostrerà come configurare un server WebDAV usando Apache su un'istanza del server Vultr CentOS 7.
Prerequisiti
- Un'istanza del server Vultr CentOS 7.
- Un utente sudo non root. Puoi imparare di più su come creare un utente sudo in questo tutorial di Vultr .
Fase 1: aggiornare il sistema
sudo yum install epel-release
sudo yum update -y
sudo shutdown -r now
Dopo il riavvio, utilizzare lo stesso utente sudo per accedere.
Passaggio 2: installare Apache
Installa Apache usando YUM:
sudo yum install httpd
Disabilita la pagina di benvenuto predefinita di Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Impedire al server Web Apache di visualizzare i file all'interno della directory Web:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Avviare il server Web Apache:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Passaggio 3: installare WebDAV
Per Apache, esistono tre moduli relativi a WebDAV che verranno caricati per impostazione predefinita all'avvio di un server Web Apache. Puoi confermarlo con questo comando:
sudo httpd -M | grep dav
Dovresti presentarti con:
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)
Quindi, crea una directory dedicata per WebDAV:
sudo mkdir /var/www/html/webdav
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
Per motivi di sicurezza, è necessario creare un account utente, dire che è "user001", per accedere al server WebDAV, quindi inserire la password desiderata. Successivamente, utilizzerai questo account utente per accedere al tuo server WebDAV.
sudo htpasswd -c /etc/httpd/.htpasswd user001
Modifica il proprietario e le autorizzazioni al fine di migliorare la sicurezza:
sudo chown root:apache /etc/httpd/.htpasswd
sudo chmod 640 /etc/httpd/.htpasswd
Passaggio 4: creare un host virtuale per WebDAV
sudo vi /etc/httpd/conf.d/webdav.conf
Popolare il file con:
DavLockDB /var/www/html/DavLock
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/webdav/
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
Alias /webdav /var/www/html/webdav
<Directory /var/www/html/webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
Salva ed esci:
:wq!
Riavvia Apache per rendere effettive le modifiche:
sudo systemctl restart httpd.service
Passaggio 5: modificare le regole del firewall
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Passaggio 6: testare la funzionalità del server WebDAV da un computer locale
Per sfruttare WebDAV, è necessario utilizzare un client qualificato. Ad esempio, è possibile installare un programma chiamato cadaver su un desktop CentOS 7:
sudo yum install cadaver
Dopo aver installato cadaver, utilizzare il seguente comando per accedere al server WebDAV:
cadaver http://<your-server-ip>/webdav/
Utilizzare il nome utente "user001" e la password impostata in precedenza per accedere.
Nella shell cadavere, puoi caricare e organizzare i file come desideri. Ecco alcuni esempi.
Per caricare un file locale "/home/user/abc.txt" sul server WebDAV:
dav:/webdav/> put /home/user/abc.txt
Per creare una directory "dir1" sul server WebDAV:
dav:/webdav/> mkdir dir1
Per uscire dalla shell del cadavere:
dav:/webdav/> exit
Se vuoi saperne di più sul cadavere, puoi consultare il manuale del cadavere nella shell Bash:
man cadaver
o
cadaver -h
Questo conclude il nostro tutorial. Grazie per aver letto.