Устанавливаем HTTP-сервер для обмена файлами
АрхивИнтернетНередко возникает ситуация, когда необходимо срочно передать кому-либо файл. Одно из решений такой задачи - установка собственного веб-сервера.
Нередко возникает ситуация, когда необходимо срочно передать кому-либо файл. Каковы пути решения подобной задачи?
Передача файлов по электронной почте - утомительное и довольно долгое занятие. Во-первых, время отправки смело умножаем на два: данные сначала будут переданы от вас на сервер, а потом в точности наоборот - от сервера к получателю. Во-вторых, за счёт некоторых особенностей почтового протокола размер физически передаваемых данных будет на 35% больше размера оригинального файла.
ICQ-сеть для обмена файлами требует прямого соединения, и даже настройка функции "Port Forwarding" на NAT по разным причинам не всегда позволяет решить эту проблему. ICQ, вдобавок, не поддерживает докачку файлов.
Можно поставить FTP-сервер, но для редких пересылок файлов это неоправданно сложно. Плюс, если клиент находится за NAT, его программное обеспечение должно уметь работать в пассивном FTP-режиме.
Еще существует множество программ для обмена данными, но они требуют использования с обеих сторон, потому для передачи файлов в такой ситуации мы рассмотрим использование HTTP-сервера.
Различных версий HTTP-серверов очень много, но для решения нашей проблемки идеально подойдет HTTP File Server.
Cкачиваем вторую версию приложения и запускаем (инсталляция не требуется).
Интерфейс программы очень простой и наглядный. Вы просто перетаскиваете мышью в него файлы, выделяете нужный и сообщаете получателю ссылку, указанную в адресной строке. Получатель любыми стандартными средствами (например, Internet Explorer) может его скачать и сохранить.
Но сначала надо Http File Server настроить. Нажимаем вверху его окна переключатель Easy/Expert Mode для перехода в режим Expert.
Теперь выберем порт, на котором наш сервер будет работать. Стандартный порт для HTTP - 80, можно оставить его. Однако у некоторых провайдеров 80-ый порт на вход закрыт, тогда необходимо указать любой другой свободный, допустим, 16384. Если у вас NAT-роутер, то надо на нём также указать форвард выбранного порта на ваш компьютер. Обратите внимание, что в режиме ON ("включен") порт изменить нельзя, надо предварительно нажать эту кнопку для перехода в режим OFF ("выключен").
Затем файлы, которые мы хотим кому-то передать, перетаскиваем в окно Virtual File System. Можно перетаскивать не только отдельные файлы, но и каталоги. Для директорий есть два варианта обработки - Real и Virtual.
Объясняем: для режима Real будут всегда доступны все файлы, которые есть и будут появляться в будущем, а Virtual позволяет редактировать список доступных объектов.
Заметим, что если в контекстном меню на каталоге (в том числе и на корневом каталоге "/") поставить галочку на Let browse, то HTTP File Server автоматически сгенерирует страницу со списком файлов на случай, если в каталоге нет index.htm.
Теперь можно дать пользователю ссылку из строки Address (в HTTP File Server) на сам сервер либо на конкретный файл.
Если вы даёте ссылки на разные файлы разным пользователям, есть вероятность, что кто-то, набрав просто адрес сервера, скачает все выложенные файлы. Чтобы этого избежать, можно воспользоваться правами доступа. Для этого идём в меню "Menu -> Other options -> Users" и прописываем там имя/пароль для пользователя.
Затем в Virtual File System на файлах, которые не должны быть доступны, кому попало, нажимаем левой кнопкой мыши для появления контекстного меню и там в поле Restrict access отмечаем пользователей, которым разрешаем доступ к файлу.
Если вы хотите, чтобы пользователи могли сами закачать вам какой-нибудь файл, то для этого надо перетащить в окно Virtual File System папку и указать, что она будет в режиме Real. В неё пользователи смогут закачивать файлы, если разрешена опция Let browse. Можно разрешить закачивать файлы только избранным пользователям, а не всем. Для этого следуем в контекстное меню и отмечаем тех, кому разрешить в "Upload -> Upload for users".
В случае, если у вас есть доменное имя, то его можно прописать в "Menu -> IP Address -> Custom", и оно будет подставляться в строке Address вместо IP. Если у вас доступ в интернет через NAT, то в HTTP File Server есть возможность поиска внешнего IP (в "Menu -> IP Address -> Find external address").
Вы можете сами посмотреть в браузере, как выглядит то, что вы настроили. Для этого в конце строчки Address нажимаем кнопку Browse либо просто копируем в браузер строчку из поля Address. Если у вас NAT, и настроено использование внешних адресов (External address), то предварительно временно выберите в "Menu -> IP Address" какой-нибудь из локальных адресов или просто в браузере вручную введите http://127.0.0.1:номер_порта.