SharePoint Alfresco PHP MySQL
О сайте Контакты
воскресенье, 26 февраля 2012 г.

HFS — файловый HTTP сервис: настройка и использование

HFS — программа под Windows, предназначенная для организации доступа к файлам посредством HTTP. Удобный интерфейс, отсутствие необходимости настройки дополнительных клиентов (FAR, Total Commander и прочих), простота — вот основные достоинства, которые оценит пользователь системы. Кроме того, программа бесплатна.

http://www.rejetto.com/hfs/ - сайт разработчика, откуда можно скачать программу HFS.

Альтернативные ссылки, если сайт разработчика не работает:

hfs.zip - программа HFS;

hfs2Service1.0-fixed.zip - для запуска HFS в качестве сервиса.

Несмотря на то, что программа очень проста, она не имеет русскоязычного интерфейса. Поэтому здесь я подробно напишу, как ей пользоваться.

Программа работает без установки, в общем случае ее можно просто скопировать в любую папку, например Program Files:

После размещения, можно ее запускать и настраивать. Программа работает как HTTP-сервер, наподобие Apache, то есть при ее закрытии загрузить файлы будет невозможно.

Поэтому необходимо организовать работу программы в качестве сервиса. Можно использовать метод на основе srvany, как это описывается по ссылке http://support.microsoft.com/kb/137890/ru. Однако, этот метод не является оптимальным из-за следующего неприятного эффекта: если пользователь войдет на сервер по RDP, а затем выйдет (осуществит logoff), то HFS будет выгружен из памяти, попросту говоря, он «вылетит». Чтобы HFS работала надежно как сервис, было создано отдельное приложение – HFS-Service, которое можно скачать отсюда. Оно очень просто в использовании, и также не требует установки. Его можно скопировать в ту же папку, что и HFS.

Теперь рассмотрим основные этапы работы с HFS. Войдя в программу, лучше перейти в экспертный режим, так как там, по сравнению с обычным, доступно больше настроек:

После этого следует указать порт, который будет слушать программа и по которому будет доступен веб-интерфейс:

У любого сервера есть IP – адрес, а может быть и не один (различные сетевые карты, различные каналы связи и прочее). Поэтому нужно указать программе, к какому IP – адресу она будет прикреплена:

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

Далее, перетащить папку мышью в левое окно программы. Появится всплывающее окно, спрашивающее, как будет интерпретирована папка внутри программы:

Нужно выбрать Real folder.

Каждому пользователю-клиенту, для удобства, можно выделить собственную папку.

Теперь можно зайти в веб-интерфейс и посмотреть, отображается ли созданная папка:

Как видно, она отображается. Но к ней не настроен доступ на чтение и запись.

Доступ на чтение для конкретной папки настраивается с помощью меню Restrict Access. Для вызова нужно нажать на папку правой кнопкой мыши:

Отсюда можно создать аккаунт пользователю для доступа или разрешить доступ анонимному пользователю.

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

Чтобы дать кому-то возможность загружать файлы, нужно выбрать пункт меню Upload:

Можно дать возможность загрузки для всех (Anyone), или выдать такие права только избранным:

Теперь мы можем загружать файлы через веб-интерфейс:

В общем случае управление пользователями и их правами осуществляется следующим образом:

Следует отметить, что все настройки по умолчанию сохранятся для текущего пользователя. То есть никакой другой пользователь (в том числе System) наши изменения настроек не увидит, и программа будет запускаться для каждого пользователя со своими настройками. Чтобы настройки сохранялись для всех пользователей, нужно выбрать пункт меню Save options:

Программа сохраняет настройки в реестре, то есть их можно переносить с компьютера на компьютер и от пользователя к пользователю:

Веб-интерфейс программы по умолчанию невзрачный, стандартный. Его можно полностью изменить, применив любые CSS-стили, HTML-разметку и изображения (вставить логотип фирмы и прочее), русифицировать:

Если смущает номер порта в URL, можно настроить Apache для проксирования по такой схеме:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Listen 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
  ServerName server_name
  
  ProxyPass / http://hfs:8000/
  ProxyPassReverse / http://hfs:8000/
</VirtualHost>
Sergey Lysenko, воскресенье, 26 февраля 2012 г.

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