Собственное облачное хранилище + тестовый доступ
Многие не очень крупные компании, стартапы, просто команды единомышленников используют не собственные облачные решения для хранения данных, а готовые продукты такие как: Dropbox, Google Диск, Яндекс 360, решения VK WorkMail и другие.
Яндекс и VK WorkMail помимо прочего позволяют организовать обмен электронной почтой для сотрудников, вести общий календарь, контакты и т.д.
Многие компании из моего окружения использовали именно Яндекс 360, по причине наличия базового бесплатного тарифа, который распространялся на сотрудников, которым требовалась только почта, а хранение файлов можно было организовать приобретая руководителю дополнительный объем места в облаке и разделить его общими папками между сотрудниками.
С 17 апреля Яндекс 360 для бизнеса стал платным. Тарифы начинаются от 270 рублей за сотрудника.
Получив это письмо счастья, я рассчитал ожидающую меня стоимость и она составила более 8 тысяч руб. в месяц. Не то что бы это катастрофическая какая-то сумма, но она стала в разы больше текущих затрат, плюс есть ряд ограничений в яндексе, что мешает работе (например количество общих папок). Решил ознакомиться есть ли какие-то альтернативы решениям Яндекса и стоит ли игра по отказу от его услуг свеч.
Первым рассмотренным вариантом был VK WorkMail (aka Mail.ru), но его решения по облачному хранилищу давно стали платными. В этом случае наши потребности попадали в диапазон тарифа 5790 руб. в месяц.
Далее был Dropbox, с которого мы когда-то начинали еще на личных аккаунтах, объединяясь общими папками. Его корпоративные тарифы начинаются от 15$ за пользователя…
От иностранных сервисов пришлось отказываться в связи со сложностями с оплатой и рисками одномоментно остаться отрезанным от данных услуг.
Опуская дальнейшие метания, мой взгляд пал на решение Nextcloud. Оно привлекло открытостью ПО и возможности развертывания на собственном сервере. Перечень его возможностей довольно впечатляющей, вот одни из основных:
Файловое хранилище
Встроенный почтовый клиент
Трекер задач на подобие Trello, пускай и довольно простой
Облачный редактор документов - топовая штука
Календарь
Собственный мессенджер и сервис видеозвонков
Этот сервис, на мой взгляд, подойдет не только компаниям, то есть тем кто занимается профессиональной деятельностью, но и для обычных школ, где можно организовать обмен данным для всей школы с одного сервера, т.к. количество пользователей программно никак не ограничено. Другие образовательные и досуговые также могут воспользоваться возможности данного сервиса как для дистанционного обучения, так и для просто распространения информации.
Для тех кто пользовался Яндекс 360 и у него была еще почта вместе с облачным хранилищем. В VK WorkMail использование просто почтового ящик для любого количества пользователей бесплатно. Все письма можно автоматически туда перенести по инструкции. Я именно так и поступил.
Также есть вариант если уж переходить на "свое" облако также параллельно запустить свой почтовый сервер на том же VPS, например mailcow. Но пока VK workmail бесплатен для почты такое избыточно, на мой взгляд. И в этой статье я не рассматриваю установку этого сервиса.
В комментарии к посту я добавил ссылку на свой сайт, где я предоставил демо доступ к своему тестовому облачному хранилищу. На нем я практиковал разные варианты установки, настройки приложений, бекапов и т.д. Там можно ознакомиться с интерфейсом, набором приложений и функционалом.
Основные потребности, которые он закрывает:
Если у вас десятки или даже сотни пользователей, то здесь будет безлимитное количество пользователей за фиксированную плату аренды VPS сервера, позволяет получать экономию средств буквально начиная с 6-ого пользователя облака относительно решений Яндекс 360 и VK WorkSpace.
Гибкая система распределения прав доступа по папкам. Например в общей папке, можно расшарить отдельную папку. Никаких лимитов по общим папкам также нет. Можно делать как исключительно "внутрисерверное" расшаривание, так и внешнее, чтобы доступ был у всех пользователей, даже не с вашего сервиса, то есть делиться файлами с клиентами например.
Можно организовать общее хранилище фото для большой семьи, обойдя ограничения на количества пользователей, которые заложены в нативных облаках гугла и эпла. При этом каждый из пользователей получит собственный личный кусочек "облака", не теряя возможности иметь общие альбомы и обмениваться фото с другими пользователями облака.
Простой учет опубликованных ресурсов, контроль и отключение не актуальных ссылок, возможность использования меток по файлам для совместной работы группами.
Совмещение в одной вкладке браузере всех средств для работы от чата и почты до задач и календарей.
Nextcloud обладает множеством способов монтирования на сервер, после нескольких экспериментов я остановился на развёртывании Docker образа. Его преимущество заключается в том, что:
он по сути самый простой - две команды в консоли.
вся первоначальная настройка уже сделана, все оптимальные параметры вбиты. Не нужно настраивать лимиты загрузки файлов, размер буферов, таймауты и т.д.
вам не нужно париться из-за установки баз данных, контролировать версию PHP и потом самостоятельно обновлять это достаточно не френдли-юзер способом. При установке через Docker нужно лишь перейти на отдельную страницу, обновить контейнеры с ПО парой кликов и все эти зависимости и связи подтянутся автоматически и вы всегда будете иметь актуальную версию всего окружения для работы облака. На этой же отдельной вкладке есть встроенные средства для бекапа, что надо отметить немаловажно использовать при обновлении.
Пошаговый гайд по установке Nextcloud на VPS.
Заказываем выделенный сервер. Надежный и проверенный хостинг предлагающий VPS на 500 Гб за 999 руб. в месяц или 1000 ГБ за 1749 руб. в месяц это sweb.ru (внимание! ссылка реферальная, если вы хотите поощрить меня за эту статью, то переходите по ней и вам сделают доп. скидку в 15%. В другом случаем просто вбейте этот короткий адрес в браузере).
Этот хостинг выбран потому, что:
Располагается в России
Оплата с НДС для юр. лиц
Все в порядке с финансовой отчетностью, сотни миллионов оборот, прибыльность и т.д.
С другими вариантами хостингов можно ознакомиться например здесь poiskvps.ru, там уже заданы фильтры по стране - Россия, типу диска SATA, объему памяти и количеству ядер процессора. Можно убрать страну, если вас не пугает использование хостинга с размещение в другом государстве, то это расширит список доступных вариантов. Для всех хостингов процесс установки одинаков, есть лишь небольшие отличия в интерфейсе.
Два оставшихся хостинга, которые подбирает поиск по данным параметрам как раз отпугивают своей налоговой отчетностью: минимальные обороты, буквально десятки-сотни тысяч рублей. Что лично для меня никак не может характеризовать этот хостинг с надежной стороны во всех смыслах - и хранения данных, и стабильности работы и безопасности этих самых данных.
Я выбираю хостинг с операционной системой Ubuntu 20.04 LTS, без дополнительного ПО.
После оплаты аренды сервера, создастся конфигурация оборудования и в ней нас интересует два пункта.
Первое это IP адрес VPS, мой реальный IP скрыт и на скриншоте для наглядности указан 1.1.1.1
Второе это root пароль. В зависимости от хостинга он может быть указан как в консоли управления сервером:
Либо при создании VPS пароль высылается по электронной почте, указанной при регистрации в хостинге:
Я хотел сделать все красиво, поэтому сервис решил разместить на домене своей компании. Для этого надо сделать «A» запись у регистратора домена, в моем случае я остановился на банальном cloud. Имя поддомена указывается без точки в конце, в качестве значения адреса указывается IP адрес сервера.
Если у вас нет своего домена, то:
его можно приобрести, домен третьего уровня - nextcloud.spb.ru (то есть после названия идет еще зона в данном случае "spb" и потом "ru"). Стоит это буквально несколько сотен рублей в год, нужно лишь найти подходящее свободное имя. Первый год как правильно стоит "льготно" чуть меньше, а начиная со второго продление будет незначительно дороже.
при заказе VPS хостинг провайдер вам может бесплатно предоставить домен третьего уровня в своей зоне, для этого нужно попробовать обратиться в тех. поддержку. Или же в некоторых случаях бесплатно предоставляется домен третьего уровня в обычных зонах таких как указана выше ".spb.ru"
Теперь необходимо подключиться к серверу через консоль и установить Nextcloud. Я проводил установку из под Windows, используя консоль PowerShell. Для быстрого вызова консоли нажимаем Win+X и выбираем Windows Powershell (администратор).
Чтобы подключиться к нашему новому серверу необходимо выполнить команду вида:
ssh root@1.1.1.1
где:
root — имя пользователя, остается без изменений
1.1.1.1 — IP адрес арендованного VPS
Если все пройдет успешно то следующим будет предложено ввести пароль. Если предложение ввести пароль не будет, а будет следующий текст:
The authenticity of host ‘1.1.1.1 (1.1.1.1)’ can’t be established.
ECDSA key fingerprint is SHA256: rDBr4hCNI/Bjvo6KcDWyKUDle1RkyDivkdt5tFPrCow.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
наберите yes и нажмите enter.
Чтобы ввести пароль есть два способа:
1. Перепечатать его вручную, соблюдая регистра и спецсимволы, при этом сами символы в строке ввода появляться не будут, будет все также просто мигать курсор «_».
2. Скопировать пароль из консоли управления VPS или письма, перейти в консоль PowerShell и ЩЕЛКНУТЬ ПРАВОЙ КНОПКИ МЫШИ В СТРОКЕ ВВОДА ПАРОЛЯ, ГДЕ МИГАЕТ КУРСОР, нажать Enter на клавиатуре. Команда ctrl+v (или аналогичные) в данном случае не работают
Если авторизация прошла успешно, то вы увидите приветственную надпись. А строка для ввода команды будет иметь вид «root@servername:~#«.
Далее описывается пошаговый процесс установки самого Nextcloud, с исходником можно ознакомиться на github.
Осталось выполнить две команды.
Первая устанавливает Docker на VPS, команду из поля ниже можно скопировать из поля ниже целиком и вставить в консоль правым кликом мыши, здесь уже команда отобразиться после вставки и нажать Enter:
curl -fsSL https://get.docker.com | sudo sh
Показателем успешного завершения будет, когда в консоли появиться следующий текст, это займет некоторое время, необходимо просто ждать:
Также строка ввода команд снова станет активна и в ней замигает курсор для ввода следующей команды, которая устанавливает непосредственно облачное хранилище, также целиком необходимо скопировать и вставить правым кликом, нажать Enter на клавиатуре :
sudo docker run --sig-proxy=false --name nextcloud-aio-mastercontainer --restart always --publish 80:80 --publish 8080:8080 --publish 8443:8443 --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config --volume /var/run/docker.sock:/var/run/docker.sock:ro nextcloud/all-in-one:latest
Показателем успешного завершения будет, когда в консоли появиться следующий текст:
Если что-то пошло не так, установка не может завершиться, вы ошиблись с какими-то командами и так далее - ничего страшного, через консоль хостинга можно переустановить операционную систему в "чистое" состояние и начать все сначала. Но естественно если вы переустановите операционную систему после установки облака и загрузки данных - вся эта информация будет безвозвратно потеряна.
Теперь мы можем получить доступ непосредственно к web интерфейсу настройки, о чем и видим сообщение выше. Нужно в браузере перейти по адресу, который будет сформирован по образцу «https://internal.ip.of.this.server:8080», где «internal.ip.of.this.server» — это IP адрес VPS. Для моего IP адреса, который я использую в этом примере настройки это будет выглядеть так (обязательно использовать префикс HTTPS):
https://1.1.1.1:8080
Если на странице вы увидите сообщение подобно тому, что ниже, то это нормально, дело в том что сертификат SSL, который используется для защиты страницы является самоподписным. Просто выберите «Дополнительные» и перейдите по ссылке.
После загрузки страницы вам будет показан AIO пароль, состоящий из набора слов. Эти слова необходимо сохранить, они понадобятся в дальнейшем для обслуживания и настройки.
Только после того как вы скопировали и сохранили пароль можно переходить по кнопке "Open Nextcloud AIO login", на следующей странице сразу же попросят этот пароль ввести, чтобы убедиться, что у вас есть к нему доступ. Вводим пароль и логинимся.
На следующей странице нужно ввести тот домен, что мы создали в самом начале у регистратора доменного имени. Для моего тестового облака например это домен демо.облакоэтолегко.рф.
Все почти готово, остались последние настройки, на загрузившейся странице нужно в первую очередь внизу задать временную зону, в моем случае это «Europe/Moscow». Также можно выбрать зону по ссылке под полем для ввода.
Повреждаем кнопкой "Submit".
Выше, в разделе «Optional addons» можно выбрать дополнительные надстройки, которые установятся автоматически:
— антивирус, лично я не использую
— офисный пакет, для онлайн работы, обязательно к установке.
— поиск по тексту, лично я не использую
— аддон для превью файлов различного расширения, себе установил
— Nextcloud Talk, аналог конференций и корпоративного чата, себе установил - используем
Если внесли изменения, то подтверждаем их кнопкой «Save changes» (зеленая галочка). В дальнейшем эти пакеты можно будет добавить или удалить.
Далее нажимаем «Download and start containers» (голубая галочка). В данном случае установщик предлагает установить версию 26, а не 25. На момент прочтения версия может быть уже 27 или даже выше, ставим соответственно самую последнюю.
Серверу понадобиться некоторое время на запуск, текущий статус процесса можно увидеть обновив страницу, нужно дождаться когда все модули будут запущены с зеленой лампочкой.
После запуска всех контейнеров на странице отобразится пароль для первого автоматически созданного пользователя «admin». Пароль также нужно сохранить. Но его всегда можно будет найти на это страничке.
По кнопке «Open your Nextcloud» можно открыть веб версию интерфейса, она уже будет на поддомене который был введен на начальном этапе. И авторизоваться там с логином «admin» и паролем с предыдущей страницы.
Далее открывается непосредственно веб интерфейс облачного хранилища, можно начать пользоваться облаком — создавать пользователей, назначать права им, ставить дополнительные приложения, вести канбан доску и т.д.
Теперь хотел бы рассказать о своем сервере, который мы используем ежедневно вот уже три месяца:
загружено 400 Гб, более 170 тысяч файлов
общий объем хранилища 1 Тб
30 пользователей
3 месяца с начала использования без сбоев
доступ через веб и нативные приложения windows, macos, смартфоны