Моя разобранная заметка покажет Вам, как настроить WebDAV с использованием Web сервера Apache 2 на системе Ubuntu 12.04 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 WebDAV – cadaver для проверки работоспособности 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 ~/.profile
внести полученные данные от tzselect – TZ=’Europe/Samara’; export TZ
Вот собственно и весь процесс по разворачиванию WebDAV на собственной машине. В дальнейшем опираясь на эту заметку, я буду показывать как работать с WebDAV дополнять новыми возможностями, а пока всё. Удачи! С уважением, ekzorchik.
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.
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.
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.