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

Как создать облачное хранилище

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
21 июня 2022 г.
1393
6 минут чтения
Средний рейтинг статьи: 5

New Documentation

Технологией облачных хранилищ уже никого не удивишь. Наверняка вы пользуетесь Яндекс Диском или Google Drive, скидывая туда нужные файлы и делясь ими со знакомыми. Однако мало кто может похвастаться персональным облачным хранилищем. В этой статье расскажем, как создать собственное облачное хранилище на основе NextCloud.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать. 

Как Создать Облачное Хранилище (1)

Что такое облачное хранилище?

Облачное хранилище — это способ хранения информации, при котором данные распределены по разным серверам в сети. Обычно такие сервера предоставляются пользователям в виде услуги со стороны провайдера. При этом клиенту неизвестно внутреннее устройство инфраструктуры. Обработка и хранение данных происходит собственно в «облаке» (англ. cloud), которое для пользователя выглядит как единый сервер. 

Список популярных облачных хранилищ: Облако Mail.Ru, Google Диск, Dropbox, OneDrive, Яндекс.Диск. 

Сервисы облачных хранилищ

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

  • Доступ к данным с любого компьютера и устройства, имеющего выход в Интернет.
  • Резервное копирование данных. Бэкап в облаке делается в пару кликов.
  • Совместная работа с данными. Можно дать доступ к файлам группе людей, при этом файлы не блокируются и не создается дубликатов — каждый видит изменения каждого.
  • Передача медиаконтента. Часто мессенджеры ограничивают размеры передаваемых файлов. При использовании облака достаточно просто скинуть ссылку на определенный файл в хранилище.
  • Обмен данными между приложениями. У крупных провайдеров облачное хранилище является центральным узлом для взаимодействия пользователей и приложений.

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

Зачем создавать личное облако?

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

В таком случае вы можете поднять собственное облачное хранилище с помощью специальной платформы. Существует множество вариантов решений: NextCloud, Seafile, Pydio, OwnCloud и другие. Выбирать можно любое. Все они различаются по функционалу, у некоторых есть платные версии. Будем использовать бесплатный NextCloud.

Установка и настройка NextCloud

NextCloud — это форк проекта OwnCloud с полностью открытой архитектурой, разработанный Фрэнком Карличеком. Платформа позволяет создать контролируемое и надежное облачное хранилище, а также предоставляет дополнительный функционал (например, список контактов, календарь, потоковое мультимедиа, видеозвонки и многое другое).

Итак, чтобы создать облачное хранилище данных, нам понадобится следующее:

  • Собственный сервер или VPS. Арендовать хорошую машину для облака можно здесь.
  • Дистрибутив Linux c настроенным пользователем sudo. Будем использовать Ubuntu 22.04.
  • Доменное имя, указывающее на ваш сервер. Домен нужен, чтобы настроить защищенное TLS/SSL подключение с помощью бесплатного сертификата Let’s Encrypt. Нижеописанные шаги можно проделать и без домена — NextCloud позволяет настроить самоподписанный сертификат. Но тогда браузер будет «ругаться» на подключение.

Устанавливать NextCloud будем с помощью системы развертки и управления пакетами Snap (в Ubuntu доступна по умолчанию). Все зависимости и конфигурации, необходимые для NextCloud (веб-сервер, база данных), будут находиться в самодостаточном snap-пакете.

Установка

Скачиваем и устанавливаем snap-пакет:

sudo snap install nextcloud

Вывод:

nextcloud 24.0.1snap1 from Nextcloud✓ installed

Настройка учетной записи администратора

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

sudo nextcloud.manual-install <login> <password>

Вывод:

Nextcloud was successfully installed

Здесь <login> — логин администратора, <password> — пароль.

Настройка домена

После создания учетки администратора настроим список доверенных доменных имен, по которым можно будет обращаться в облачному хранилищу. По умолчанию разрешен только localhost:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=<доменное имя>

Вывод:

System config value trusted_domains => 1 set to string <доменное имя>

Здесь <доменное имя> — домен, по которому вы хотите обращаться к хранилищу.

Если у вас установлен и настроен фаервол, то не забудьте открыть порты для веб-интерфейса — 80/tcp и 443/tcp. В серверной Ubuntu фаервол по умолчанию отключен, но из соображений безопасности его лучше включить.

Открытие портов с использованием firewalld (подробности работы с firewalld можно узнать в нашей статье):

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload

С использованием ufw:

sudo ufw allow 80,443/tcp

Все, на данном этапе уже можно подключаться и пользоваться cloud storage:

Image1

Видим, что соединение будет проходить по небезопасному протоколу http. Чтобы обеспечить защиту веб-интерфейса, настроим сертификат SSL от Let’s Encrypt. Если у вас нет своего доменного имени, можно настроить самоподписанный сертификат. В этом случае весь веб-трафик будет шифроваться, однако браузер не будет автоматически доверять ему.

Настройка сертификата Let’s Encrypt

Получаем сертификат Let’s Encrypt:

sudo nextcloud.enable-https lets-encrypt

На появившийся вопрос отвечаем yes, вводим адрес электронной почты для восстановления и доменное имя сервера:

Please enter your domain name(s) (space-separated): <доменное имя>

Если все прошло корректно, то вы увидите следующий вывод:

Attempting to obtain certificates... done
Restarting apache... done

Настройка самоподписанного сертификата

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

Сгенерируем сертификат, которым будет пользоваться NextCloud:

sudo nextcloud.enable-https self-signed

Если в выводе будут следующие строки, значит все сконфигурировано корректно:

Generating key and self-signed certificate... done
Restarting apache... done

Теперь можно подключиться к серверу по https:

Image3

Вводим настроенные данные администратора и попадаем в интерфейс, где вы можете управлять файлами.

Image2

Установка и настройка завершена. Теперь вам остается изучить интерфейс.

Заключение

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

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону