Сегодня, как впрочем и ранее из моего опубликованного я хочу для себя разобрать как поднять WebDAV
доступ к системе Ubuntu 18.04 Server amd64.
Работает!!!
Шаг №1:
hg clone --insecure https://ekzorchik@172.35.35.8/hg/dproject sudo ./dproject/default ekzorchik@srv-bionic:~$ sudo apt-get install -y apache2 ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/000-default.conf ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/default-ssl.conf ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf ekzorchik@srv-bionic:~$ sudo rm -f /var/www/html/index.html ekzorchik@srv-bionic:~$ sudo rm -rf /var/www/html/ ekzorchik@srv-bionic:~$ sudo mkdir /var/www/webdav ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www ekzorchik@srv-bionic:~$ sudo a2enmod dav ekzorchik@srv-bionic:~$ sudo a2enmod dav_fs ekzorchik@srv-bionic:~$ sudo htpasswd -c /etc/apache2/.webdav webdav New password: Aa1234567 Re-type new password: Aa1234567 Adding password for user webdav ekzorchik@srv-bionic:~$ ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/webdav.conf DavLockDB /var/www/DavLock <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /webdav /var/www/webdav <Location /webdav> DAV On AuthType Basic AuthName webdav AuthUserFile /etc/apache2/.webdav Require valid-user </Location> </VirtualHost> ekzorchik@srv-bionic:~$ sudo apache2ctl configtest ekzorchik@srv-bionic:~$ sudo a2ensite webdav.conf ekzorchik@srv-bionic:~$ sudo a2dissite Your choices are: webdav Which site(s) do you want to disable (wildcards ok)? ekzorchik@srv-bionic:~$ sudo systemctl restart apache2 && sudo systemctl status apache2 | head -n5
Проверяю работоспособность Webdav
соединения:
ekzorchik@srv-bionic:~$ apt-cache search litmus litmus - WebDAV server test suite php-sabre-dav - WebDAV Framework for PHP ekzorchik@srv-bionic:~$ sudo apt-get install -y litmus ekzorchik@srv-bionic:~$ echo "this is a sample text file" | sudo tee -a /var/www/webdav/sample.txt this is a sample text file ekzorchik@srv-bionic:~$ litmus http://172.33.33.14/webdav webdav Aa1234567 -> running `basic': 0. init.................. pass 1. begin................. pass 2. options............... pass 3. put_get............... pass 4. put_get_utf8_segment.. pass
Через Web
-браузер по URL
вида http://IP&DNS/webdav
, указываю логин (webdav
) и пароль (Aa1234567
) и я успешно вижу файлы внутри каталога webdav:
Шаг №2: Чтобы добавить защищенности в передаваемые файлы следует настроить работу Web
—сервиса Apache2
на работу через https
, т. е. Через сертификат, т. к. сервис будет в моей локальной сети, то мне подойдет самоподписанный сертификат:
ekzorchik@srv-bionic:~$ sudo a2enmod ssl ekzorchik@srv-bionic:~$ openssl req -new -x509 -days 3650 -keyout srv-bionic.key -out srv-bionic.pem -passout 'pass:712mbddr@' -subj '/CN=172.33.33.14' ekzorchik@srv-bionic:~$ cp srv-bionic.key{,.orig} ekzorchik@srv-bionic:~$ openssl rsa -in srv-bionic.key.orig -out srv-bionic.key -passin 'pass:712mbddr@' ekzorchik@srv-bionic:~$ rm srv-bionic.key.orig ekzorchik@srv-bionic:~$ sudo cp srv-bionic.pem /etc/ssl/certs/ ekzorchik@srv-bionic:~$ sudo cp srv-bionic.key /etc/ssl/private/ ekzorchik@srv-bionic:~$ rm srv-bionic.* ekzorchik@srv-bionic:~$ sudo chmod 0600 /etc/ssl/private/srv-bionic.key ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/webdav.conf DavLockDB /var/www/DavLock <VirtualHost 172.33.33.14:80> ServerName srv-bionic.polygon.local Redirect / https://172.33.33.14 </VirtualHost> <VirtualHost 172.33.33.14:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLProtocol all -SSLv2 SSLCertificateFile /etc/ssl/certs/srv-bionic.pem SSLCertificateKeyFile /etc/ssl/private/srv-bionic.key Alias /webdav /var/www/webdav <Location /webdav> DAV On SSLRequireSSL AuthType Basic AuthName webdav AuthUserFile /etc/apache2/.webdav Require valid-user </Location> </VirtualHost> ekzorchik@srv-bionic:~$ sudo apache2ctl configtest ekzorchik@srv-bionic:~$ sudo systemctl restart apache2 && sudo systemctl status apache2 | head -n5
Проверяю:
ekzorchik@srv-bionic:~$ sudo apt-get install cadaver -y ekzorchik@srv-bionic:~$ cadaver https://172.33.33.14/webdav WARNING: Untrusted server certificate presented for `172.33.33.14': Issued to: 172.33.33.14 Issued by: 172.33.33.14 Certificate is valid from Sat, 25 May 2019 21:17:43 GMT to Tue, 22 May 2029 21:17:43 GMT Do you wish to accept the certificate? (y/n) y Authentication required for webdav on server `172.33.33.14': Username: webdav Password: dav:/webdav/> ls Listing collection `/webdav/': succeeded. sample.txt 27 May 26 00:48 dav:/webdav/>
Работает. Итого я составил свою инструкцию, как быстро поднять связку образующую доступ через WebDAV
к системе Ubuntu 18.04 Server amd64
. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.