Настройка WebDAV на Apache2 в Ubuntu 10.10 Server

0
6

Данное руководство объясняет, как настроить WebDAV на Apache2 в Ubuntu 10.10 Server. WebDAV используют для веб-распределенной разработки и контроля версий и представляет собой набор расширений к протоколу HTTP, что позволяет пользователям напрямую редактировать файлы на сервер Apache, не загружая их к себе. Конечно, WebDAV также может быть использована как файл-сервер, для загрузки и скачивания файлов.

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

Примечание: При подготовке руководства использовались Ubuntu 10.10 Server, IP адрес 192.168.0.100, все команды выполняются от имени рута.

Установка WebDAV

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

apt-get install apache2

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

a2enmod dav_fs
a2enmod dav

Перезагружаем Apache2:

/etc/init.d/apache2 restart

Создание виртуальных хостов

Примечание: На тестовой площадке я отредактировал стандартный файл виртуальных хостов Apache2 /etc/apache2/sites-available/default, вы же смотрите по ситуации. Для подсказки можете прочитать статью: Создание виртуального хоста (субдомена) apache

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

mkdir -p /var/www/web/
chown www-data /var/www/web/

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

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.bak
vim /etc/apache2/sites-available/default

NameVirtualHost *

ServerAdmin [email protected]

DocumentRoot /var/www/web/

Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all

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

/etc/init.d/apache2 reload

Настраиваем виртуальный хост для WebDAV

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

htpasswd -c /var/www/web/passwd.dav thetech

ключ создает новый файл, если до этого он не существовал.

На запрос вводим нужный пароль для пользователя.

Внимание: Если у вас файл паролей уже создан, то ключ -с НЕ ИСПОЛЬЗУЙТЕ, он пересоздаст файл паролей, соответственно удалит старый!

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

chown root:www-data /var/www/web/passwd.dav
chmod 640 /var/www/web/passwd.dav

И теперь редактируем файл виртуального хоста для работы WebDAV,

vim /etc/apache2/sites-available/default

и добавляем строки:

[…]
Alias /webdav /var/www/web/

DAV On
AuthType Basic
AuthName «webdav»
AuthUserFile /var/www/web/passwd.dav
Require valid-user

[…]

В конце всех этих манипуляций у вас должно получится:

NameVirtualHost *

ServerAdmin [email protected]

DocumentRoot /var/www/web/

Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all

Alias /webdav /var/www/web

DAV On
AuthType Basic
AuthName «webdav»
AuthUserFile /var/www/web/passwd.dav
Require valid-user

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

/etc/init.d/apache2 reload

Проверяем работу WebDAV

Устанавливаем консольный client WebDAV — cadaver:

apt-get install cadaver

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

cadaver http://localhost/webdav/

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

[email protected]:~# cadaver http://localhost/webdav/
Authentication required for webdav on server `localhost‘:
Username: thetech
Password:
dav:/webdav/ quit
Connection to `localhost’
closed.
[email protected]:~#