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

Обновлено: 05.07.2024

propk.ru

Файловый сервер для дома и не только

Долгое время хотелось организовать свой файловый сервер. Приобрести готовый сервер достаточно дорого.

Использовать старый компьютер с FreeNas и подобным не совсем подходит, для моих нужд.

Было решено использовать классический вариант, который мне подходит по всем параметрам и относительно приемлем по цене.

Что мне требовалось.

Мне был необходим лишь файловый сервер с рейдом из двух дисков для надежного хранения информации. Иногда запуск web сервера для различных экспериментов и тестов.

По идее можно взять старый компьютер и настроить на нем серверный Linux или windows, под свои нужды.

Так как Windows изрядно попортил мне нервы в прошлом, своей не стабильностью. Остановился на Linux, выбор пал на debian.

Почему отказался от FreeNas

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

Хотя система, при ее использовании хотя бы на 90%, себя оправдывает.

Да, есть еще и другие оболочки заточенные под домашнее хранилище, но их функционал не будет использоваться и на половину, по этому от них отказался.

Мой файловый сервер

Основой для сервера был использован старый ПК на 775 сокете с 2Гб ОЗУ. В качестве основной системы Debian 10.

После установки операционной системы от него была отключена вся периферия и им можно было управлять по протоколу SSH.

Контроль и управление из командной строки не всегда подходит если необходимо обращаться к серверу постоянно.

По этому в качестве оболочки для управления сервером из веб интерфейса было решено поставить webmin.

Устанавливаем Webmin на файловый сервер

webmin страрница разработчика

Данный интерфейс можно установить для управления не только на сервер с Linux но и с windows. Если вам близок windows скачивайте необходимую вам версию и устанавливайте.

На свой сервер я ставил из терминала по протоколу SSH.

Подключаемся к серверу

Попросит пароль, вводим его и нажимаем Enter

Выглядеть это будет так

файловый сервер подключаемся по ssh

Как всегда обновляемся

Теперь добавляем репозиторий оболочки webmin в sources.list, я это сделаю с помощью редактора nano

Устанавливаем редактор, если требуется командой

Открываем файл sources.list

добавляем в него строчки репозитория webmin

настройка репозитория webmin

Сохраняем сочетанием Ctrl+O затем Enter и выходим CTR+X

Добавляем ключ репозотория

После установки сервис автоматически запущен, для доступа к нему нужно открыть порт 10000 на сервере

Теперь вы можете управлять своим файловым сервером через web интерфейс, набираете в строке браузера адрес вашего сервера и порт 10000 через двоеточие

файловый сервер

Для входа используется логин и пароль вашего пользователя на сервере, как и при подключении по SSH.

Выглядит интерфейс так

файловый сервер

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

Если есть кому, что добавить или поделится опытом, оставляйте комментарии.

Favorite

В закладки

Как сделать своё облачное хранилище файлов. И не платить за него

Месяц назад я рассказывал о препарировании старенького Mac mini 2007 года. Моя цель — сделать собственный сервер и отказаться от облачных хранилищ, вроде iCloud, Google Drive, Dropbox и прочих.

После пропайки нового разъема с резистором нагрузки Mac mini исправно работает. За последний месяц он ни разу не выключался, выполняя роль домашнего FTP-сервера с внешним доступом.

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

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

Что ж, приступим к созданию собственного сервера.

Предварительная подготовка

Накатываем Linux


Так случилось, что мой Mac mini был с нерабочим DVD-Rom. После безуспешных попыток запустить систему и часов, потраченных на форматирование загрузочных флешек, мне удалось выяснить кое-что интересное.

Не все Mac mini и старые Mac поддерживают установку с флешки.

У меня как раз такой случай.

Установить DVD-Rom от старенького ноутбука HP не удалось — разъемы не совпадают. Искать донора или аналогичный привод не было желания.

Потом HDD с уже накатанной Linux поставил обратно в Mac mini, включил и все заработало.

Linux неприхотлива к железу. Wi-Fi, Ethernet, графика — все заработало после первого запуска.

Все, теперь у Mac mini есть работающая операционка и можно приступать к дальнейшей настройке.

