Защищенная область WebDAV на Ubuntu 12.04 Server

Posted by

Моя разобранная заметка покажет Вам, как настроить с использованием Web сервера Apache 2 на системе Server amd64 защищенную область на сервере для хранения файлов и совместной работы с ними.

Описание работы WebDaV можно посмотреть в RFC 2518, аббревиатура RFC расшифровывается, как Request for Comments — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и стандарты.

Если же кратко, то WebDAV (Web-based Distributed Authoring and Versioning) — защищённый сетевой протокол высокого уровня, работающий поверх HTTP для доступа к объектам и коллекциям. Используется для совместной работы над удаленными файлами, заменяя протоколы FTP и SMB.

Итак начнем.

Моя система: Ubuntu 12.04 Server amd64

ekzorchik@srv-monitor:~$ lsb_release -a && uname -a

Description:    Ubuntu 12.04 LTS

Release:        12.04

Codename:       precise

Linux srv-monitor 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

 

Отредактируем файл hosts:

ekzorchik@srv-monitor:~$ sudo nano /etc/hosts

127.0.1.1       srv-monitor     srv-monitor.polygon.local

Все команды вводим с использованием повышения привилегий sudo, работать от имени суперпользователя root не рекомендую. Т.к. система не спросит, как делается в Windows уведомлениями, а Вы действительно хотите удалить данный файл.

Установка WebDAV подразумевает следующие подготовительные действия:

Для начала устанавливаем Apache2:

ekzorchik@srv-monitor:~$ sudo apt-get install apache2

Установленная версия Apache 2 в моей системе:

ekzorchik@srv-monitor:~$ apache2 -version

Server version: Apache/2.2.22 (Ubuntu)

Server built:   Mar 8 2013 15:53:13

Добавляем параметр ServerName в /etc/apache2/apache.conf:

ekzorchik@srv-monitor:~$ sudo nano /etc/apache2/apache2.conf

ServerName srv-monitor

 

После, включаем WebDAV модули, а именно:

  • dav
  • dav_fs
  • dav_lock

ekzorchik@srv-monitor:~$ sudo a2enmod dav*

Создаем каталог и устанавливаем на него соответствующие права:

ekzorchik@srv-monitor:~$ sudo mkdir -p /var/www/web/

ekzorchik@srv-monitor:~$ sudo chown www-data /var/www/web/

 

На заметку: Во всех своих опубликованных заметках я пренебрежительно отношусь к возможным изменениям в конфигурационных файлах, поэтому создадим резервную копию. Лучше после быть во все оружии если что-то пойдет не так.

ekzorchik@srv-monitor:~$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.backup

Создаем файл паролей WebDAV  /var/www/web/passwd.dav с пользователем ekzorchik:

ekzorchik@srv-monitor:~$ sudo htpasswd -c /var/www/web/passwd.dav ekzorchik

New password: <указываете пароль для входа в защищенную область>

Re-type new password:

Adding password for user ekzorchik

, где -c — создать новый файл паролей WebDav, если он уже есть, то ключ «-c” использовать не надо, т. к. будет пересоздан файл паролей.

Ekzorchik – учётная запись с помощью которой будет производиться вход в защищенную область.

Устанавливаем требуемые права доступа, чтобы никто не смог скачать или взломать сервер WebDAV:

ekzorchik@srv-monitor:~$ sudo chown root:www-data /var/www/web/passwd.dav

ekzorchik@srv-monitor:~$ sudo chmod 640 /var/www/web/passwd.dav

Открываем на редактирование консольным редактором nano и приводим к нижеследующему виду:

ekzorchik@srv-monitor:~$ sudo nano /etc/apache2/sites-available/default

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName      srv-monitor
        ServerAlias     srv-monitor     srv-monitor.polygon.local
        DocumentRoot /var/www/web
 
        ErrorLog /var/log/web/www/error.log
        LogLevel warn
        CustomLog /var/log/web/www/access.log combined
 
        <Directory /var/www/web>
                Options Indexes MultiViews
               AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        Alias /webdav /var/www/web
        DAVMinTimeout 1000
        <Location /webdav>
        DAV On
        AuthType Basic
        AuthName "webdav"
        AuthUserFile /var/www/web/passwd.dav
        Require valid-user
        </Location>
</virtualhost> 

 

Сохраняем внесенные изменения и создаем требуемый каталог для Log файлов и сам webdav:

ekzorchik@srv-monitor:~$ sudo mkdir -p /var/log/web/www/

Перезагружаем конфигурацию Apache2:

ekzorchik@srv-monitor:~$ sudo /etc/init.d/apache2 reload

ekzorchik@srv-monitor:~$ sudo /etc/init.d/apache2 restart

 

Устанавливаем консольный client WebDAVcadaver для проверки работоспособности WebDAV:

ekzorchik@srv-monitor:~$ apt-cache search cadaver

cadaver — command-line WebDAV client

ekzorchik@srv-monitor:~$ apt-cache show cadaver | grep Version:

Version: 0.23.3-1

ekzorchik@srv-monitor:~$ sudo apt-get install cadaver

Тестируем работу WebDAV:

У вас должен появится запрос на ввод имени пользователя. Вводим логин и пароль. Если вы вошли в созданный каталог, то у вас все получилось!

ekzorchik@srv-monitor:~$ sudo cadaver http://srv-monitor/webdav

Authentication required for webdav on server `srv-monitor’:

Username: ekzorchik

Password:

dav:/webdav/> ls

Listing collection `/webdav/’: succeeded.

        passwd.dav                            48  Jul 16 01:44

dav:/webdav/>

, как видите подключение к развернутому WebDAV происходит по DNS имени успешно.

Теперь установим правильный часовой пояс и время на сервере если такового не было сделано ранее на основе нижеследующей заметки, не забудьте в файл

ekzorchik@srv-monitor:~$ nano ~/.

внести полученные данные от — TZ=’Europe/Samara’; export TZ

Вот собственно и весь процесс по разворачиванию WebDAV на собственной машине. В дальнейшем опираясь на эту заметку, я буду показывать как работать с WebDAV дополнять  новыми возможностями, а пока всё. Удачи! С уважением, ekzorchik.

3 комментария

  1. Thank you for sharing excellent informations. Your web-site is so cool. I’m impressed by the details that you’ve on this website. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for extra articles. I found just the information I already searched all over the place and simply could not come across. What a perfect web-site.

  2. Excellent post. I was checking continuously this blog and I’m impressed! Extremely useful information specifically the last part :) I care for such info a lot. I was seeking this certain info for a very long time. Thank you and best of luck.

  3. Sorry, I not speak good english. Whoah this blog is great I like studying your articles. Stay up the good paintings! You understand, lots of people are looking around for this info, you could aid them greatly.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

семь + 4 =