Xpoint
   [напомнить пароль]

ApacheModDav

d2rk[досье]

Оглавление

Зачем это нужно?

На данный момент существует множество технологий по передаче информации между Unix и Windows системами. К ним относятся: NFS Authentication, FTP, Apache и конечно же Samba. В данной статье речь пойдет о настройке передачи информации по средствам Apache, а именно mod_dav.

В чем преимущество apache + mod_dav? Вам не придется устанавливать большие пакеты и затрачивать энное количество времени на их понимание и настройку. Здесь, каждый, кто хоть раз настраивал Apache и устанавливал какие-либо модули к нему, сможет безболезненно проделать и этот шаг.
Недостатки: мы не открываем доступ на корневой каталог и просматриваем всю файловую систему unix сервера, а только даем возможность права полного доступа (чтение, запись, выполнение) на отдельную директорию, в нашем случае - virtualhost.

Уcтановка

Все компоненты, кроме собственно ОС являются бесплатными или условно бесплатными:
Apache: http://apache.org
mod_dav: http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz

Настраиваем Apache

Сперва, конечно же, надо зарегистрировать новый модуль в httd.conf (это осуществляется автоматически на этапе
установки модуля, но на всякий случай проверьте) в DSO (Dynamic Shared Object) блоке:

    LoadMoudle dav_module     libexec/apache/libdav.so
    AddModule mod_dav.c

На втором этапе, создадим файлы с которыми будет работать mod_dav. Пусть это будут файлы dav.lock и dav.pasw, которые находиться в /log/DAV/. Они будут служить для хранения авторизированых пользователей и ошибок, которые будут появляться на этапе работы с открываемой директорией.

Теперь можем создать пользователей, которые будут иметь доступ к открываемому участку:

    $ htpasswd /log/DAV/dav.pasw test@test.test
      New password: 
      Re-type new password:
      Adding password for user test@test.test

Таким образом создали пользователя test@test.test, который будет работать с нашими данными. Особое внимание следовало бы обратить на имя пользователя. Желательно, чтобы оно имело такой вид: <user>@<hostname>, в силу того, что если оставить только <user>, Windows будет пытаться автоматически привести имя к такому виду: <hostname>\<user>, при котором, авторизация не пройдет.

Непосредственно настройка virtualhost'a test.test, который мы хотим использовать для полного доступа через Windows:

    <Virtual test.test>
     ServerName test.test
     DocumentRoot /virtualhost/test.test
     DAVLockDB /log/DAV/dav.lock

     <Location />
      DAV On
      AuthType Basic
      AuthName "DAV share"
      ForceType text/plain
      AuthUserFile /log/DAV/dav.pasw
      Require valid-user
     </Location>

    </VirtualHost>

Если вам не будет хватает каких-то прав для доступа, можно воспользоваться LimitExcept:

    <LimitExcept GET POST PUT DELETE CONNECT OPTIONS PATCH PROPFIND MKCOL MOVE PROPPATCH COPY LOCK UNLOCK>
       Require valid-user
    </LimitExcept>

Финальные шаги

Теперь осталось только получить доступ к нашему test.test хосту в Windows. Через Network Places выбираем Add Network Place, где прописываем наш хост http://test.test. В появившемся окне должно быть приглашение "DAV share". Здесь вводим нашего пользователя (test@test.test) и его пароль.

Возможно, что при первом подключении Authentication Realm останется пустым и на любые логины и пароли будет говорить: "Access Denied". В этом случае нужно нажать отмену и сразу-же подключаться еще раз, при этом надо смотреть, чтобы Realm соответствовал параметру AuthName в настройках Apache.

На этом все. Теперь мы имеем полный доступ к хосту test.test через Windows.

Особая благодарность за помощь Василию Свиридову[досье]

Powered by POEM™ Engine Copyright © 2002-2005