Поиск по сайту:

Как быстро обслуживать файлы и папки через HTTP в Linux

Сегодня я наткнулся на целую кучу способов обслуживания одного файла или целого каталога с другими системами в нашей локальной сети через веб-браузер. Я протестировал несколько методов на своей тестовой машине Ubuntu, и все они работали нормально, как описано ниже. Если вы когда-нибудь задавались вопросом, как легко и быстро обслуживать файлы и папки через HTTP в Linux, вам обязательно поможет один из следующих методов.

Обслуживание файлов и папок через HTTP в Linux

Отказ от ответственности. Все приведенные здесь методы предназначены для использования в защищенной локальной сети. Поскольку эти методы не имеют какого-либо механизма безопасности, не рекомендуется использовать их в рабочей среде. Вы были предупреждены!

Способ 1. Использование простого HTTP-сервера (Python)

Мы уже написали краткое руководство по настройке простого http-сервера для мгновенного обмена файлами и каталогами по следующей ссылке. Если у вас есть система с установленным Python, этот метод весьма удобен.

  • Как настроить базовый файловый сервер с помощью simpleHTTPserver

Способ 2. Использование Quickserve (Python)

Этот метод предназначен специально для Arch Linux и его вариантов. Для получения более подробной информации перейдите по следующей ссылке.

  • Как мгновенно обмениваться файлами и папками в Arch Linux

Способ 3. Использование Ruby

В этом методе мы используем Ruby для обслуживания файлов и папок через HTTP в Unix-подобных системах. Установите Ruby и Rails, как описано в следующей ссылке.

  • Установить Ruby on Rails в CentOS и Ubuntu

После установки Ruby перейдите в каталог, например ostechnix, которым вы хотите поделиться по сети:

cd ostechnix

И выполните следующую команду:

$ ruby -run -ehttpd . -p8000
[2018-08-10 16:02:55] INFO WEBrick 1.4.2
[2018-08-10 16:02:55] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux]
[2018-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000

Убедитесь, что порт 8000 открыт на вашем маршрутизаторе или брандмауэре. Если порт уже использовался некоторыми другими службами, используйте другой порт.

Теперь вы можете получить доступ к содержимому этой папки из любой удаленной системы, используя URL-адрес — http://:8000/.

http-сервер Ruby

Чтобы прекратить обмен, нажмите CTRL+C.

Способ 4 — Использование Http-сервера (NodeJS)

Http-server — это простой, готовый к использованию http-сервер командной строки, написанный на NodeJS. Он не требует настройки и может использоваться для мгновенного обмена файлами и каталогами через веб-браузер.

Установите NodeJS, как описано ниже.

  • Как установить NodeJS в Linux

После установки NodeJS выполните следующую команду, чтобы установить http-сервер.

npm install -g http-server

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

cd ostechnix
$ http-server -p 8000
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8000
  http://192.168.225.24:8000
  http://192.168.225.20:8000
Hit CTRL-C to stop the server

Теперь вы можете получить доступ к содержимому этого каталога из локальной или удаленной системы в сети, используя URL - http://:8000.

HTTP-сервер nodejs

Чтобы прекратить обмен, нажмите CTRL+C.

Метод 5 — Использование Miniserve (Rust)

Miniserve — еще одна утилита командной строки, позволяющая быстро передавать файлы через HTTP. Это очень быстрая, простая в использовании и кроссплатформенная утилита, написанная на языке программирования Rust. В отличие от вышеупомянутых утилит/методов, он обеспечивает поддержку аутентификации, поэтому вы можете настроить имя пользователя и пароль для общих ресурсов.

Установите Rust в вашей системе Linux, как описано по следующей ссылке.

  • Установить язык программирования Rust в Linux

После установки Rust выполните следующую команду для установки минисервера:

cargo install miniserve

Кроме того, вы можете загрузить двоичные файлы со страницы выпусков и сделать их исполняемыми.

chmod +x miniserve-linux

Затем вы можете запустить его с помощью команды (при условии, что двоичный файл мини-сервера загружен в текущий рабочий каталог):

./miniserve-linux <path-to-share>

Использование

Чтобы обслуживать каталог:

miniserve <path-to-directory>

Пример:

$ miniserve /home/sk/ostechnix/
miniserve v0.2.0
Serving path /home/sk/ostechnix at http://[::]:8080, http://localhost:8080
Quit by pressing CTRL-C

Теперь вы можете получить доступ к общему ресурсу из самой локальной системы, используя URL-адрес — http://localhost:8080 и/или из удаленной системы с помощью URL-адреса — http://: 8080.

Чтобы обслужить один файл:

miniserve <path-to-file>

Пример:

miniserve ostechnix/file.txt

Подавать файл/папку с именем пользователя и паролем:

miniserve --auth joe:123 <path-to-share>

Привязка к нескольким интерфейсам:

miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>

Как видите, я привел всего 5 методов. Но есть еще несколько методов, приведенных в ссылке, прикрепленной в конце этого руководства. Идите и проверьте их тоже. Кроме того, добавьте его в закладки и время от времени просматривайте его, чтобы проверить, есть ли какие-либо новые дополнения к списку в будущем.

Ссылка:

  • Список однострочных сообщений статического сервера http

Статьи по данной тематике