Это руководство объясняет, как настроить WebDAV с Apache2 на CentOS Server 5.5. WebDAV сервер применяется для распределенной Web разработки и контроля версий и представляz собой набор расширений к протоколу HTTP, что позволяет пользователям напрямую редактировать файлы на сервер Apache так, так как их не нужно загружа как через FTP. Конечно, также WebDAV может быть использован для загрузки и скачивания файлов.
Предварительные замечания
Здесь я буду использовать CentOS server 5.5 с IP-адресом 192.168.1.101.
Установка: WebDAV сервер
Если Apache еще не установлен, установите его следующим образом:
|
Затем откройте /etc/httpd/conf/httpd.con и убедитесь, что DAV и dav_fs модули включены в разделе LoadModule (они должны быть включены по умолчанию):
|
[...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...]
Затем создайте связи автозапуска для Apache и запустить его:
|
Создание виртуального хоста
Теперь я создам виртуальный хост Apache по умолчанию в каталоге /var/www/web1/web. Для этой цели, я добавлю по умолчанию виртуальный хост в конце /etc/httpd/conf/httpd.conf. Если у вас уже есть виртуальный хост, на которые Вы хотите запустить WebDAV, необходимо изменить этот материал под Ваш случай.
Во - первых, мы создаем каталог /var/www/web1/web а так же создадим владелеца этого каталога то есть пользователя и группу Apache / Apache:
|
Затем добавить новый виртуальный хост в конце /etc/httpd/conf/httpd.conf:
|
[...] NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/web1/web/ <Directory /var/www/web1/web/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
Затем перезагрузите Apache:
|
Настройка виртуальный хост для WebDAV server
Теперь мы создадим файл паролей WebDAV /var/www/web1/passwd.dav с пользователем test ( -c создает файл, если он не существует):
|
Вам будет предложено ввести пароль для пользователя test. (Пожалуйста, не используйте -c переключатель, если /var/www/web1/passwd.dav уже существует, так как это восстановить файл с нуля, то есть Вы потеряете всех пользователей в этом файле!) Теперь мы изменим разрешения файла /var/www/web1/passwd.dav, так чтобы только root и членов группы Apache имел доступ к нему:
|
Теперь мы модифицируем наши виртуальные хосты в конце /etc/httpd/conf/httpd.conf и добавим следующие строки:
|
[...] Alias /webdav /var/www/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/web1/passwd.dav Require valid-user </Location> [...]
Alias директива делает (вместе с <Location> ), так что при вызове /webdav , WebDAV вызывается, но Вы все еще можете получить полный доступ к корневому документу виртуального хоста. Все остальные адреса этого виртуального хоста по-прежнему выступают как "нормальные" HTTP.
Окончательный виртуальный хост должен выглядеть следующим образом:
[...] NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/web1/web/ <Directory /var/www/web1/web/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /webdav /var/www/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/web1/passwd.dav Require valid-user </Location> </VirtualHost>
После чего перезагрузите Apache:
|
Тест WebDAV сервер
Мы теперь установим cadaver , введя команду для клиента WebDAV:
|
Чтобы проверить, работает ли WebDAV:
|
Вы должны ввести имя пользователя. Введите test, а затем пароль для пользователя test. Если все пройдет хорошо, Вы должны получить доступ, что будет означать, что WebDAV работает нормально. Выходим из оболочки WebDAV:
[root@server1 ~]# cadaver http://localhost/webdav/ Authentication required for webdav on server `localhost': Username: test Password: вводимый пароль не отображается dav:/webdav/> quit Connection to `localhost' closed. [root@server1 ~]#
- Назад
- Вперёд >>