Покупаем «белый» IP


Без этого никак. Вам понадобится так называемый «белый» IP-адрес. То есть такой айпишник, который будет закреплен конкретно за вашим роутером.

Чтобы его получить, звоним провайдеру и просим активировать «белый статический IP-адрес». Обычно стоимость месяца такого IP не более 100 – 150 рублей.

Увы, бесплатно держать свой сервер не выйдет. Зато вы можете наращивать емкость собственного хранилища, но при этом не платить заоблачные цены за гигабайты в облаке.

Время активации зависит от провайдера. У меня был белый IP уже через 30 минут после звонка провайдеру.

Пробрасываем порты


Для того, чтобы вы могли получить доступ к вашему серверу из любой точки мира, необходимо выполнить так называемый проброс портов. Суть его вот в чем.

Вы находитесь далеко от дома, пользуетесь, например интернетом от оператора сотовой связи.

Указываете домашний IP-адрес. На него поступает запрос, а дальше он должен связаться с вашим домашним сервером, «постучав» на конкретный сетевой порт.

Данная настройка зависит конкретно от вашей модели роутера. Логичнее будет почитать про проброс портов конкретно на ваш роутер отдельно. У меня этот пункт настроек выглядит так:


Я просто активировал DMZ (доступ к общедоступным сервисами) и прописал IP-адрес Mac mini в локальной сети.

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

Настраиваем сервер на базе Nextcloud


Поскольку я изначально поставил перед собой цель сделать полноценную замену популярным облачным сервисам, ограничиваться банальным FTP не буду.

Хочется получить нормальный мобильный клиент, автоматическую синхронизацию и красивую оболочку.

Лучший вариант для всего этого — решением от Nextcloud.

Nextcloud — это как раз-таки специально разработанный комплекс для создания серверов с регулируемыми уровнями доступа для разных клиентов в рамках корпоративной сети. Но он позиционируется и как удобный инструмент для создания домашнего сервера.

Что ж, приступим к установке Nextcloud на наш Mac mini.

Шаг 1. Запускаем терминал в Linux Debian на Mac mini. Можно вводить все команды как на самом будущем сервере, так и воспользовавшись SSH из Терминала вашего MacBook или другого рабочего компьютера.

Для подключения по SSH необходимо ввести следующую строчку:

Затем указать пароль администратора в системе Linux (на нашем сервер).

Вводим следующую команду:

Затем устанавливаем сервер MariaDB:

su apt install mariadb-server -y

Дожидаемся загрузки и установки всех пакетов.

Теперь проверим статус установленного сервера:

sudo systemctl status mariadb

Видим статус active, значит все в порядке.


Чтобы выйти нажимаем Q. Продолжаем настройку.

Шаг 2. Проверяем версию MySQL, указав следующую команду:


Теперь настроим систему управления базами данных MySQL под работу сервера Nextcloud. Вводим:

На запрос пароля введите либо ваш пароль администратора, либо просто нажмите Enter.


Шаг 3. Теперь нам предстоит прописать серию команд для создания базы данных под Nextcloud. Вводим:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Нажимаем Enter и получаем ответ: Query OK, 1 row affected (0.00 sec). Продолжаем ввод команд:

Готово. База данных MySQL создана.

Шаг 4. Время установить PHP. Вводим следующую команду.

su apt install software-properties-common жмем еnter

su add-apt-repository ppa:ondrej/php

Жмем еще раз Enter после выполнения последней команды. Дожидаемся окончания установки.

Ставим Apache. Вводим такую строчку:

su apt install apache2 php7.1 php7.1-gd php7.1-json php7.1-mysql php7.1-curl php7.1-mbstring php7.1-intl php7.1-mcrypt php7.1-imagick php7.1-xml php7.1-zip libapache2-mod-php7.1

Подтверждаем действие, нажав Y и Enter. Дожидаемся установки всех пакетов.

Настроим Firewall. Вводим:

Теперь приступаем к загрузке Nextcloud. Меняем директорию:

Жмем Enter. Ждем окончания загрузки. Вводим:

Раскрываем список файлов:

Перемещаем Nextcloud в «правильную» папку:

su chown -R www-data: /var/www/nextcloud

