Не так давно иметь собственное частное облако казалось практически невозможным. Что ж, сегодня это уже не невозможно благодаря таким решениям, как Nextcloud. Звучит интересно? В этом посте вы узнаете, как установить Nextcloud на Ubuntu 22.04.

Введение

Nextcloud — это ответвление очень популярного программного обеспечения под названием Owncloud. Итак, это веб-приложение, которое позволяет нам размещать файлы в облаке и, кроме того, позволяет нам просматривать их непосредственно с веб-сайта или приложений, делиться ими.

Некоторые особенности Nextcloud:

  • Хранение любого типа файлов. Поскольку облако принадлежит вам, вы сами выбираете файлы для хранения.
  • Автоматическая синхронизация.
  • Кроссплатформенные клиенты, которые можно установить практически на любую систему.
  • Безопасный. Nextcloud соответствует всем основным стандартам безопасности.
  • Простой в использовании веб-интерфейс.

Nextcloud используется всеми типами пользователей из-за его универсальности и совместимости со многими плагинами.

Установите Nextcloud на Ubuntu 22.04

Первое, что вам нужно сделать, это установить стек LAMP на Ubuntu 22.04, так как в этом руководстве я буду использовать Apache и MariaDB.

Чтобы установить Apache, PHP и его необходимые модули, а также MariaDB, вам нужно будет выполнить эту команду:

sudo apt install apache2 libapache2-mod-php php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath mariadb-server

Когда весь процесс будет завершен, убедитесь, что в брандмауэре у вас открыты порты 80 и 443.

sudo ufw allow 80
sudo ufw allow 443

Теперь вам нужно настроить MariaDB, установив пароль root. Для этого введите команду:

sudo mysql_secure_installation

Как только вы запустите его, вам будет предложено войти в систему, нажав Enter. Затем вы сможете изменить пароль root и, наконец, ответить на следующие вопросы конфигурации.

Remove anonymous users [Y/n]
Disallow root login remotely [Y/n] 
Remove test database and access to it [Y/n]
Reload privilege tables now [Y/n] 

Оптимальной конфигурацией было бы ответить Y на все эти вопросы.

После того, как вы закончили работу с MariaDB, пришло время настроить PHP.

sudo nano /etc/php/8.1/apache2/php.ini

И благодаря редактору изменить эти значения

date.timezone = [your-timezone].
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300

Вы можете увеличить эти значения в зависимости от мощности вашего сервера.

Сохраните изменения и закройте редактор. Затем примените изменения.

sudo systemctl restart apache2

Создайте новую базу данных на MariaDB для Nextcloud

Следующим шагом будет создание новой базы данных и пользователя для Nextcloud.

Итак, заходим в консоль MariaDB:

sudo mysql -u root -p

Теперь создайте новую базу данных:

CREATE DATABASE nextcloud_db;

Вы также можете присвоить ему другое имя.

Создайте нового пользователя, чтобы избежать работы с пользователем root.

CREATE USER 'nextcloud'@'localhost' identified by 'pass';

Конечно, вы можете изменить имя пользователя и значение пароля.

Установите соответствующие разрешения для новой базы данных для пользователя.

GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud'@'localhost'; 

Обновите разрешения и выйдите из консоли.

FLUSH PRIVILEGES;
quit;

Скачайте и установите Nextcloud

Сначала установите пакеты unzip и wget, чтобы иметь возможность загружать и распаковывать Nextcloud.

sudo apt install wget unzip

Теперь выполните загрузку:

cd /tmp/
wget https://download.nextcloud.com/server/releases/latest.zip

Теперь разархивируйте загруженный файл:

unzip latest.zip

Переместите его в папку /var/www/html/, которая является путем по умолчанию для Apache DocumentRoot.

sudo mv nextcloud/ /var/www/html/

Сделайте пользователя www:data владельцем папки и установите соответствующие разрешения.

sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud

Создайте новую конфигурацию VirtualHost для Nextlcoud.

sudo nano /etc/apache2/conf-enabled/nextcloud.conf

И добавьте следующий контент:

<VirtualHost *:80>
     ServerAdmin admin@myWebsite.com
     DocumentRoot /var/www/html/nextcloud
     ServerName myWebsite.com
     ServerAlias www.myWebsite.com
     ErrorLog /var/log/apache2/nextcloud-error.log
     CustomLog /var/log/apache2/nextcloud-access.log combined

    <Directory /var/www/html/nextcloud/>
    Options +FollowSymlinks
    AllowOverride All
        Require all granted
     SetEnv HOME /var/www/html/nextcloud
     SetEnv HTTP_HOME /var/www/html/nextcloud
     <IfModule mod_dav.c>
        Dav off
        </IfModule>
    </Directory>
</VirtualHost>

В этом сегменте самое главное изменить значения ServerName, ServerAdmin и ServerAlias ​​на соответствующие. В данном случае я имею в виду домен и электронную почту.

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

sudo a2enmod rewrite dir mime env headers
sudo systemctl restart apache2

Установить Nextcloud

Теперь вы можете открыть веб-браузер и войти в систему через http://myWebsite.com

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

Затем вам будут показаны некоторые рекомендуемые приложения, а затем экран входа в систему.

После входа в систему вы увидите экран приветствия.

Заключение

Nextcloud — это приложение, которое позволяет вам достичь того, что раньше было столь же сложным, как частное облако.

Надеюсь, вам понравился этот пост и вы поможете нам распространить эту статью среди ваших друзей.