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

Как мгновенно настроить статический файловый сервер в Linux

Вы когда-нибудь хотели поделиться своими файлами или проектом по сети, но не знали, как это сделать? Не беспокойся! Вот простая утилита под названием "Serve", позволяющая мгновенно обмениваться файлами по сети. Утилита Serve мгновенно настроит статический файловый сервер в Linux и позволит вам обслуживать ваши файлы по локальной сети. Вы можете получить доступ к файлам с любых устройств независимо от их операционной системы. Все, что вам нужно, это веб-браузер. Эту утилиту также можно использовать для обслуживания статических веб-сайтов. Раньше он был известен как «список» и «микросписок», но теперь название было изменено на «обслуживать», что гораздо больше подходит для целей этой утилиты.

Настройка статического файлового сервера с помощью Serve в Linux

Чтобы установить «serve», вам необходимо сначала установить NodeJS и NPM. Перейдите по следующей ссылке, чтобы установить NodeJS и NPM в вашем компьютере с Linux.

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

После установки NodeJS и NPM выполните следующую команду, чтобы установить «serve».

npm install -g serve

Сделанный! Теперь настало время обслуживать файлы и папки по сети http.

Типичный синтаксис использования слова «обслуживать»:

serve [options] <path-to-files-or-folders>

Обслуживание определенных файлов или папок

Например, давайте поделимся содержимым каталога Documents. Для этого запустите:

serve Documents/

Пример вывода будет:

Делитесь файлами и папками с помощью Serve в Linux

Как вы можете видеть на скриншоте выше, содержимое данного каталога было передано по сети через два URL-адреса.

Чтобы получить доступ к содержимому из самой локальной системы, все, что вам нужно сделать, это открыть веб-браузер и перейти по URL-адресу http://localhost:5000/.

Доступ к файлам и папкам через веб-браузер

Утилита Serve отображает содержимое данного каталога в простом виде. Вы можете скачать (щелкнуть правой кнопкой мыши по файлам и выбрать «Сохранить ссылку как..») или просто просмотреть их в браузере.

Если вы хотите автоматически открывать локальный адрес в браузере, используйте флаг -o.

serve -o Documents/

После запуска указанной выше команды утилита Serve автоматически откроет ваш веб-браузер и отобразит содержимое общего элемента.

Аналогичным образом, чтобы получить доступ к общему каталогу из удаленной системы по сети, введите http://192.168.43.192:5000 в адресной строке браузера. Замените 192.168.43.192 на IP-адрес вашей системы.

Обслуживание контента через другой порт

Как вы могли заметить, утилита по умолчанию использует порт 5000. Итак, убедитесь, что порт 5000 разрешен в вашем брандмауэре или маршрутизаторе. Если по какой-либо причине он заблокирован, вы можете передать содержимое через другой порт, используя флаг -p.

serve -p 1234 Documents/

Приведенная выше команда будет передавать содержимое каталога «Документы» через порт 1234.

Подавать содержимое файла через другой порт

Чтобы использовать файл вместо папки, просто укажите его полный путь, как показано ниже.

serve Documents/Papers/notes.txt

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

Обслуживать весь каталог $HOME

Откройте терминал и введите:

serve

Это позволит поделиться содержимым всего вашего каталога $HOME по сети.

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

Исключить файлы и папки

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

serve -i Downloads/

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

Подавать содержимое только на локальном хосте

Иногда вам нужно разместить содержимое только в самой локальной системе, а не во всей сети. Для этого используйте флаг -l, как показано ниже:

serve -l Documents/

Эта команда будет обслуживать каталог Documents только на локальном хосте.

Подавать содержимое только на локальном хосте

Это может быть полезно, когда вы работаете на общем сервере. Все пользователи в системе могут получить доступ к общему ресурсу, но не удаленные пользователи.

Передача контента через HTTPS

Поскольку мы передаем содержимое через незащищенную локальную сеть (например, http), нам не нужно использовать SSL. Однако утилита Serve имеет возможность передавать содержимое через HTTPS, используя флаг --ssl.

serve --ssl Documents/

Передача контента через SSL

Для доступа к общим ресурсам через веб-браузер используйте «https://localhost:5000» или «https://ip:5000».

Безопасный доступ к файлам и папкам через веб-браузер

Подавайте контент с аутентификацией

Во всех приведенных выше примерах мы предоставляли содержимое без какой-либо аутентификации. Таким образом, любой в сети может получить к ним доступ без какой-либо аутентификации. Вы можете почувствовать, что доступ к некоторому содержимому должен осуществляться с использованием имени пользователя и пароля.

Для этого используйте:

SERVE_USER=ostechnix SERVE_PASSWORD=123456 serve --auth

Теперь пользователям необходимо ввести имя пользователя (т. е. ostechnix в нашем случае) и пароль (123456) для доступа к общим ресурсам.

Подавать контент с аутентификацией

Утилита Serve имеет некоторые другие функции, такие как отключение сжатия Gzip, настройка заголовков * CORS для разрешения запросов из любого источника, запрет автоматического копирования адреса в буфер обмена и т. д. Полный раздел справки можно прочитать, запустив команду следующая команда:

serve help

Ресурс:

  • Обслуживать репозиторий GitHub

Связанное чтение:

  • Как настроить базовый файловый сервер с помощью simpleHTTPserver
  • Как быстро передавать файлы и папки через HTTP в Linux
  • Localtunnel – сделайте ваш локальный сервер доступным онлайн

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