И редактируем файл конфига Apache:

su nan /etc/apache2/conf-available/nextcloud.conf

Содержимое данного фала должно быть следующим:


Если подобного текста нет — копируем и вставляем его в файл конфига и нажимаем CTRL + O для сохранения. Жмем Enter.

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

su a2enconf rewrite
su systemctl reload apache2 (вводим пароль)
su a2enmod rewrite
su a2enmod headers
su a2enmod env
su a2enmod dir
su a2enmod mime
su systemctl reload apache2

Готово. Настройка Nextcloud окончена.

Краткая настройка Nexctloud


Открываем браузер и вводим адрес нашего белого IP, дописав /nextcloud. То есть во так:

80.23.23.223/nextcloud указываете ваш IP вместо предложенного

И видим окно, показанное на скриншоте выше.

Задаем пароль для пользователя Admin. Попадаем в веб-интерфейс нашего сервера.

Рассказать о всех тонкостях настройки серверного решения Nextcloud в одном материале невозможно. Главное, что следует сделать — скачать мобильный клиент для Android или iOS.


Авторизоваться в нем можно, указав ваш IP-адрес сервера и добавив /nextcloud. Вводите созданное имя пользователя и пароль.

А дальше останется выбрать папки, которые вы хотите автоматически синхронизировать с вашим облачным сервером, установить настройки синхронизации, создать учетные записи для всех членов семьи.

Nexctloud позволяет полностью отказаться от облачных решений вроде Dropbox и iCloud. И главное, вы знаете, что ваши файлы всегда доступны только вам и вашим близким.

(45 голосов, общий рейтинг: 3.42 из 5)

Favorite

В закладки Запасаемся попкорном и готовимся к борьбе за облачную независимость.

Владимир Кузин

DIY-техноман. Уверен, что все можно сделать своими руками. Коллайдер не в счет.

Госдума: блокировать и признавать Telegram СМИ никто не планирует

Apple выпустила рекламу про куриные яйца, снятую на iPhone 13 Pro

Apple планирует вернуть всех сотрудников в офис с 1-го февраля

Bloomberg: Apple хочет выпустить электромобиль к 2025 году

Вышла watchOS 8.1.1 для Apple Watch Series 7

Поиграл в ремастер трилогии GTA и разочаровался. Дело не только в графике

Обзор сигнатурного радар-детектора Neoline X-COP 6000s. Найдет любые камеры на дороге, даже спрятанные

Посмотрел фильм «Вечные» от Marvel. Столько ожиданий, а в итоге…

🙈 Комментарии 72

Заголовок статьи не правда

@sdix , почему же?

@Владимир Кузин , потому и уточняю: у меня айпи изначально белый без доплаты.

@DastarD , устоявшееся выражение. Идиома, если хотите. Что вам не нравится? Хотите, называйте его выделенным оператором вешним IP-адресом, доступным из глобальной сети, но свои предъявы засуньте подальше.

QIP Shot - Screen 393.jpg

[ссылка для скачивания]

Рисунок 1, Внешний вид программы HFS.
Для того, чтобы наш файловый сервер был виден как в локальной сети, так и в сети Интернет необходимо указать порт, через который клиенты будут подключаться к нашему серверу, а также перейти в режим «Expertmode» (см. рис. 2).

QIP Shot - Screen 400.jpg


Рисунок 2, Переход в режим «Expertmode».
Номер порта может быть произвольным, однако следует указывать номера начиная с 32 000, так как ниже находящиеся порты могут использоваться различными программами (см. рис. 3).

QIP Shot - Screen 394.jpg


Рисунок 3, Изменение сетевого порта HFS.
Для добавления файла/каталога в список общедоступных ресурсов жмем правой кнопкой мыши на список и выбираем «AddFiles/Addfolderfromdisk» (см. рис. 4).

QIP Shot - Screen 395.jpg


Рисунок 4, Добавление файла/каталога в список общедоступных ресурсов.
Для того, чтобы наш сервер был виден из сети Интернет, мы будем использовать функцию перенаправление порта («проброс порта»).

