Erreurs aprĂšs installation de nexcloud sur un VPS

Bonjour Guillaume,

J’espùre que tu te portes bien.

Je te partage

:smiling_face_with_three_hearts: # MA Tisane ETILINUX #

Tu l’adopteras avec ta rĂ©alitĂ© et tes configurations

:upside_down_face: DĂ©solĂ© si j’ai pas fait de littĂ©rature par endroit.

Et un vibrant merci à la communauté pour la documentation de Nextcloud qui exceptionnellement bien rédigé et qui donne vraiment des solutions claires et trÚs précises pour ressourdre les bugs.
Et Ă  tous ceux qui ont le sens du partage.
Merci infiniment!

:crazy_face: Bon reflexe :

Lis la documentation de Nextcloud selon la version de ton instance
Lis la documentation de Nextcloud selon la version de ton instance
Lis la documentation de Nextcloud selon la version de ton instance

Fais un backup de fichier de configuration avant de le bidouiller
Vide le cache de ton navigateur
Redémarre ton serveur Nextcloud aprÚs certaines modifications
Sort prendre l’air et soit patient
Et partage tes trouvailles aussi

:face_with_peeking_eye: Disclaimer :
T’es responsable de ton infra et des lignes de commandes que tu gùres

:earth_africa:

Mon instance: All in one (standalone)
Nextcloud Hub 9: (30.0.1);
PHP 8.3.6;
MariaDB 10.11.8;
Apache Server version: Apache/2.4.58 (Ubuntu);
Redis server v=7.0.15
OpenSSL 3.0.13
OS:
Client
EMMABUNTUS 5 : TĂ©lĂ©charger la distribution – EmmabuntĂŒs
Emmabuntus Debian Edition 5 – 64 bits (Debian 12 XFCE/LXQt amd64
et
Server
PRETTY_NAME=“Ubuntu 24.04.1 LTS”
NAME=“Ubuntu”
VERSION_ID=“24.04”
VERSION=“24.04.1 LTS (Noble Numbat)”;

N.B: NO DOCKER

1.Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.

Solution:

cd /etc/apache2
cp apache2.conf apche2.conf.backup
nano apache2.conf

*/

On section – Directory /var/www/ —
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted

Change None par All dans *AlloOverride

Soit:
AllowOverride All

*/
Source:

/*

2.L’option de configuration PHP « output_buffering » doit ĂȘtre dĂ©sactivĂ©e

Solution :
nano /etc/php/8.3/apache2/php.ini

*/

;output_buffering

*/

3.Le serveur n’a pas aucune heure de dĂ©but de fenĂȘtre de maintenance configurĂ©e. Cela signifie que les tĂąches quotidiennes d’arriĂšre-plan, gourmandes en ressources, seront Ă©galement exĂ©cutĂ©es pendant votre pĂ©riode d’utilisation principale. Nous vous recommandons de le configurer Ă  un moment de faible utilisation, afin que les utilisateurs soient moins affectĂ©s par la charge causĂ©e par ces tĂąches lourdes. Pour plus d’information, voir la documentation :arrow_upper_right:.

Solution:

Source:Background jobs — Nextcloud latest Administration Manual latest documentation

nano /var/www/cloud.etilinux.local/config/config.php

/* #Add

‘maintenance_window_start’ => 1,

*/

**4.**Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command occ db:add-missing-indices to add them. Index manquants : “mail_messages_strucanalyz_idx” in table “mail_messages”, “mail_class_creat_idx” in table “mail_classifiers”, “mail_acc_prov_idx” in table “mail_accounts”, “mail_alias_accid_idx” in table “mail_aliases”, “systag_by_objectid” in table “systemtag_object_mapping”, “mail_messages_mb_id_uid_uidx” in table “mail_messages”, “mail_smime_certs_uid_email_idx” in table “mail_smime_certificates”, “mail_trusted_senders_idx” in table “mail_trusted_senders”, “mail_coll_idx” in table “mail_coll_addresses”.
Pour plus d’information, voir la documentation :arrow_upper_right:.

Solution:

cd /var/www/cloud.etilinux.local/

sudo -u www-data php occ db:add-missing-indices

**5.**Le module PHP OPcache n’est pas correctement configurĂ©. Le tampon mĂ©moire des chaĂźnes internes OPcache est presque plein. Pour vous assurer que les chaĂźnes rĂ©pĂ©titives peuvent ĂȘtre mise en cache, il est recommandĂ© de dĂ©finir la variable « opcache.interned_strings_buffer » de votre fichier de configuration PHP Ă  une valeur supĂ©rieure Ă  « 8 »  Pour plus d’information, voir la documentation :arrow_upper_right:.

Solution:

nano /etc/php8.3/apache2/php.ini

/*

opcache.interned_strings_buffer=20

*/
1.Server tuning — Nextcloud latest Administration Manual latest documentation

nano /var/www/cloud.etilinux.local/config/config.php

/*

opcache.revalidate_freq = 60
opcache.validate_timestamps = 0

*/

**5.1.**Aucun cache mĂ©moire n’a Ă©tĂ© configurĂ©. Pour amĂ©liorer les performances, veuillez configurer un memcache, si disponible. Pour plus d’information, voir la documentation :arrow_upper_right:.

Solution

nano /var/www/cloud.etilinux.local/config/config.php
#Add
/*
‘memcache.local’ => ‘\OC\Memcache\APCu’,
*/

6.Vous n’avez pas encore paramĂ©trĂ© ou vĂ©rifiĂ© la configuration de votre serveur mail. Merci de le faire sur la page « ParamĂštres de base ». Ensuite, utilisez le bouton « Envoyer un e-mail » sous le formulaire pour vĂ©rifier vos paramĂštres. Pour plus d’information, voir la documentation :arrow_upper_right:.
(Non bloquant)

Merci de consulter les guides d’installation :arrow_upper_right: et de vĂ©rifier les erreurs ou avertissements des journaux.
(a ne pas négliger)

Vérifiez la sécurité de votre Nextcloud grùce à notre scan de sécurité :arrow_upper_right:. (super interessant)

7. One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command occ maintenance:repair --include-expensive to perform the migrations.

Solution:

cd /var/www/cloud.etilinux.local/
sudo -u www-data php occ maintenance:repair --include-expensive

8.Le module php-imagick n’a aucun support SVG dans cette instance. Pour une meilleure compatibilitĂ©, il est recommandĂ© de l’installer.

Solution:

1.How to enable SVG for php-imagick

apt update && apt-get install libmagickcore-6.q16-6-extra

Source: How to enable SVG for php-imagick

9. Configuration was not read or initialized correctly, not overwriting /var/www/cloud.etilinux.local/config/config.php

Solution:

chown -R www-data:www-data /var/www/cloud.etilinux.local/config

Source: installer could not read or write "/var/www/nextcloud/config/config.php.orig" · Issue #12549 · nextcloud/server · GitHub

10. Votre serveur web n’est pas proprement configurĂ© pour rĂ©soudre “/ocm-provider/”. Ceci est probablement liĂ© Ă  une configuration du serveur web qui n’a pas Ă©tĂ© mise Ă  jour pour dĂ©livrer directement ce dossier.
Veuillez comparer votre configuration avec les rĂšgles rĂ©-Ă©crites dans “.htaccess” pour Apache ou celles contenues dans la documentation de Nginx ici documentation page :arrow_upper_right:.

Solution:

sudo apachectl configtest

sudo systemctl restart apache2

sudo nano /var/www/html/cloud.etilinux.local/.htaccess
ou
sudo nano /var/www/cloud.etilinux.local/.htaccess

/*

RewriteRule ^ocm-provider/?$ index.php [QSA,L]

*/

Pour Nginx les lignes nĂ©cessitant une mise Ă  jour sont typiquement celles dĂ©butant par “location ~”.

11. .L’en-tĂȘte HTTP “Strict-Transport-Security” n’est pas configurĂ© Ă  au moins “15552000” secondes. Pour une sĂ©curitĂ© renforcĂ©e, il est recommandĂ© d’activer HSTS comme indiquĂ© dans les Ă©lĂ©ments de sĂ©curitĂ© :arrow_upper_right:.

Solution:

1.Enabling Strict Transport Security

1.1.Edit the SSL config file for our Nextcloud installation:

sudo nano /etc/apache2/sites-available/cloud.etilinux.local.conf

1.2.Add the following line after the line: ServerName

<VirtualHost *:443>
ServerName cloud.etilinux.local
#+ADD

Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains”

DocumentRoot /var/www/cloud.etilinux.local

SSLEngine on
SSLCertificateFile /root/certs/cloud.etilinux.local.test.crt
SSLCertificateKeyFile /root/certs/cloud.etilinux.local.test.key

Source: Hardening and security guidance — Nextcloud latest Administration Manual latest documentation

12. La base de donnĂ©es est actuellement utilisĂ©e pour les verrous. Afin d’amĂ©liorer les performances, veuillez si possible configurer un cache mĂ©moire. Consulter la documentation :arrow_upper_right: pour plus d’informations.

Solution :

apt update && apt install -y redis-server

2.1.
cp /etc/redis/redis.conf /etc/redis/redis.conf.backup
sed -i ‘s/port 6379/port 0/’ /etc/redis/redis.conf
sed -i s/#\ unixsocket/\unixsocket/g /etc/redis/redis.conf
sed -i ‘s/unixsocketperm 700/unixsocketperm 770/’ /etc/redis/redis.conf
sed -i ‘s/# maxclients 10000/maxclients 10240/’ /etc/redis/redis.conf
sed -i ‘s/# requirepass foobared/requirepass Veuillez modifier/’ /etc/redis/redis.conf
usermod -aG redis www-data
cp /etc/sysctl.conf /etc/sysctl.conf.backup
sed -i ‘$avm.overcommit_memory = 1’ /etc/sysctl.conf

2.2.
nano /var/www/cloud.etilinux.local/config/config.php

#Add
‘redis’ =>
array (
‘host’ => ‘/var/run/redis/redis.sock’,
‘port’ => 0,
‘timeout’ => 0.0,
),

Source:
Complementaire : Asustor - Erreur Nextcloud (suite Ă  mise Ă  jour ADM ?) | Forum des NAS : Synology, Qnap, Asustor...

2.3. service redis-server restart

**13.1.**Pas de mémoire cache configurée. Pour améliorer les performances, merci de configurer un memcache, si disponible. Des informations sont disponibles dans la documentation :arrow_upper_right:.

**13.2.**Le module PHP OPcache n’est pas correctement configurĂ©. Veuillez regarder la documentation :arrow_upper_right: pour plus d’informations.

13.3. Le tampon mĂ©moire des chaĂźnes internes OPcache est presque plein. Pour vous assurer que les chaĂźnes rĂ©pĂ©titives peuvent ĂȘtre mise en cache, il est recommandĂ© de dĂ©finir la variable opcache.interned_strings_buffer de votre fichier de configuration PHP Ă  une valeur supĂ©rieure Ă  8.

  • Solution : Activation du caching

apt-get install php-apcu php-redis -y
apt install redis

2.1.

cp /etc/redis/redis.conf /etc/redis/redis.conf.backup

nano /etc/redis/redis.conf

/*
Puis repĂ©rer la directive port et remplacer port 6379 par port 0. En changeant le port, Redis ne sera pas Ă  l’écoute sur un port TCP.

port 0

Puis, décommenter les paramÚtres suivants :

unixsocket /var/run/redis/redis.sock
unixsocketperm 770 (remplacer 700 par 770)

*/

2.2.nano /var/www/cloud.etilinux.local/config/config.php

#Add
‘redis’ =>
array (
‘host’ => ‘/var/run/redis/redis.sock’,
‘port’ => 0,
‘timeout’ => 0.0,
),

Rajouter l’utilisateur redis au groupe d’Apache avec la commande :

usermod -a -G redis www-data

Redémarrez le service Apache de votre serveur, puis démarrer le service Redis.

sudo apachectl configtest
service apache2 restart
service redis-server restart

  1. Cas ou une erreur apparait chez redis

service redis-server stop
cd /etc/redis
rm -Rf redis.conf
mv redis.conf.backup redis.conf
cp redis.conf redis.conf.bak
service redis-server start

**14.**Configuration was not read or initialized correctly, not overwriting /var/www/cloud.etilinux.local/config/config.php

Solution:

chown -R www-data:www-data /var/www/cloud.etilinux.local/config

Source: installer could not read or write "/var/www/nextcloud/config/config.php.orig" · Issue #12549 · nextcloud/server · GitHub

Complementaire : Asustor - Erreur Nextcloud (suite Ă  mise Ă  jour ADM ?) | Forum des NAS : Synology, Qnap, Asustor...

15. La derniĂšre tĂąche de fond a Ă©tĂ© exĂ©cutĂ©e Il y a 2 heures. Quelque chose s’est mal passĂ©. VĂ©rifier le rĂ©glage des tĂąches de fond :arrow_upper_right:.

La derniÚre exécution de la tùche a duré il y a 2 heures. Quelque chose semble dysfonctionner.

Solution:

  1. CrĂ©ez un fichier CRONTAB pour l’utilisateur www-data depuis le terminal avec la commande

crontab -u www-data -e

1./bin/nano

  1. Ajouter une tĂąche qui va se lancer toutes les 5 minutes (attention Ă  adapter le chemin pour localiser le fichier cron.php en fonction de votre installation)

*/5 * * * * php -f /var/www/cloud.etilinux.local/cron.php

  1. Redémarrez le service cron pour appliquer les changements

service cron restart

  1. Visualiser les tñches CRON pour l’utilisateur www-data

crontab -u www-data -l

5.N.B:

Si votre serveur Nextcloud est beaucoup sollicité, il est important de mettre en place un cron qui va permettre de lancer les tùches de maintenance à intervalles réguliers.

Dans ParamĂštres > Administration > ParamĂštres de base,

sĂ©lectionnez l’option Cron pour les tĂąches de fond.

Source:

https://www.malekal.com/crontab-cron-linux-utilisations-exemples/

16.
16.1.Votre serveur web nest pas configurĂ© correctement pour rĂ©soudre “/.well-known/webfinger”. Plus d’informations peuvent ĂȘtre trouvĂ©es sur notre documentation.
16.2.Votre serveur web nest pas configurĂ© correctement pour rĂ©soudre “/.well-known/nodeinfo”. Plus d’informations peuvent ĂȘtre trouvĂ©es sur notre documentation.
16.3.Votre serveur web nest pas configurĂ© correctement pour rĂ©soudre “/.well-known/caldav”. Plus d’informations peuvent ĂȘtre trouvĂ©es sur notre documentation.
16.4.Votre serveur web nest pas configurĂ© correctement pour rĂ©soudre “/.well-known/carddav”. Plus d’informations peuvent ĂȘtre trouvĂ©es sur notre documentation.
(Ignoré:)

Bonne dégustation surtout.