В инструкции мы расскажем, что такое Nextcloud, как скачать и установить его на свой сервер с дистрибутивом Ubuntu 22.04. Перед установкой подготовим все необходимые зависимости и конфигурации. А также выпустим бесплатный SSL-сертификат от сервиса Let’s Encrypt.
Что такое Nextcloud
Nextcloud — бесплатная и открытая облачная система для хранения данных и совместной работы. Это альтернатива популярным облачным сервисам вроде Dropbox или Google Drive. Но в отличие от этих сервисов, Nextcloud можно установить на свой сервер. Это означает, что вы будете полностью контролировать свои данные, не передавая их третьим лицам. Пользоваться сервисом можно как через браузер, так и установив клиентское приложение на компьютер (Windows, MacOS, Linux) или телефон (Android, iOS).
Кроме того, Nextcloud поддерживает множество плагинов (приложений) для расширения функционала. Вот несколько примеров:
- Calendar. Позволяет управлять своим расписанием, поддерживает синхронизацию с другими календарями через CalDAV.
- Files. Синхронизация файлов между устройствами, есть поддержка протокола WebDAV.
- Contacts. Управление контактами и адресной книгой с возможностью синхронизации через CardDAV.
- Mail. Интеграция электронной почты с облачным хранилищем.
- Notes. Заметки и списки с возможностью синхронизации на разных устройствах.
- Talk. Чат, аудио и видео звонки между пользователями Nextcloud.
- Tasks. Планировщик задач, интегрированный с календарем и поддерживающий синхронизацию с другими устройствами.
- Document Viewer. Онлайн-редактор документов, позволяющий создавать и редактировать текстовые файлы, таблицы и презентации.
- External storage support. Интеграция и перенос данных из других облачных хранилищ, таких как Google Drive или Dropbox.
- Two-Factor Authentication (2FA). Усиление безопасности аккаунта за счет подключения двухфакторной аутентификации.
- News. RSS-ридер для чтения новостей и блогов.
- Group folders. Создание общих папок и управление доступом к ним для разных групп пользователей.
- Social. Интеграция социальных сетей и обмен подписками на федеративные платформы, такие как Mastodon.
Для начала создадим виртуальную машину, на которой будем устанавливать и настраивать Nextcloud
Подготовка к установке
Для начала создайте виртуальную машину, на которой будем устанавливать и настраивать Nextcloud. Затем, установим необходимые пакеты: веб-сервер Apache, базу данных MariaDB и различные модули для PHP:
sudo apt update sudo apt install apache2 mariadb-server libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip unzip
Сейчас мы установили пакеты для базовой инсталляции Nextcloud. Если вы будете устанавливать дополнительные приложения (аддоны), то для них могут потребоваться дополнительные пакеты. Перед установкой приложений читайте их требования и устанавливайте пакеты при необходимости.
Nextcloud хранит большинство своих настроек в базе данных. Поэтому создадим БД и пользователя, а Nextcloud после первого запуска уже сам создаст нужные ему таблицы, индексы и представления. Чтобы подключиться к нашему локальному серверу, воспользуемся простой консольной утилитой mysql.
sudo mysql
Теперь создадим пользователя и БД. Введите следующие команды, но обязательно поменяйте пароль на более сложный. Также можно указать другое имя пользователя и БД при необходимости.
CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost'; FLUSH PRIVILEGES;
MariaDB настроена, выходим из командной строки SQL:
quit;
Установка и настройка Nextcloud
Теперь мы готовы к установке Nextcloud. Скачиваем самую последнюю версию и распаковываем ее:
wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip
Затем переместим распакованное приложение директорию /var/www:
sudo cp -r nextcloud /var/www
И сменим владельца каталога, чтобы Apache мог корректно обрабатывать все вложенные файлы:
sudo chown -R www-data:www-data /var/www/nextcloud
Настройка веб-сервера Apache
Теперь необходимо настроить Apache. Для начала создадим файл /etc/apache2/sites-available/nextcloud.conf с настройками виртуального хоста.
В качестве доменного имени мы будем использовать cloud.my-domain.com, а вам необходимо указать свой домен:
<VirtualHost *:80> DocumentRoot /var/www/nextcloud/ ServerName cloud.my-domain.com <Directory /var/www/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews <IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost>
Чтобы Apache начал использовать этот файл конфигурации, выполните в shell-консоли команду:
a2ensite nextcloud.conf
Далее активируем несколько модулей Apache, которые необходимы Nextcloud для корректной работы:
a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime
Перезапустим Apache, чтобы применить все выполненные настройки:
service apache2 restart
Получение TLS-сертификата
Nextcloud уже готов к работе, но сейчас сейчас он работает по протоколу HTTP и не шифрует трафик. Чтобы повысить защиту сервера, выпустим и установим бесплатный TLS-сертификат от сервиса Let’s Encrypt. Для начала установим утилиту certbot, которая автоматически выпускает и обновляет TLS-сертификаты.
sudo apt-get install -y certbot
Запросим сертификат с помощью команды (не забудьте в параметре указать свое доменное имя):
sudo certbot --nginx -d chat.my-domain.com
Далее Certbot попросит ввести адрес электронной почты и согласиться с условиями использования. На этот адрес будут приходить письма с информацией об окончании срока сертификата. Сертификаты Let’s Encrypt действуют 90 дней. Чтобы обновить сертификат автоматически, добавьте cron-задание или systemd-таймер, который будет запускать следующую команду:
sudo certbot renew --quiet
Теперь необходимо включить соответствующие модули в Apache, чтобы он начал использовать SSL-сертификаты:
a2enmod ssl a2ensite default-ssl
И еще раз перезапустим Apache, чтобы он применил новые настройки:
service apache2 reload
Инициализация облака Nextcloud и начальный интерфейс
Откроем в браузере страницу https://cloud.my-domain.com и увидим окно первоначальной настройки Nextcloud. Создадим учетную запись администратора, а также укажите название БД, пользователя и пароль, которые мы заводили на этапе настройки MariaDB. При необходимости также можете поменять каталог, где будут размещаться пользовательские данные.
Далее появится окно входа, в котором нужно ввести логин и пароль только что созданного пользователя. После первоначальной настройки мы попадем в основной интерфейс Nextcloud. Тут для примера уже загружено несколько ознакомительных файлов и активированы базовые приложения, вроде синхронизации файлов, просмотра фотографий, ведение заметок и другие.
Nextcloud установлен и готов к работе. Теперь вы можете создавать пользователей, устанавливать дополнительные приложения и кастомизировать Nextcloud различными методами под свои нужны.
Заключение
Мы установили и настроили облако Nextcloud на собственном сервере. Установили все необходимые зависимости, подготовили MariaDB и Apache к установке, защитили сервер бесплатным SSL-сертификат от Let’s Encrypt для шифрования трафика.
Источник: https://telegra.ph/Kak-ustanovit-Nextcloud-na-Ubuntu-2204-07-30