Настройка внешнего доступа на наш файловый сервер за счет перенаправления порта
Проброс портов (сленг.) - это технология, которая позволяет обращаться из сети Интернет к компьютеру во внутренней сети за маршрутизатором (роутером), использующим NAT (NAPT). Доступ осуществляется при помощи перенаправления трафика определенных портов с внешнего адреса маршрутизатора на адрес выбранного компьютера в локальной сети.
Такое перенаправление нужно, если вы, к примеру, хотите развернуть на локальном компьютере сервер с доступом из сети Интернет, и чтобы при этом остальные компьютеры в локальной сети не были доступны из глобальной сети.

Настройка роутера производится через его web-интерфейс. Для этого следует открыть браузер (Internet Explorer, Mozilla Firefox или любой другой) и ввести в адресной строке 192.168.0.1 (IP адрес роутера по умолчанию). После прохождения авторизации, мы попадаем на главную страницу нашего маршрутизатора (см.рис. 5).

QIP Shot - Screen 388.jpg


Рисунок 5, Главная страница маршрутизатора.
Производить настройку функции проброски порта мы будем вручную. Для этого нужно перейти в расширенные настройки (см.рис. 6).

QIP Shot - Screen 389.jpg


Рисунок 6, Переход в расширенные настройки.
Так как по умолчанию у роутера включена служба раздачи динамических IP адресов (DHCP), предлагаю присвоить нашему будущему файловому серверу статический IP адрес в нашей локальной сети. Для этого в пункте «Сеть» выбираем «Lan» (см. рис. 7).

QIP Shot - Screen 402.jpg


Рисунок 7, Переход в настройки локальной сети.
В появившемся окне листаем в самый низ до пункта «Статический DHCP» и из выпадающего списка выбираем компьютер с нашем MAC-адресом (см. рис. 8).


Рисунок 8, Настройка DHCP.
Для того, чтобы узнать MAC-адрес компьютера, нажмите кнопку Win+R, после чего введите команду cmd (см. рис. 9). В появившейся командной строке наберите ipconfig /all и нажмите Enter (см. рис. 10), после чего посмотрите MAC-адрес устройства (физический адрес) (см. рис. 11).


Рисунок 9, Окно программы выполнить.

QIP Shot - Screen 405.jpg


Рисунок 10, Окно командной строки.

QIP Shot - Screen 406.jpg


Рисунок 11, Результат выполнения команды ipconfig /all.
После чего изменяем IP-адрес на 192.168.0.10 (см. рис. 12), вписываем произвольное имя в поле «Host» и нажимаем кнопку сохранить. После чего нужно переподлючить наш компьютер к сети WiFi.

QIP Shot - Screen 404.jpg


Рисунок 12, Меняем ip-адрес нашего компьютера.
Далее возвращаемся в «Расширенные настройки» и в разделе «Межсетевой экран» выбираем «Виртуальные серверы» (на прошивках 1.4.х функция проброса портов называется «Виртуальные серверы»).

QIP Shot - Screen 390.jpg


Рисунок 13
В открывшемся окне нажмите «Добавить» (см. рис. 14).

QIP Shot - Screen 391.jpg


Рисунок 14
В открывшемся окне задайте необходимые параметры виртуального сервера. И нажмите кнопку «Изменить» (см. рис. 15).

QIP Shot - Screen 392.jpg


Рисунок 15

Шаблон - В раскрывающемся списке выберите один из шести приведенных шаблонов виртуальных серверов или выберите значение Custom (пользовательский), чтобы самостоятельно определить параметры виртуального сервера.

Имя - Название виртуального сервера для удобной идентификации. Может быть произвольным.

Интерфейс - Соединение, к которому будет привязан создаваемый виртуальный сервер (в примере используется WiFi соединение).

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

Внешний порт (начальный)/ Внешний порт (конечный) - Порт маршрутизатора, трафик с которого будет переадресовываться на IP-адрес, определяемый в поле Внутренний IP. Внутренний и внешний порт лучше указывать одинаковые. В нашем примере это порт 32500, тот, который мы указали при настройке HFS.

Внутренний порт (начальный)/ Внутренний порт (конечный) – Укажите порт 32500.

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

