Configuration de Nextcloud sur Ouvaton (hébergement mutualisé) - Bonus : Français par défaut et économe en espace disque

Configuration de Nextcloud chez Ouvaton :


:ballot_box_with_check: Fichier /httpdocs/.htaccess (à la racine), ajout des lignes suivantes :

Cliquer pour agrandir et afficher
RewriteEngine On

# Redirection vers HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirection de www.cloud.*votresiteinternet.com* vers cloud.*votresiteinternet.com*
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]

[…] Et ajouter en dessous de la ligne « Header always set Referrer-Policy "no-referrer" »

Header always set Strict-Transport-Security "max-age=15768000"

:ballot_box_with_check: Fichier /httpdocs/config/config.php, ajout des lignes suivantes :

Cliquer pour agrandir et afficher
  'trusted_proxies' => 
  array (
    0 => '10.0.20.16',
  ),
  'forwarded_for_headers' => 
  array (
    0 => 'HTTP_X_FORWARDED_FOR',
  ),

[…]

  'tempdirectory' => '/var/www/vhosts/*votresiteinternet.com*/httpdocs/data/tmp',
  'defaultapp' => 'calendar',
  'default_language' => 'fr',
  'default_locale' => 'fr_FR',
  'default_phone_region' => 'FR',
  'enable_previews' => true,
  'memcache.local' => '\\OC\\Memcache\\ArrayCache',
  'trashbin_retention_obligation' => 'auto, 7',
  'versions_retention_obligation' => 'auto, 7',

Attention de bien respecter la casse (minuscules et majuscules) pour les fr et FR, autrement ça ne fonctionne pas !

Dans ces lignes (ci-dessus) j’ai configuré l’ouverture de Nextcloud sur l’agenda car autrefois le tableau de bord provoquait des erreurs, et limité la rétention des fichiers dans les corbeilles et le stockage des versions des fichiers à 7 jours pour réduire l’utilisation de l’espace disque utilisé par Nextcloud.


:gear: Désactiver les espaces de travail riches qui créent des fichiers en erreur de synchronisation (readme.md) :

Cliquer pour agrandir et afficher
  • Se connecter à la Base De Données SQL de Nextcloud via phpmyadmin (ou équivalent).

  • Sélectionner la BDD dans la colonne de gauche

  • Cliquer sur l’onglet SQL dans la partie supérieure du cadre principal

  • Copier et exécuter la requête suivante :

INSERT INTO `oc_appconfig` (`appid`, `configkey`, `configvalue`) VALUES ('text', 'workspace_available', '0');

Pour annuler et remettre le paramètre par défaut :

  • Se connecter à la Base De Données SQL de Nextcloud via phpmyadmin (ou équivalent).

  • Sélectionner la BDD dans la colonne de gauche

  • Cliquer sur l’onglet SQL dans la partie supérieure du cadre principal

  • Copier et exécuter la requête suivante :

INSERT INTO `oc_appconfig` (`appid`, `configkey`, `configvalue`) VALUES ('text', 'workspace_available', '1');

:gear: Installer et configurer Nextcloud Office - Collabora Online

Cliquer pour agrandir et afficher

1. Acquérir au moins 1 part sociale chez Ouvaton :+1:

2. Demander l’enregistrement de votre site pour avoir accès au programme

3. Sur votre instance de Nextcloud

  • A. Allez dans « Applications »

  • Installer et activer « Nextcloud Office »

  • B. Allez dans « Paramètres » puis dans le menu de gauche « Administration > Office »

  • Cocher « Utiliser votre propre serveur »

  • Sous « URL (et port) su serveur Collabora Online » renseigner l’adresse : https://collabora.ouvaton.coop/

  • Cliquer sur « Save »


:arrows_counterclockwise: Mise à jour de Nextcloud hébergé sur Ouvaton avec le Web Updater :

Cliquer pour agrandir et afficher

:warning: Personnellement je ne fais quasiment jamais de mise à jour le jour de sa sortie car c’est le moment critique quand on peut rencontrer des bugs à grande échelle. Je préfère attendre quelques jours avant, et voir si une autre mise à jour arrive en urgence pour la corriger. :wink:

Calendrier de maintenance et de publication des mises à jour programmées, à ajouter en marque-page pour anticiper :
Maintenance and Release Schedule · nextcloud/server Wiki · GitHub

:warning: Il peut arriver parfois que votre instance de Nextcloud ne détecte pas une mise à jour pourtant distribuée avec le message : Votre version est à jour.

J’administre et j’entretiens 3 instances de Nextcloud et le phénomène se produit de manière aléatoire, sur 1 seule instance ou plusieurs. Il faut alors basculer sur le Canal de mise à jour : Beta pour lancer la mise à jour. Penser ensuite à rebasculer sur le Canal de mise à jour : Stable.


J’ai pris mes précautions au préalable, comme retrouvé, expliqué et solutionné dans différents sujets sur ce forum. Aussi je tiens ici à remercier particulièrement @MatthieuPatout et @PhilCherp pour leur participation plus qu’active à la recherche de solutions efficaces aux demandes, problèmes et difficultés que nous pouvons rencontrer :pray: :slightly_smiling_face:

Fichier /httpdocs/config/config.php, ajout temporaire de la ligne suivante (par sécurité je la retire une fois la mise à jour terminée) :

Cliquer pour agrandir et afficher

'integrity.check.disabled' => true,

Fichier /httpdocs/updater/index.php, modification du bloc suivant (vers la ligne 391 depuis Nextcloud 25, 482 avant) :

Cliquer pour agrandir et afficher
$excludedElements = [
			'.rnd',
			'.well-known',
			'3rdparty',
			'apps',
			'core',
			'data',
			'dist',
			'lib',
			'ocm-provider',
			'ocs',
			'ocs-provider',
			'resources',
			'themes',
			'updater',
		];

Ce qui correspond à l’ajout des exclusions suivantes :

			'3rdparty',
			'apps',
			'core',
			'dist',
			'lib',
			'ocm-provider',
			'ocs',
			'ocs-provider',
			'resources',
			'themes',
			'updater',

J’ai ensuite lancé la mise à jour dans le menu Paramètres > Administration > Vue d’ensemble.

Cas particuliers :

  • Il peut arriver que le serveur soit long à répondre et que l’on se retrouve face à un message d’erreur de type : Parsing response failed. 503 Service Temporarily Unavailable. pendant la mise à jour. Il ne faut pas cliquer sur « Retry Update », il existe une solution pour rafraichir la page comme proposé ici : Un truc pour les mises à jour - #8 par lgmdmdlsr :
Cliquer pour agrandir et afficher

En fait le processus continue en arrière plan. Il faut donc attendre un peu quand ça se produit, de mon côté j’attends 5 minutes puis j’appuie sur la touche F5 de mon clavier OU je clique sur le bouton :arrows_counterclockwise: de mon navigateur web.

La mise se trouve alors positionnée à l’étape suivante en attente d’être relancée, je clique sur le bouton pour continuer et la mise à jour suit son cours.

nb : Il peut arriver que ce phénomène se produise plusieurs fois lors d’une même mise à jour. Je recommence la procédure et j’arrive à présent à aller au bout en toute autonomie, ou presque :sweat:

Heureusement on peut toujours compter sur @MatthieuPatout :man_bowing::clap::man_bowing::raised_hands:

  • Il peut également arriver que le processus reste bloqué à l’étape : Step 3 is currently in process. Please reload this page later.. Comme cela m’arrive quand j’oublie de modifier le fichier index.php du dossier /updater/. Il existe une solution proposée par @MatthieuPatout ici : Nextcloud bloqué en mis à jour à step 3 :
Cliquer pour agrandir et afficher

Il faut se connecter à son hébergement par FTP et supprimer le fichier .step dans le dossier : /data/updater-xxxxxxxxxxxx/

Puis ensuite il faut relancer la mise à jour à partir du menu Paramètres > Administration > Vue d’ensemble

Voir aussi : Les étapes de mise à jour de Nextcloud

À la fin de la mise à jour j’ai obtenu l’écran suivant :

Puis en cliquant sur le bouton « Disable maintenance mode and continue in the web based updater » pour désactiver le mode maintenance, j’ai basculé sur une autre page de mise à jour pour mettre à jour la base de données SQL et les applications telle que :

J’ai continué sur Nextcloud et tout était à jour et en bon état de fonctionnement.

:warning: Il faut tout de même penser ensuite à refaire les modifications dans le fichier .htaccess comme expliqué au début de ce message. :warning:

Et faire attention à l’espace disque utilisé après une mise à jour !

Après chaque mise à jour un sous-dossier est créé dans le dossier /httpdocs/data/updater-"suite de lettres et de chiffres aléatoires"/backups/

Vous pouvez garder le dernier backup si vous le souhaitez par sécurité.


:wrench: Paramètres > Vue d’ensemble > La base de données a quelques index manquants.

Cliquer pour agrandir et afficher

J’arrive ici aussi à gagner en autonomie grâce à l’application OCC Web - Apps - App Store - Nextcloud

Puis en exécutant la commande : db:add-missing-indices


:wrench: Si des fichiers sont verrouillés (« File is locked » ou « Server replied : 423 Locked ») :

Cliquer pour agrandir et afficher
  • Passer le site en mode maintenance via le fichier /httpdocs/config/config.php :
    'maintenance' => true,

  • Se connecter à la base SQL via PHPMyAdmin, sélectionner la base de données et exécuter la requête SQL :
    DELETE FROM oc_file_locks WHERE 1

  • Quitter le mode maintenance via le fichier /httpdocs/config/config.php :
    'maintenance' => false,


Merci beaucoup à Ouvaton, à son équipe et à ses utilisateurs-trices et longue vie ! :metal:

C.

5 « J'aime »