Как быстро обслуживать файлы и папки через 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://
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://
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://
Чтобы обслужить один файл:
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