Transférer les fichiers d’install par FTP, puis les mettre dans /var/www/html/nextcloud Affecter à www-data : chown -R www-data:www-data /var/www/html/nextcloud/ Installer le module PHP cURL : agi curl php-curl Relancer apache : service apache2 restart 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 Pour résumer, on crée un fichier de conf "custom" pour mariaDB et on augmente certaines valeurs : nano /etc/mysql/mariadb.conf.d/z-custom-mariadb.cnf Le fichier n'étant pas pris en compte, j'ai ajouté dans le fichier 50-server.cnf dans la partie [mysqld] "fine tuning" : nano /etc/mysql/mariadb.conf.d/50-server.cnf innodb_buffer_pool_size=2G read_rnd_buffer_size=16M sort_buffer_size=16M query_cache_type=ON query_cache_size=24M Puis on redémarre mariaDB pour le prendre en compte : sudo systemctl restart mariadb ===== En cas d’erreurs ===== Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1044] Access denied for user ‘oc_TONUSER’@’localhost’ to database ‘TABDD’ Il faut que l’utilisateur créé pour la base de données MySQL aie tous les droits (même GRANT) comme indiqué ici : https://help.nextcloud.com/t/error-creating-admin-user/23943 et donc ici : https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7 ==== En cas de multiples erreurs ==== Error PHP You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18 agi php-intl service apache2 restart Enfin en cas d’erreur « Accès depuis un domaine non fiable », se rendre sur le serveur et ajouter le DNS : nano /var/www/nextcloud/config/config.php AVANT : 'trusted_domains' => array ( 0 => '192.168.0.29', ), APRES : 'trusted_domains' => array ( 0 => '192.168.0.29', 1 => 'cloud.example.com', ), Pour lancer des commandes OCC il faut par exemple : sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-columns 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 : * */18 * * * sudo -u www-data php -f /var/www/html/nxcloud/cron.php ===== Memcache ===== agi php-redis sudo /etc/init.d/apache2 restart Exemple de fichier config au final avec activation du memcache '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 ( ), ); ===== Pour un client en ligne de commande ===== apt-get install nextcloud-desktop-cmd Sur le rpi-poulailler, le client en ligne de commande est différent : 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