Установка Nextcloud Debian 12

Установка Nextcloud
https://dzen.ru/a/ZxakNXAqEDWFmabe
apt update && apt upgrade -y
# ставим PHP 8.2
# добавляем зеркало репозитория deb.sury.org команда одной строкой:
echo " deb http://debian.octopuce.fr/sury-php/ bookworm main" |tee /etc/apt/sources.list.d/surry-mirror.list
#добавляем новый ключ PGP с Яндекс-диска 
https://disk.yandex.ru/d/T4WxBOi65Jav7g
# скопируем и переименуем  в домашнюю папку
mv ~/apt.gpg /etc/apt/trusted.gpg.d/php.gpg
apt install php8.2 -y
# включаем PHP8.2
a2enmod php8.2
# проверяем установленную версию PHP
php -v
# проверяем работоспособность
systemctl status apache2
# для работы Nextcloud также нужно доустановить модули
apt install libapache2-mod-php8.2 php8.2 php8.2-curl php8.2-cli php8.2-mysql php8.2-gd php8.2-common php8.2-xml php8.2-intl php8.2-imagick php8.2-dev php8.2-mbstring php8.2-zip php8.2-soap php8.2-bz2 php8.2-bcmath php8.2-gmp php8.2-apcu -y
# перезагрузим apache
systemctl restart apache2
# ставим MySQL
apt install mariadb-server -y
# выполним скрипт для повышения безопасности только что установленной MySQL:
mysql_secure_installation
# создаем пароль и на все системные вопросы отвечаем утвердительно, кроме первого и второго.
# подключаемся к MySQL:
mysql -u root -p
# создаем базу данных для NextCloud
CREATE DATABASE nextcloud;
# создаем нового пользователя для только что созданной БД
CREATE USER nextcloud_user1@localhost IDENTIFIED BY 'password';
# предоставляем привилегии созданному пользователю для доступа к БД:
GRANT ALL ON nextcloud.* TO nextcloud_user1@localhost;
# перезагружаем таблицы с привилегиями и применяем внесенные изменения, а затем выходим
FLUSH PRIVILEGES;
EXIT;
# скачиваем NextCloud на сервер
cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-30.0.6.zip
# распаковываем архив:
unzip nextcloud-30.0.6.zip
# установим разрешения на папку Nextcloud:
chown -R www-data:www-data /var/www/nextcloud
chmod -R 755 /srv/www/nextcloud
# настройка веб-сервера Apache
# создаём новый файл конфигурации виртуального хоста для Nextcloud
nano /etc/apache2/sites-available/nextcloud.conf
# Внутри созданного файла размещаем следующий конфиг:

<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
ServerName your-domain.com
<Directory /var/www/nextcloud/>
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

#После чего деактивируйте конфигурацию дефолтного сайта Apache:
a2dissite 000-default.conf
# активируем только что созданный виртуальный хост с помощью следующей команды:
a2ensite nextcloud.conf
# включаем модуль mod_rewrite:
a2enmod rewrite
3 последние команды выполнил через webmin - командная оболочка (shell)
systemctl restart apache2
# увеличиваем значение параметра memory_limit в файле php.ini - (на 7 страниц вниз)
nano /etc/php/8.2/apache2/php.ini
# параметр memory_limit меняем на 512M.
# перезапускаем веб-сервер Apache, чтобы все изменения вступили в силу:
systemctl restart apache2
Для входа из интернета прописываем в файле /var/www/nextcloud/config/config.php
0 => '192.168.0.2',
1 => 'I6.54.326.426:8080',
# входим - настраиваем - пользуемся.

Устранение некоторых ошибок в Nextcloud:

1. «PHP OPcache не настроен правильно»  Для обеспечения лучшей производительности рекомендуется задать в файле php.ini следующие параметры настроек:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1

2. Убираем предупреждение о кешировании. 

Не настроен механизм кэширования. Для повышения производительности рекомендуется настроить memcache. За дополнительными сведениями обратитесь к документации.

Поэтому прикручиваем систему кэширования, состоящую из локальной системы кэширования на основе APCu и системы распределённого кеширования Redis.

Ставим APCu

sudo apt install php-apcu -y

В файле php.ini включаем apcu

sudo nano /etc/php/8.2/cli/php.ini

вставив в начало

apc.enable_cli=1

Редактируем файл config/config.php в директории установки Nextсloud

sudo nano /srv/www/nextcloud/config/config.php

и вставляем следующую строку перед закрывающем скобкой «);»

'memcache.local' => '\OC\Memcache\APCu',

Ставим Redis.

sudo apt install redis-server php-redis -y

Проверяем, что он запустился

ps ax | grep redis
root@srvi:/srv/www/nextcloud/config# ps ax | grep redis
729768 ? Ssl 0:00 /usr/bin/redis-server 127.0.0.1:6379
730216 pts/1 S+ 0:00 grep redis

В тот же файл config/config.php

sudo nano /usr/share/nginx/nextcloud/config/config.php

вставьте следующее опять перед закрывающей скобкой « ); »

'memcache.distributed' => '\OC\Memcache\Redis',
'redis' =>
array (
   'host' => '127.0.0.1',
   'port' => 6379,
),
'memcache.locking' => '\OC\Memcache\Redis',

Сохраняем файл. Перезапускаем apache2.

 

Comments powered by CComment