Как создать файловый сервер с доступом через веб-интерфейс на Windows 8.1, 8, 7, Vista

001

На мой взгляд, это очень отличная тема для описания. В своё время было интересно поднять какой-либо сервер на своём компьютере для более удобного обмена файлами. Попробовав различные FTP-сервера и даже WebDAV протокол, я понял, что мне они абсолютно не нравятся, первые выглядят в браузере, мягко говоря, убого, вторые хотя и имеют свои явные преимущества, но подключать сетевой диск подключать сетевой диск на чужих компьютерах не хочется. Но в один (прекрасный и солнечный) день я встретил программу под названием HTTP File Server (сокращенно HFS), установил, настроил (так как я начинал работать с самой чистой версией, с этим были некоторые проблемы) и почти влюбился в эту программу. Для доступа к моим файлам теперь достаточно иметь любой браузер, так как весь доступ осуществляется, через обычную веб-страницу. Также у меня создана папка, в которую человек, знающий пароль, может добавить файл прямо через браузер. Файлы с сервера можно качать как по одному, так и сразу папками. Программа сама поместит папку в .tar архив без сжатия и отправит для скачивания. При этом сайт имеет довольно опрятный вид, хотя при желании (и достаточных знаниях) можно самому написать шаблон сайта. Признайте, что это отличный способ для легкой и удобной передачи файлов?

И вот пример страницы, которую вы будете видеть в окне браузера, как видите всё красиво и опрятно, на форуме программы можно найти много красивых шаблонов:

Внешний вид веб-интерфейса HFS с установленной темой rywy

Хотя её меню полностью на английском языке, для меня это не является помехой. А для тех, кто плохо знает английский, в конце статьи я постараюсь максимально полно объяснить за что отвечают все разделы меню и как ими пользоваться.

Итак, перейдем к установке и настройке HTTP File Server:

1) Чтобы несколько сэкономить вам время, я приготовил сборку HFS с русскоязычным шаблоном сайта и произвел первоначальную настройку самой программы. Скачать сборку можно с моего Яндекс.Диск’а по ссылке. Если же вы уверены в своих способностях, то можете скачать чистую версию программу на официальном сайте http://www.rejetto.com/hfs/

2) Скачанный архив необходимо распаковать в удобное для вас место расположения. Я предпочитаю хранить программу по пути D:\HFS, чтобы в случае переустановки системы мне не пришлось скачивать и настраивать программу с нуля.

Скачанный архив необходимо распаковать в удобное для вас место расположения

3) Запускаем программу открыв файл hfs.exe. При первом запуске брандмауэр Windows запросит разрешение о допуске программы в сеть, разрешаем. Для удобства запуска также можно создать ярлык на рабочем столе. Для этого щелкаем правой клавишей мыши на файл hfs.exe и в появившемся меню выбираем «Отправить» → «Рабочий стол (создать ярлык)».

Запускаем программу открыв файл hfs.exe.

4) Как вы могли заметить в окне программы, HFS по умолчанию использует порт 80, при желании его можно изменить, но лучше оставить как есть и проверить, чтобы остальные программы его не занимали. Первое, что необходимо сделать, если вы используете Skype, открываем его настройки → вкладка «Дополнительно» → «Соединение» и снимаем галочку с пункта «Использовать порты 80 и 443 в качестве входящих альтернатив»:

В скайпе снимаем галочку с пункта "Использовать порты 80 и 443 в качестве входящих альтернатив"

4) Далее идём в «Панель управления» → группа «Система и безопасность» → «Брандмауэр Windows» и в левой колонке выбираем «Дополнительные параметры»:

Идём в "Дополнительные параметры" брандмауэра

5) В левой части открывшегося окна выбираем «Правила для входящих подключений», далее в правой части окна жмём кнопку «Создать правило»:

Создаем правило входящих подключений

В открывшемся окне создаем правила в точности как на скриншотах ниже:

1. Выбираем «Для программы»:

Выбираем "Для программы"

2. Указываем путь программы:

Указываем путь программы

3. Выбираем «Разрешить подключение»:

Выбираем "Разрешить подключение"

4. Все три галочки должны стоять:

Все три галочки должны стоять

5. Задаем название нового правила и жмём кнопку «Готово»:

Задаем название нового правила и жмём кнопку "Готово"

Всё, правило создано.

6) Переходим на вкладку «Правила для исходящих подключений». Жмём кнопку «Создать правило» и создаем точно такое же правило.

7) Если у вас стоит сторонний Firewall, вам так же нужно включить HFS в его исключения.

8) Далее, если вы используете роутер, вам необходимо пробросить порт 80. Как это сделать прочитайте в инструкции к вашему роутеру. В моём же TP-Link  это выглядит следующем образом:

Пример проброса порта Пример проброса порта

На этом настройка программы к работе завершена, для применения всех настроек рекомендуется перезагрузить компьютер и роутер. Для проверки, после перезапуска компьютера, запустите программу, нажмите кнопку «Menu» «IP address» «Find external address». Это кнопка для распознавания вашего внешнего IP адреса, после нажатия на которую, программа покажет всплывающее окно с вашим IP-адресом.

HFS определил внешний IP адрес

Сообщите его кому-либо из знакомых с просьбой ввести его в браузере. Если им откроется данная страница, значит всё настроено правильно.

HTML страница hfs

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

а) Просто перетащить папку/файл из проводника Windows в левую часть окна.
б) Кликнуть правой клавишей по левой части окна и выбрать Add files (добавить файлы), Add folder (добавить папку), Add empty folder (Добавить пустой каталог) или Add link (Добавить ссылку, любую интернет-ссылку).

Добавляем файлы в HFS

Каталоги в HFS делятся на два типа:
Real folder (Настоящий каталог) — в данном случае папка добавится как один каталог. Таким образом, при построении страницы данного каталога все изменения в файловой системе будут моментально подхвачены ею и отображены.
Virtual folder (Виртуальный каталог) — папка добавляется как дерево каталогов и файлов. В случае удаления/изменения имени/перемещении файлов или папок внутри данного каталога, необходимо вносить такие же изменения внутри каталога в программе. Иначе при построении страницы, ссылки будут ссылаться на несуществующие папки или файлы.

Разница между реальной и виртуальной папкой

Если кликнуть на каталог правой клавишей и открыть его Properties (Свойства) мы увидим следующее окно:

Свойства каталога

Вкладка Permissions (Разрешения) служит для установки прав доступа к папкам/файлам. Вкладка «Access» отвечает за возможность открытия каталога или скачивания файла. Вкладка «Delete» — за возможность удаления. Вкладка «Upload» — за возможность добавления файлов через браузер. Нажав кнопку Manage accounts вы перейдете в менеджер аккаунтов, где можно создать аккаунт и, к примеру, вернувшись на вкладку Upload, предоставить этому аккаунту доступ на скачивание файлов через сервер. Это является очень удобным: таким образом вы можете предоставить возможность загрузки файлов, только тем людям, которым вы доверяете.

В правой части окна показаны все запросы, проходящие через HTTP File Server. В нижней части окна показан прогресс скачивания файлов с вашего сервера. В этой части окна, нажав правой клавишей на IP качающего, можно ограничить ему скорость, прекратить загрузку, запретить доступ к скачиванию навсегда или на время.

Теперь немного пройдемся по основным вкладкам меню:

1. Other options (Остальные настройки).

Остальные настройки HFS

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

2. HTML template.

Выбор шаблона HTML

Меню для работы с шаблоном сайта, Edit — редактировать текущий файл шаблона, Change file — сменить текущий шаблон (шаблоны можно скачать на форуме офф.сайта), Change Editor — изменить текущий текстовый редактор шаблонов, Restore default — возврат к стандартному шаблону. Каждый шаблон добавляет в VFS свою папку, но сразу же делает её скрытой от показа на страницах сайта. Их удалять не стоит, так как они содержат в себе важные файлы для отображения сайта. В той теме, которую я включил в сборку, папка называется rywy.

3. Start/Exit (Пуск и завершение программы).

Пуск и завершение программы

Здесь собраны настройки, которые выполняются при старте и завершении программы. Вот самые важные из них: Auto-copy URL on start — копирование IP адреса в буфер обмена при старте программы; Start minimized  — после старта программа сворачивается в трей; Auto-save VFS on exit — при закрытии программы происходит автоматическое сохранение файла виртуальной файловой системы; Find external address on startup — автоматический поиск внешнего IP при запуске программы; Run HFS when Windows starts — добавить HFS в автозагрузку Windows; Minimize to tray clicking the close button [X] — при нажатии кнопки закрытия, программа сворачивается в трей.

Update: Добавил на сайт статью по привязке постоянного доменного имени к динамическому IP адресу.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание :)

Материал сайта Skesov.ru