Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.
7.1. Установка СУБД MariaDB
Устанавливаем MariaDB, добавляем в автозапуск и включаем:
sudo apt install -y mariadb-server mariadb-client
sudo systemctl enable mariadb
sudo systemctl start mariadb
Запускаем утилиту, чтобы задать пароль для суперпользователя MariaDB:
sudo mysqladmin -u root password
Подключаемся к MariaDB:
sudo mysql -uroot -p
создаем базу данных:
CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
создаем пользователя:
GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY 'nextcloud';
Отключаемся от MariaDB:
\q
7.2. Установка Nextcloud
Скачиваем исходник для установки с последней версией портала и распаковываем скачанный архив:
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
Переносим содержимое архива в каталог /var/www и делаем его владельцем web-сервер :
sudo mv nextcloud /var/www
sudo chown -R www-data:www-data /var/www/nextcloud
7.3. Создание файла конфигурации виртуального хоста
Напоминаю, что домен 475cloud.ru - это мой тестовый домен. Везде где в именах файлов вы его видите - меняйте на свое доменное имя.
Создаем файл конфигурации nc.475cloud.conf:
nano /etc/apache2/sites-available/nc.475cloud.conf
Добавляем в него:
<VirtualHost *:80>
ServerName nc.475cloud.ru
ServerAlias www.nc.475cloud.ru
DocumentRoot /var/www/nextcloud
</VirtualHost>
<VirtualHost *:443>
ServerName nc.475cloud.ru
ServerAlias www.nc.475cloud.ru
DocumentRoot /var/www/nextcloud
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
</IfModule>
<Directory /var/www/nextcloud>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
И сохраняем (Ctrl +O).
Включаем сайт (в /etc/apache2/sites-enabled создается ссылка на файл конфигурации виртуального хоста):
sudo a2ensite nc.475cloud.conf
Перезапускаем Apache:
sudo systemctl restart apache2
Если после перезапуска Apache выводится сообщение об ошибке 4.3 части 4 этой серии статей.
7.4. Установка сертификата Let’s Encrypt
Устанавливаем SSL-сертификат:
sudo certbot --apache -d nc.475cloud.ru -d www.nc.475cloud.ru
Перезапускаем Apache:
sudo systemctl restart apache2
После перезапуска Apache можно получить доступ к Nextcloud, используя web-адрес:
- На открывшейся странице указываем:
- Логин администратора – задаем имя
- Пароль администратора – придумываем пароль
- Имя базы данных — nextcloud
- Пароль базы данных — nextcloud
- Логин пользователя БД — nextcloud
После завершения установки заходим в параметры сервера:
И видим ошибки, которые предстоит исправить:
7.5. Изменение объема доступной памяти
Открываем и настраиваем php.ini:
nano /etc/php/8.3/fpm/php.ini
Находим строки и приводим их в такой вид:
opcache.enable_cli=1
opcache.interned_strings_buffer=32
opcache.revalidate_freq=1
memory_limit = 512M
Для поиска нужных строк используем Ctrl+w.
И сохраняем (Ctrl +O).
Перезапускаем Apache и php8.3-fpm:
sudo systemctl restart apache2 php8.3-fpm
7.6. Настройка кэширования памяти:
Устанавливаем memcached и php-apcu:
sudo apt install -y memcached php-memcached php-apcu
Разрешаем автозапуск и запускаем:
sudo systemctl enable memcached
sudo systemctl start memcached
Перезапускаем Apache:
sudo systemctl restart apache2
Открываем конфигурационный файл nextcloud:
nano /var/www/nextcloud/config/config.php
В самый конец файла, перед «);», добавляем:
'filelocking.enabled' => true,
'memcache.locking' => '\\OC\\Memcache\\Memcached',
'memcache.local' => '\OC\Memcache\Memcached',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => [
[ '127.0.0.1', 11211 ],
],
'maintenance_window_start' => 4,
И сохраняем (Ctrl +O).
7.7. Настраиваем выполнение фоновых заданий
Создаем новое задание от пользователя www-data
crontab -e -u www-data
В открывшемся редакторе текста, внизу добавляем
* * * * * /usr/bin/php /var/www/nextcloud/cron.php
И сохраняем (Ctrl +O).
Перезапускаем сервер:
reboot
При подключении к Nextcloud, возможно, появится ошибка:
В этом случае нужно открыть конфигурационный файл nextcloud:
nano /var/www/nextcloud/config/config.php
И в директиву 'trusted_domains' добавляете URL и/или IP-адрес, по которому вы заходите. Должно выглядеть как-то так:
'trusted_domains' =>
array (
0 => 'nc.475cloud.ru',
1 => '192.168.2.11',
),
Установка завершена!
Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.