Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
linux:nextcloud [2022/09/03 15:58] – [En cas d’erreurs] tutospisto | linux:nextcloud [2025/09/07 10:42] (Version actuelle) – [Tuning Nextcloud] tutospisto |
---|
| |
Se rendre sur l’index de Nextcloud et c’est parti pour l’installation ! | Se rendre sur l’index de Nextcloud et c’est parti pour l’installation ! |
| |
| |
| ===== Tuning Nextcloud ===== |
| |
| Après quelques années d'utilisation et quelques app gourmandes (memories + recognize), le serveur saturait la BDD mariaDB de temps en temps. |
| Problème résolu en suivant le premier paragraphe de ceci : |
| https://haefelfinger.ch/posts/2021/2021-03-29-nextcloud-tuning/ |
| et ceci : |
| https://mariadb.com/docs/server/storage-engines/innodb/operations/configure-buffer-pool/#Configure_the_InnoDB_Buffer_Pool_Size_in_a_Configuration_File |
| |
| <del>Pour résumer, on crée un fichier de conf "custom" pour mariaDB et on augmente certaines valeurs : |
| <code bash>nano /etc/mysql/mariadb.conf.d/z-custom-mariadb.cnf</code></del> |
| |
| Le fichier n'étant pas pris en compte, j'ai ajouté dans le fichier 50-server.cnf dans la partie [mysqld] "fine tuning" : |
| |
| <code bash>nano /etc/mysql/mariadb.conf.d/50-server.cnf</code> |
| |
| <code php z-custom-mariadb.cnf> |
| innodb_buffer_pool_size=2G |
| read_rnd_buffer_size=16M |
| sort_buffer_size=16M |
| query_cache_type=ON |
| query_cache_size=24M |
| </code> |
| |
| Puis on redémarre mariaDB pour le prendre en compte : |
| <code bash>sudo systemctl restart mariadb</code> |
| |
| |
| En 09/2025 j'ai aussi appliqué plusieurs conseils trouvés ici : https://help.nextcloud.com/t/lenteur-du-serveur/105129/2 sur les fichiers suivants : |
| * /etc/php/8.2/fpm/php.ini |
| * /etc/php/8.2/fpm/pool.d/www.conf |
| * /etc/php/8.2/fpm/php-fpm.conf |
| * /etc/php/8.2/apache2/php.ini |
| |
===== En cas d’erreurs ===== | ===== En cas d’erreurs ===== |
),</code> | ),</code> |
| |
| Pour lancer des commandes OCC il faut par exemple : |
| <code bash>sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-columns</code> |
| |
| sudo -u www-data php permet de lancer php en tant qu’utilisateur www-data, puis on donne le chemin d’occ et la commande à exécuter. |
| |
| Pour ajouter un cron tous les jours à 18h au lieu des tâches d’arrière plan en AJAX, un petit crontab -e et : |
| <code bash> * */18 * * * sudo -u www-data php -f /var/www/html/nxcloud/cron.php</code> |
| |
| ===== Memcache ===== |
| agi php-redis |
| sudo /etc/init.d/apache2 restart |
| |
| Exemple de fichier config au final avec activation du memcache |
| |
| <code php config_exemple_memcache.php[enable_line_numbers=1, highlight_lines_extra="8,76,79,98", skin=sons-of-obsidian]> |
| <?php |
| $CONFIG = array ( |
| 'instanceid' => 'xxxxxxxxxxxx', |
| 'passwordsalt' => 'xxxxxxxxxxxx', |
| 'secret' => 'xxxxxxxxxxxx', |
| 'trusted_domains' => |
| array ( |
| 0 => '192.168.xxx.xxx', |
| 1 => 'xxxxxxxxxxxx.org', |
| 2 => 'xxxxxxxxxxxx.com', |
| 3 => 'xxxxxxxxxxxx.fr', |
| ), |
| 'datadirectory' => '/var/www/xxxxxxxxxxxx', |
| 'dbtype' => 'mysql', |
| 'version' => '22.2.3.0', |
| 'overwrite.cli.url' => 'https://192.168.xxx.xxx', |
| 'dbname' => 'xxxxxxxx', |
| 'dbhost' => 'localhost', |
| 'dbport' => '', |
| 'dbtableprefix' => 'xxx_', |
| 'mysql.utf8mb4' => true, |
| 'dbuser' => 'xxx_xxxxxx', |
| 'dbpassword' => 'xxxxxxxxxxxx', |
| 'installed' => true, |
| 'maintenance' => false, |
| 'theme' => '', |
| 'loglevel' => 2, |
| 'log_rotate_size' => 10485760, |
| 'updater.release.channel' => 'stable', |
| 'memcache.local' => '\\OC\\Memcache\\Redis', |
| 'memcache.locking' => '\\OC\\Memcache\\Redis', |
| 'memcache.distributed' => '\\OC\\Memcache\\Redis', |
| 'redis' => |
| array ( |
| 'host' => 'localhost', |
| 'port' => 6379, |
| ), |
| 'default_phone_region' => 'FR', |
| 'trashbin_retention_obligation' => '60,180', |
| 'versions_retention_obligation' => 'auto, 366', |
| 'enable_previews' => false, |
| 'preview_max_x' => 400, |
| 'preview_max_y' => 400, |
| 'preview_max_scale_factor' => 1.5, |
| 'enabledPreviewProviders' => |
| array ( |
| ), |
| );</code> |
| |
| |
| ===== Pour un client en ligne de commande ===== |
| |
| <code bash>apt-get install nextcloud-desktop-cmd</code> |
| |
| |
| |
| Sur le rpi-poulailler, le client en ligne de commande est différent : |
| <code bash>sudo owncloudcmd /var/www/html/ https://rpi-poulailler:motdepasse@nxcloud.zapto.org/remote.php/webdav/rpi-poulailler/www && sudo owncloudcmd /home/pi/poulailler/ https://rpi-poulailler:motdepasse@nxcloud.zapto.org/remote.php/webdav/rpi-poulailler/py && sudo owncloudcmd /etc/motion/ https://rpi-poulailler:motdepasse@nxcloud.zapto.org/remote.php/webdav/rpi-poulailler/motion</code> |