Страница 1 из 1

nextcloud

Добавлено: 24 мар 2025, 15:04
ya
Релиз:
https://download.nextcloud.com/server/releases/

https://download.nextcloud.com/server/releases/nextcloud-31.0.2.zip

Код: Выделить всё

sudo apt install apache2 php libapache2-mod-php php-mysql default-mysql-server default-mysql-client php-gd php-json php-mbstring php-curl php-xml php-zip php-bcmath php-intl

Код: Выделить всё

unzip nextcloud-31.0.2.zip
/etc/apache2/sites-available/nextcloud.conf

Код: Выделить всё

<VirtualHost *:80>
    DocumentRoot /var/www/html/nextcloud
    ServerName your_domain_or_IP

    <Directory /var/www/html/nextcloud>
        Options MultiViews Indexes FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

Код: Выделить всё

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite dir mime env headers
sudo systemctl restart apache2
для devuan:

Код: Выделить всё

sudo sv force-reload apache2
добавление www-data в группу gt

Код: Выделить всё

sudo usermod -aG gt www-data
Разбор команды:
sudo — команда, которая позволяет выполнять команды от имени superuser.
usermod — команда для изменения параметров существующего пользователя.
-a — добавляет пользователя в указанную группу, без удаления его из других групп.
-G — указывает на группу, в которую вы хотите добавить пользователя.
gt — имя группы, в которую вы хотите добавить пользователя www-data.
www-data — имя пользователя, которого вы добавляете в группу.

Чтобы убедиться, что www-data был успешно добавлен в группу gt, можно выполнить следующую команду:

Код: Выделить всё

groups www-data
Каталоги для записи:

Каталог конфигурации:
/var/www/html/nextcloud/config
Каталог данных:
/var/www/html/nextcloud/data
Каталог приложения
apps

sudo mysql -u root -p

Код: Выделить всё

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
/etc/php/8.2/apache2/php.ini

Код: Выделить всё

memory_limit = 512M
upload_max_filesize = 512M
post_max_size = 512M
Установка индексов:

Код: Выделить всё

sudo find / -name occ 2>/dev/null
cd /var/www/nextcloud
sudo -u www-data php occ db:add-missing-indices
Проверка правильности установки индексов:

Код: Выделить всё

sudo -u www-data php occ db:check
команда для проверки целостности данных:

Код: Выделить всё

sudo -u www-data php occ integrity:check-core
команду для проверки ожидаемой схемы базы данных:

Код: Выделить всё

sudo -u www-data php occ db:schema:expected
Вы также можете выполнять другие команды для управления базой данных, такие как:

db:add-missing-columns — добавляет отсутствующие столбцы.
db:add-missing-primary-keys — добавляет отсутствующие первичные ключи.

Доступна одна или несколько миграций миметипов. Время от времени добавляются новые типы mimetypes для лучшей обработки определенных типов файлов. Миграция миметипов занимает много времени на больших экземплярах, поэтому она не выполняется автоматически во время обновлений. Для выполнения миграции используйте команду `occ maintenance:repair --include-expensive`.

Код: Выделить всё

sudo -u www-data php occ maintenance:repair --include-expensive
Важные заметки

Резервное копирование данных: Перед выполнением задач обслуживания, особенно в производственных средах, всегда полезно создавать резервные копии базы данных и файлов.

Производительность: Имейте в виду, что эта операция может занять некоторое время, в зависимости от количества файлов и размера вашего экземпляра.

Проверка завершения: После завершения команды вы должны увидеть вывод, указывающий на успешность миграции и возникновение каких-либо проблем.

Дополнительные команды обслуживания
Если вам интересно, есть и другие полезные команды, которые можно запустить для обслуживания:

occ maintenance:mode --on и occ maintenance:mode --off для включения или отключения режима обслуживания.
occ db:convert-mysql-charset, если вам нужно изменить набор символов.
occ integrity:check-core для обеспечения целостности ядра.
Если вы столкнулись с какими-либо ошибками при выполнении миграции или вам нужна дополнительная помощь, не стесняйтесь спрашивать!

OPcache — это кэширование, встроенное в PHP, которое улучшает производительность, храня временные результаты выполнения скриптов PHP в памяти, что позволяет избежать их повторной компиляции.

Изменение конфигурации OPcache

Код: Выделить всё

sudo apt install php-fpm
sudo mcedit /etc/php/8.2/fpm/php.ini

Код: Выделить всё

opcache.interned_strings_buffer=16
opcache.revalidate_freq = 60
opcache.validate_timestamps = 0
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo sv force-reload apache2

Memcached

Код: Выделить всё

sudo apt install memcached libmemcached-tools 
Проверьте, работает ли Memcached, выполнив следующую команду:

Код: Выделить всё

echo "stats" | nc localhost 11211
Настройка PHP для использования Memcached

Код: Выделить всё

sudo apt install php8.x-memcached

Re: nextcloud

Добавлено: 29 мар 2025, 10:50
ya
в nextcloud отключить редирект при авторизации с https на http

config/config.php

Код: Выделить всё

'overwriteprotocol' => 'https',
Для apache2 закомментировать:
/etc/apache2/sites-available/your-site.conf или /etc/httpd/conf.d/your-site.conf

Код: Выделить всё

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Для Nginx: закомментировать
/etc/nginx/sites-available/your-site или /etc/nginx/conf.d/your-site.conf

Код: Выделить всё

server {
    listen 80;
    server_name your-domain.com;
    
    return 301 https://$host$request_uri; # закомментируйте или удалите
}
Поменять владельца каталога apps на www-data:www-data

Код: Выделить всё

sudo chown www-data:www-data -R nextcloud/apps
отключить проверку браузера:
config/config.php

Код: Выделить всё

'disable_browser_check' => true,
значение 1 будет запускать эти фоновые задания только между 01:00 утра и 05:00 утра по UTC:
config/config.php

Код: Выделить всё

'maintenance_window_start' => 1,
Отключить режим отладки

Код: Выделить всё

'debug' = > false

Re: nextcloud

Добавлено: 29 мар 2025, 12:46
ya
Включить HTTP Strict Transport Security

/etc/apache2/sites-available/nextcloud.conf

Код: Выделить всё

<IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
sv force-reload apache2

Код: Выделить всё

sudo apt install php-redis

Код: Выделить всё

a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
sudo sv restart apache2
Включаем memcache:

Код: Выделить всё

apt install php-apcu php-memcache php-redis redis
config/config.php

Код: Выделить всё

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
     'host' => 'localhost',
     'port' => 6379,
],

Re: nextcloud

Добавлено: 29 мар 2025, 21:35
ya