Nextcloud — это программа с открытым исходным кодом для синхронизации и обмена файлами, которую можно использовать в качестве замены Google Диска, Яндекс Диска и аналогичных облачных хранилищ. Он написан на PHP и JavaScript и поддерживает MySQL, PostgreSQL, SQLite и Oracle Database.

Установка LAMP

Установите Apache2, MySql и PHP.

apt install apache2 mysql-server php zip unzip libapache2-mod-php php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip php-mysql php-bcmath php-gmp

Настройка MySql

Запустите слудующую команду.

mysql_secure_installation

Создайте базу данных и пользователя MySql

Войдите как пользователь root в консоль MySQL и создайте новую базу данных для Nextcloud.

mysql -u root -p

Создать базу данных.

CREATE DATABASE nextcloud;

Создать пользователся.

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';

Предоставить пользователю права доступа.

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

Применить изменения и выйти.

FLUSH PRIVILEGES;
quit

Скачайте Nextcloud

Загрузите последнюю версию Nextcloud с  официального сайта.

cd /tmp
https://download.nextcloud.com/server/releases/nextcloud-20.0.7.zip
cd /var/www
unzip /tmp/nextcloud-20.0.7.zip
chown -R www-data: /var/www/nextcloud/

Настройка Apache

Создайте файл конфигурации с псевдонимом для директории Nextcloud.

nano /etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

  <IfModule mod_dav.c>
    Dav off
  </IfModule>

</Directory>

Добавить сайт.

a2ensite nextcloud.conf

Включите необходимые модули Apache.

a2enmod rewrite headers env dir mime

Перазапустить Apache.

systemctl reload apache2

Создайте файл конфигурации для доменного имени.

nano /etc/apache2/sites-available/unihost.link.conf
<VirtualHost *:80>
ServerName unihost.com
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud
<directory /var/www/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</directory>
</VirtualHost>

Добавить сайт.

a2ensite unihost.com

Перазапустить Apache.

systemctl reload apache2

Запустите установку Nexctloud

Теперь откройте свой веб-сайт или каталог Nextcloud в соответствии с вашей конфигурацией.

Введите новые учетные данные, чтобы создать учетную запись администратора, введите данные базы данных и нажмите Завершить настройку.

После завершения настройки вы войдете в  панель администратора.

Теперь установите Nextcloud агент на свое устройство (ПК, телефон и т.д), чтобы начать синхронизацию файлов.