Удаленный IP - IP-адрес сервера, находящегося во внешней сети (в большинстве случаев данное поле необходимо оставить пустым).
Чтобы задать другие параметры для существующего сервера, выделите соответствующий сервер в таблице. На открывшейся странице измените необходимые параметры и нажмите кнопку «Изменить».

Чтобы удалить существующий сервер, выделите соответствующий сервер в таблице. На открывшейся странице нажмите кнопку «Удалить». В верхнем правом углу нажмите на кнопку «Система», а затем «Сохранить».

QIP Shot - Screen 396.jpg


Рисунок 16, Проверка доступности порта.

После установки в трее появится значок в виде буквы В с зеленым или красным огоньком, который обозначает состояние службы BarracudaDrive:


Зеленый — сервер работает, красный — не работает. Всё просто.


Автоматически запуститься браузер, в котором запустится мастер настройки BarracudaDrive.

Настройку не обязательно производить с того же самого компа, можно сделать и по сети, скопировав адресную строку в свой браузер и заменив там localhost на IP-адрес вашего сервера с BarracudaDrive. Здесь указываем админскую электропочту, желаемый админский логин, пароль 2 раза и жмем кнопку Set Administrator. Вот и всё, первоначальная настройка на этом завершена.

По сути, web-интерфейс нам нужен только для того, чтобы создать пользователей и присвоить им необходимые права на доступ. В остальном, интерфейс оставляет желать лучшего и использовать его постоянно нет никакого желания из-за кривизны реализации. Идем в Menu, а затем в Administrator Panel

Пользователи создаются в разделе Add User. Здесь вводим логин пользователя, пароль внизу жмем кнопку Save.

В разделе All Users можно посмотреть список всех пользователей, отредактировать нужного.
Теперь перейдем к самому интересному разделу — WFS Constraints. Здесь настраиваются права доступа тем или иным каталогам и файлам на сервере. Интерфейс немного кривой, но если всё делать в правильной последовательности, то настройка занимает не много времени.

Доступ к каталогам в BarracudaDrive привязывается не к пользователям и не к группам, как, казалось бы, это делается во всех других системах. Здесь есть еще один объект «Constraint» (ограничение). Давайте создадим такой объект и дадим доступ а какой-нибудь каталог.



Первым делом в верхнем текстовом поле мы пишем имя ограничения. Я напишу test1234 (действие 1). Затем нужные группы пользователей мы перемещаем из самого правого списка в список чуть левее путем нажатия кнопки Add Roles (действие 2). Далее, мы указываем каталоги, куда нужно дать доступ (действие 3). Обратите внимание, в какой форме записывается путь до папки Projects, которая находится у меня в корне диска С, нажимаем кнопку Add (если вы вручную вписали путь до каталога) или Browse, чтобы выбрать… (действие 3). Конечно, устанавливаем права на чтение/запись (действие 4) и сохраняем настроенное ограничение (действие 5).

На странице вводим логин и пароль

И видим тот ресурс, доступ до которого настроили чуть ранее:

Можно полазить, посмотреть папки и файлики через браузер. Инструменты в верхней панели позволяют делать базовые операции: создание папок, загрузка файлов (кнопка с изображением облака, а затем простым перетягиванием файлов в браузер), удаление (клик по нужному объекту в списке) и пр.

И последнее. Доступ к файлам можно получить не только через web-браузер, но и более привычными способами. Например, подключим ресурс как сетевой диск.


Открываем Мой компьютер и жмем кнопку «Подключить сетевой диск» (Map network dirve) по протоколу WebDAV

В появившемся окне жмем на самую нижнюю ссылку:


Затем пару раз нажимаем Далее (Next) и указываем адрес (внешний ip-роутера, в случае с доступом из вне):

Однако, в Windows работа с протоколом WebDAV реализована тоже не самым лучшим образом и если у вас при подключении возникнет ошибка, попробуйте изменить адрес сделав его вида \\IP-адрес-сервера\fs\C\Projects\

Далее у нас спросят логин и пароль и после этого в «Моем компьютере» появится созданный ресурс, который будет открываться в привычном проводнике со всем функционалом в плане манипулирования файлами:

Читайте также: