VPN без ограничения скорости для Android, iOS, Windows, macOSПодробнее

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

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

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

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

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

Облачное хранилище — это способ хранения информации, при котором данные распределены по разным серверам в сети. Обычно такие сервера предоставляются пользователям в виде услуги со стороны провайдера. При этом клиенту неизвестно внутреннее устройство инфраструктуры. Обработка и хранение данных происходит собственно в «облаке» (англ. 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

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

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.

Telegram
VK
Скопировать ссылку
Развертывание приложений Python с помощью Gunicorn
Развертывание приложений Python с помощью Gunicorn
Копирование файлов по SSH
Копирование файлов по SSH

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

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