понедельник, 23 сентября 2013 г.

Настройка WebDAV под Apache2

WebDAV (Web based Distributed Authoring and Versioning) — это способ дать определённым пользователям право на работу в режиме чтение/запись с некоторыми каталогами вашего веб-сервера. Причин для этого может быть масса. Начиная с желания упростить процесс обновления файлов вашего веб-сайта и заканчивая необходимость использовать веб-сервер для хранения вашего календаря или даже для синхронизации закладок вашего браузера. Или же вам просто может понадобиться выделить кому-то защищённую область на сервере для хранения файлов и совместной работы с ними.

В сегодняшней заметке мы с вами рассмотрим настройку WebDAV-каталога на сервере www.example.com. Каталог будет доступен по URLhttp://www.example.com/webdav. В процессе написания заметки в качестве тестовой платформы использовалась Ubuntu Server 10.04.2.
Первым делом необходимо включить дополнительные модули Apache2, нужные для работы WebDAV. А, ну и сам Apache2 установить тоже не помешает, если он у вас ещё не установлен ;)
1
2
3
# apt-get install apache2
# a2enmod dav_fs
# a2enmod dav
После того, как необходимые модули включены (Apache пока не перезапускаем, рано), создайте виртуальный хост, который будет обслуживать наш WebDAV-каталог. В моём примере конфигурация виртуального хоста располагается в/etc/apache2/sites-available/example.com:



1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com

        DocumentRoot /home/srw/example.com
        <Directory /home/srw/example.com>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


После того, как виртуальный хост создан, создайте каталог для хранения файлов хоста и присвойте ему соответствующие Apache владельца и группу-владельца:
1
2
# mkdir /home/srw/example.com
# chown www-data.www-data /home/srw/example.com
Активируйте виртуальный хост:
1
# a2ensite example.com
Проверьте конфигурацию Apache:
1
# apache2ctl configtest
И после этого перезагрузите конфигурацию веб-сервера:
1
# service apache2 reload
После этого, если всё корректно настроено, вы должны увидеть содержимое каталога /home/srw/example.com по URL http://www.example.com/, открыв его в браузере.
Далее необходимо настроить авторизацию доступа к каталогу WebDAV, если конечно вы не хотите, чтобы он был доступен всем подряд. Для настройки авторизации автор предлагает использовать метод Digest Authentication, который хотя и может не поддерживаться старыми клиентами, однако предотвратит отправку паролей в открытом виде. Для этого необходимо включить модуль Apache, реализующий данный метод:
1
# a2enmod auth_digest
И создать файл паролей:
1
# htdigest -c /home/srw/.passwd webdav-example myuser
Вам будет предложено дважды ввести пароль для нового пользователя myuser.
Почти всё готово, осталось лишь добавить в конфигурацию виртуального хоста/etc/apache2/sites-available/example.com директивы, включающие поддержку WebDAV и авторизации:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com

        DocumentRoot /home/srw/example.com
        <Directory /home/srw/example.com>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                Allow from All
        </Directory>
        <Files ".passwd">
                Order allow,deny
                Deny from All
        </Files>
        <Location />
           DAV On
           AuthType Digest
           AuthName "webdav-example"
           AuthDigestProvider file
           AuthUserFile  /home/srw/.passwd
           Require valid-user
       </Location>
</VirtualHost>
Ещё раз проверяем конфигурацию Apache:
1
# apache2ctl configtest
И перезагружаем:
1
# service apache2 reload
Всё! Теперь у вас есть полноценный WebDAV-ресурс и самое время проверить, как он работает и с чем его едят. Об этом — в следующей статье.
По мотивам debian-administration.org


Комментариев нет:

Отправить комментарий