14 octobre 2024

[Tuto Complet] Installer Nextcloud sous Debian

Le tuto du jour sur infotrucs.fr : Installation d’un serveur Nextcloud sous Debian 12 avec Apache2 et sécurité SSL.

Ici l’hôte est entièrement dédié à Nextcloud.

La version de Nextcloud installée ici est la 30.0.0

Au fait ! Si vous pouviez désactiver votre bloqueur de pub et recharger la page ce serait sympa ! Merci 🙂

Pré-requis

-> Je serais logué en root tout le long de cet article.

-> Vous avez déjà un Debian 12 installé.

-> Vous avez déjà configuré votre interface réseau en IP statique.

-> Vous avez un sous domaine publique de type cloud.domaine.com (si vous n’en avez pas vous ne pourrez pas utiliser l’autorité de certification Let’s encrypt pour créer le certificat SSL, comme je le fais dans cet article)

-> Votre sous-domaine est bien redirigé vers l’IP publique de votre serveur Debian dans le DNS de votre registrar (ou autre alternative DDNS, peu importe).

-> Vous avez déjà NATé les ports 80 et 443 au niveau de votre box/pare-feu vers l’IP locale du Debian (ou autre alternative). Il y aura aussi un autre port à forwarder pour le serveur TURN, on verra ça.

-> Le pare-feu du serveur autorise les connexion entrantes sur ports 80 et 443.

-> Avoir sudo installé (même si vous ne souhaitez travailler qu’en root) : apt-get install sudo

–> Ces paramétrages ne sont pas abordés ici.

Intro

Le but est d’obtenir un beau serveur Nextcloud On-Premise installé sur une machine Debian 12 et accessible depuis internet de façon sécurisée (SSL) via une URL de type cloud.domaine.com.

Nous installerons Apache2, PHP, MariaDB, et tout un tas de paquets nécessaires à Nextcloud.

Nous installerons Nextcloud de façon manuelle sans script ni snap.

Pour SSL nous utiliserons l’autorité de certification Let’s Encrypt, de cette façon nous aurons un vrai certificat qui n’émet pas d’alerte dans le navigateur. Pour Let’s encrypt il vous faut un domaine publique.

Nous activerons PHP-FPM qui permet de mieux gérer les processus PHP sur des sites à forte charge.

Sur le même hôte, nous installerons un service Redis qui gèrera le Transactional File Locking.

Nous activerons le module APCu pour gérer le cache mémoire.

Sur le même hôte, nous installerons également un serveur TURN coturn qui permet de faciliter la connexion des utilisateurs qui sont derrière un NAT lorsqu’ils utilisent l’application Talk (Discussion).

Nous allons faire en sorte qu’il y ait le moins de messages d’erreur possible dans l’interface d’administration. Mais il y en a toujours avec Nextcloud !

Bref, un Nextcloud aux petits oignons.

Installation d’Apache2

-Maj des paquets :

apt-get update && apt-get upgrade

-Installation d’apache :

apt-get install apache2

-Suppression de la page d’index par défaut :

rm /var/www/html/index.html

-Activation de modules :

a2enmod env dir mime rewrite headers ssl

-Activation et démarrage :

systemctl enable apache2 && systemctl restart apache2

Installation de PHP

On va installer PHP et les modules nécessaires.

-Installer PHP :

apt-get install php

-Installation de modules (certains seront déjà présents) :

apt-get install php-pear libxml2 php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl php8.2-gmp php8.2-imagick php8.2-mysql php8.2-bcmath && sudo apt-get install ffmpeg php-msgpack php-igbinary && apt-get install php-gd

-Vérifier la présence d’un module si besoin :

php -m | grep -i nom_module

-Installation et activation de PHP-FPM :

apt-get install php8.2-fpm

a2enmod proxy_fcgi setenvif

a2enconf php8.2-fpm

-Redémarrage Apache :

systemctl restart apache2

Test de PHP-FPM

-Creer un fichier phpinfo.php à la racine par défaut de votre dossier apache :

nano /var/www/html/phpinfo.php

-Entrer ce code dedans puis l’enregistrer :

<?php
phpinfo();
?>

-Aller dans un navigateur et exécutez le fichier :

IP_locale/phpinfo.php

-Dans la page qui s’affiche, les données doivent être comme suit :

Server API FPM/FastCGI

Loaded Configuration File /etc/php/8.2/fpm/php.ini

-> Prenez note de l’emplacement du fichier .ini car nous aurons à le modifier.

-> Notez que nous modifierons aussi le fichier /etc/php/8.2/cli/php.ini (cron s’appuie sur cli).

-> Vous pouvez supprimer le fichier phpinfo.php.

Configuration de PHP

php.ini

-Sauvegarder les fichiers .ini au cas où :

cd /etc/php/8.2/cli/
cp php.ini php.ini.ori

cd ../fpm
cp php.ini php.ini.ori

-Editez les deux fichiers, entrez les valeurs suivantes et enregistrez-les  :

-> Attention quand vous recherchez du texte dans un fichier, il y a plusieurs fois les mêmes directives dans le fichier car il y a des exemples.

-> Désactivation OBLIGATOIRE DU BUFFER :

output_buffering = Off

-> Limite de mémoire occupée par un script PHP :

memory_limit = 1024M

->Limite de taille des uploads :

post_max_size = 16G
upload_max_filesize = 16G

-> Limites de temps pour les scripts php :

max_input_time = 3600
max_execution_time = 3600

-> Assurez-vous ici qu’il n’y a aucune valeur après le signe « = »  :

disable_functions =

-> Définir la Timezone (enlevez le « ; » du début de la ligne) :

date.timezone = Europe/Paris

# Si vous avez besoin de connaitre d’autres codes de Timezone : www.php.net/manual/en/timezones.php

-Dans le fichier /etc/php/8.2/fpm/php.ini seulement, décommentez et changer la valeur ici :

opcache.interned_strings_buffer=32

www.conf

-Maintenant sauvez et éditez le fichier /etc/php/8.2/fpm/pool.d/www.conf

-Trouvez les directives suivantes et décommentez-les en enlevant les « ; » du début de chaque ligne. Vérifiez que les chemins indiqués existent bien chez vous, mais si vous êtes sous Debian 12 c’est le cas. Puis enregistrez le fichier :

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

20-apcu.ini

-Sauver et éditer le fichier suivant /etc/php/8.2/cli/conf.d/20-apcu.ini et ajouter la ligne suivante :

apc.enable_cli=1

-Redémarrer Apache et PHP et activer ce dernier :

systemctl restart apache2 && systemctl restart php8.2-fpm && systemctl enable php8.2-fpm

Configuration d’Apache

Pour rappel, mon dossier de Nextcloud est ici /usr/share/cloud . Adaptez si besoin. On va créer maintenant nos virtualhost Apache.

Suite à cette configuration l’utilisateur qui entrera l’URL en HTTP sera redirigé automatiquement vers HTTPS.

-Créer le fichier suivant puis entrer ce contenu (adapter le contenu en bleu) :

nano /etc/apache2/sites-available/cloud.conf

<VirtualHost *:80>
DocumentRoot /usr/share/cloud/
ServerName cloud.domaine.com
Redirect permanent / https://cloud.domaine.com/

ErrorLog ${APACHE_LOG_DIR}/cloud.error.log
CustomLog ${APACHE_LOG_DIR}/cloud.access.log combined
<Directory /usr/share/cloud/>
Require all granted
Options +FollowSymLinks +MultiViews
AllowOverride ALL
Require all granted

<IfModule mod_dav.c>
Dav off
</IfModule>

</Directory>
</VirtualHost>

 -Créer maintenant le fichier suivant puis entrer ce contenu (adapter le contenu en bleu) :

nano /etc/apache2/sites-available/cloud-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot /usr/share/cloud/
ServerName cloud.domaine.com

<IfModule mod_headers.c>
Header always set Strict-Transport-Security « max-age=15552000; includeSubDomains »
</IfModule>

<Directory /usr/share/cloud/>
Options +FollowSymLinks +MultiViews
AllowOverride ALL
Order allow,deny
Allow from all
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/cloud.error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/cloud.ssl_access.log combined

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/cloud.domaine.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cloud.domaine.com/privkey.pem #Prenez note de cet emplacement, il faudra s’assurer que ces fichiers soient effectivement là.

</VirtualHost>
</IfModule>

-Désactiver le VHost par défaut :

a2dissite 000-default.conf

-Activer nos deux fichiers de conf :

a2ensite cloud.conf cloud-ssl.conf

-Normalement on a déjà activé ces modules plus haut :

a2enmod ssl rewrite headers

-Ne rechargez pas Apache tout de suite.

Configuration de SSL

Nous allons créer le certificat SSL à l’aide de l’autorité de certification (CA) Let’s Encrypt et le logiciel certbot. Un certificat SSL a une durée de vie limitée, mais Let’s Encrypt les renouvellera automatiquement, ce qui est vraiment top.

Pour utiliser Let’s encrypt, votre serveur Web doit être référencé sur un DNS publique avec un nom de domaine publique ! Si vous voulez utiliser un nom de domaine avec une extension privée, de type mon_site.local ou mon_site.lan etc… pour X raison, vous ne pouvez pas utiliser cette solution. Dans ce cas créez-vous plutôt un certificat auto-signé ou débrouillez vous avec une autre CA.

Cela a été dit dans le chapitre Pré-requis, la configuration réseau/DNS etc devait être déjà réglée en amont.

-Installer snapd :

apt install snapd

-Déloguez vous du système et reloguez-vous.

-Installer snap via snapd :

snap install snapd

-> Si cela affiche l’erreur snap « lxd » assumes unsupported features », entrer d’abord ces deux commandes :

snap install core

snap refresh core

-Puis relancer :

snap install snapd

-Pour tester le fonctionnement de snapd, installer hello-world :

snap install hello-world

-Ensuite entrer cette commande qui devrait vous afficher en sortie « Hello World! » :

hello-world

-Si ça marche vous pouvez désinstaller hello-world :

snap remove --purge hello-world

-Si vous avez installé par ailleurs le paquet certbot sans utiliser snapd, désinstallez-le avec apt-get remove certbot

Certbot

-Installer le snap certbot :

snap install --classic certbot

-Créer un lien de l’exécutable de certbot :

ln -s /snap/bin/certbot /usr/bin/certbot

Création du certificat

-Créer les fichiers de certificat :

certbot certonly --apache

-> Sélectionnez le sous-domaine impliqué dans la liste.

-> Donnez une adresse mail vers laquelle Let’s encrypt pourra communiquer à propos des renouvellement, de sécurité etc..)

-> Tapez Y pour accepter les conditions.

-> Tapez N pour ne pas partager votre adresse e-mail.

-> Entrez le nom de sous-domaine EXACT que vous avez créé dans votre serveur DNS publique :

cloud.domaine.com

-Les fichiers sont créés et se trouvent ici. Prenez soin d’avoir le même emplacement dans votre virtualhost ssl :

/etc/letsencrypt/live/cloud.domaine.com/fullchain.pem
/etc/letsencrypt/live/cloud.domaine.com/privkey.pem

-> Notez cet emplacement car nous en aurons besoin plus tard.

Configuration de MariaDB

On va maintenant mettre en place la base de données associées à Nextcloud. Il s’agira de créer une base et un utilisateur avec privilèges. Inutile de préciser de choisir des identifiants forts !

-Installer MariaDB :

apt-get install mariadb-server

-Entrer dans le prompt (en root) :

mariadb

-Créer la base de données et l’utilisateur :

CREATE DATABASE nom_de_la_bdd ; CREATE USER ‘nom_d’user‘@’localhost’ IDENTIFIED BY ‘mot_de_passe‘;

-Donner tous les privilèges à l’utilisateur sur notre base :

GRANT ALL PRIVILEGES ON nom_dela_bdd . * TO ‘nom_d’user‘@’localhost’;

-Quitter le prompt avec exit.

-Executez le script de sécurisation de MariaDB :

mysql_secure_installation

Enter current password for root : Tapez seulement Entrée.
Switch to unix_socket authentication : Normalement votre compte root a bien un mot de passe, donc tapez n puis Entrée.
Change the root password? : n
Remove anonymous users? : Y
Disallow root login remotely? : Le compte root ne devrait pouvoir se connecter que depuis localhost, entrez Y.
Remove test database and access to it? : Y
Reload privilege tables now? : Y

-Démarrer et activer MariaDB :

systemctl start mariadb && systemctl enable mariadb

Télécharger les fichiers Nextcloud

-Se placer dans le dossier où vous voulez installer le dossier de Nextcloud (au choix) :

cd /usr/share/

-Télécharger les fichiers de Nextcloud :

wget download.nextcloud.com/server/releases/latest.zip

-Installer unzip :

apt-get install unzip

-Dézipper le fichier latest.zip (Un dossier nextcloud sera créé, contenant les fichiers) :

unzip latest.zip

-Supprimer le fichier latest.zip :

rm latest.zip

-Renommer le dossier nextcloud comme vous le souhaitez :

mv nextcloud cloud

-Donner les droits à l’utilisateur www-data :

chown -R www-data:www-data /usr/share/cloud

-Recharger Apache :

systemctl reload apache2.service

Configurer Nextcloud

Nous allons maintenant configurer l’instance Nextcloud. Nous allons alterner entre le navigateur Web et le shell. Nextcloud fourni la commande OCC qui permet d’exécuter des tâches de maintenance ou de modifier des paramètres. Elle doit être exécuter avec l’utilisateur www-data. Nous en entrerons certaines ce qui permettra de voir le fonctionnement.

-Lancer un navigateur et entrer l’URL :

cloud.domaine.com

-> L’interface de la première installation de Nextcloud s’affiche.

-Dans Répertoire des données, laisser le chemin par défaut :

/usr/share/cloud/data

-Dans Compte de base de données et Mot de passe, spécifier les identifiants de l’utilisateur créé dans MariaDB.

-Dans Nom de la base de données, spécifier le nom de la base créée dans MariaDB.

-Enfin dans Hôte laisser localhost.

-Cliquez sur Installer.

-Dans la page suivante, cliquer sur Installer les applications recommandées. Vous pourrez gérer plus tard vos applications.

-> Vous êtes maintenant sur votre instance Nextcloud ! Mais la configuration n’est pas finie !!!

-> Aller dans Paramètres d’administration et vous constaterez un certain nombre d’alertes. Nous allors répondre à chacun d’entre eux par la suite.

-Retourner dans le shell et sauvegarder le fichier de conf :

cd /usr/share/cloud

cp config.php config.php.ori

-Editer ensuite le fichier config.php puis ajouter / modifier ces valeurs :

-> Ajouter les nouvelles lignes juste avant les « ); » de la fin du fichier.

‘skeletondirectory’ =>  »,  #Attention à la fin ce n’est pas une guillemet mais deux apostrophes sans espace entre !!
‘logtimezone’ => ‘Europe/Paris’,
‘force_locale’ => ‘fr/FR’,
‘default_language’ => ‘fr’,
‘default_phone_region’ => ‘FR’,
‘log_type’ => ‘file’,
‘log_rotate_size’ => 10485760,
‘logdateformat’ => ‘F d, Y H:i:s’,
‘trashbin_retention_obligation’ => ‘7,30’,

-Enregistrer le fichier.

Installer APCu

APCu est un cache mémoire qui permet de gagner en perfomance d’exécution de Nextcloud. Dans les Paramètres d’administration vous avez vu le message « Aucun cache mémoire n’a été configuré.« , nous allons y remédier.

-Installer le module php :

apt-get install php-apcu

-Redémarrer Apache :

systemctl restart apache2.service

-Editer le fichier /usr/share/cloud/config/config.php et ajouter la ligne suivante :

‘memcache.local’ => ‘\OC\Memcache\APCu’,

-Enregistrez le fichier puis rechargez la page des Paramètres d’aministration : l’alerte a disparu.

Configurer serveur REDIS

Redis est utilisé pour le transactional file locking.

Dans la page Paramètres d’administration, vous avez vu une alerte « La base de données est actuellement utilisée pour les verrous.« , nous allons y remédier grâce à Redis.

-Installer d’abord ces paquets (certains le peut-être sont déjà) :

apt-get install lsb-release curl gpg

-Récuperer les clés du dépot de redis :

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

-Changer les droits de la clé :

chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg

-Ajouter le dépot Redis :

echo « deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] packages.redis.io/deb $(lsb_release -cs) main » | sudo tee /etc/apt/sources.list.d/redis.list

-Update de la liste des paquets :

apt-get update

-Installer Redis :

apt-get install redis

-Installer le module PHP redis :

apt-get install php8.2-redis

-Vérifier que le processus redis-server est lancé :

ps ax | grep redis

-Créer le repertoire pour le socket :

mkdir /run/redis

-Donner les droits sur ce repertoire :

chown redis:redis /run/redis

-Sauver le fichier /etc/redis/redis.conf et entrer / modifier / décommenter ces valeurs (ces directives sont déjà présentes dans le fichier) :

port 0      # Pour désactiver l’écoute sur TCP (puisqu’on s’en sert en localhost)
unixsocket /run/redis/redis.sock   #Notez bien
unixsocketperm 770

-Ajouter l’user www-data au groupe redis :

usermod -a -G redis www-data

-Editer le fichier /usr/share/cloud/config/config.php et ajoutez (toujours avant le « ); » de fin):

‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ => [
‘host’ => ‘/run/redis/redis.sock‘,  # Doit être identique à la valeur du fichier redis.conf
‘port’ => 0,
],

-Sauver et modifier le fichier /etc/sysctl.conf

-Activer les modules php :

phpenmod apcu

phpenmod redis

-Ajouter en fin de fichier la ligne suivante :

vm.overcommit_memory = 1

-Appliquer le changement :

sysctl -p

-> Cela évite une alerte dans les log de Redis.

-Vous pouvez tenter de vous connecter au serveur redis pour voir si ça fonctionne :

redis-cli -s /run/redis/redis.sock MONITOR

->Cela devrait afficher OK.

-Redémarrer Apache et Redis :

systemctl restart apache2 redis-server

-Activer Redis au démarrage du système :

systemctl enable redis-server

-Recharger la page Paramètres d’aministration : le message « La base de données est actuellement utilisée pour les verrous. » a disparu.

Configurer Nextcloud Chapitre 2

Dans les Paramètres d’administration, vous avez encore ces 4 messages que nous allons corriger :

1-Le serveur n’a aucune heure de début de fenêtre de maintenance configurée.
2-One or more mimetype migrations are available.
3-Detected some missing optional indices.
4-Vous n’avez pas encore paramétré ou vérifié la configuration de votre serveur mail.

Pour les trois premiers nous utiliserons la commande OCC fournie par Nextcloud en ligne de commande. Prenez note de la syntaxe de ces commandes. On appelle PHP pour exécuter OCC puis on spécifie des paramètres. OCC doit être utilisé via l’utilisateur www-data, c’est pourquoi je vous demandais d’avoir installé sudo au tout début de l’article.

Le message [Le module PHP « imagick » n’a aucun support SVG dans cette instance] ne sera pas traité car ce support est désactivé pour des raisons de sécurité.

Ensuite pour configurer le serveur mail ça se passera dans l’interface web.

1-Ajouter un paramètre pour les tâches Cron d’arrière plan [Le serveur n’a aucune heure de début de fenêtre de maintenance configurée.] :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:system:set maintenance_window_start --type=integer --value=1

2-[One or more mimetype migrations are available] :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ maintenance:repair --include-expensive

3-[Detected some missing optional indices]  :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ db:add-missing-indices

4-[Vous n’avez pas encore paramétré ou vérifié la configuration de votre serveur mail.]

-Aller sur l’interface de Nextcloud, puis cliquez sur Paramètres Personnels.

-Entrez votre e-mail de contact.

-Aller dans Paramètres d’administrations / Paramètres de base.

-Définisser les paramètres de serveur SMTP.

-Cliquez sur Envoyer un mail pour tester.

-Vous devriez alors recevoir un mail de test sur votre e-mail de contact.

->Pendant que vous êtes sur la page Paramètres de base, sous Tâches d’arrière plan sélectionnez Cron.

Cron

-Lancer Cron avec l’utilisateur www-data :

crontab -u www-data -e

-Ajouter la ligne (adapter le chemin de nextcloud) :

*/5 * * * * php -f /usr/share/cloud/cron.php

-Enregistrer le fichier.

-> Les tâches d’arrière plan s’exécutent toutes les 5 minutes.

Nextcloud Office

-Aller dans Paramètres d’administration / Nextcloud Office et patientez qq instants.

-Cocher Utiliser CODE.

-Dans Allow list for WOPI requests, entrer 127.0.0.1/24

Quelques commandes OCC (à faire !)

=> Adaptez le chemin de votre instance nextcloud et de php.

-Désactiver les chunks (découpage des fichiers lors de l’upload) :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set files max_chunk_size --value 0

-Création de clés primaires dans la base de données (DatabaseHasMissingPrimaryKeys) :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ db:add-missing-primary-keys

-Modification de paramètres de l’application Agenda (évite des problèmes de restrictions) :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav rateLimitCalendarCreation --type=integer --value=60

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav rateLimitPeriodCalendarCreation --type=integer --value=1800

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav maximumCalendarsSubscriptions --type=integer --value=-1

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav calendarSubscriptionRefreshRate --value "P1D"

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav system_addressbook_exposed --value="no"

-Déblocage de restrictions de création dans l’appli Contacts :

-> Pour pouvoir créer X Address Books en X temps (les users pourront créer maximum 20 Carnets d’adresse dans les 7200 secondes) :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav rateLimitAddressBookCreation --type=integer --value=20

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav rateLimitPeriodAddressBookCreation --type=integer --value=7200

-> Pour pouvoir créer un nombre illimité de carnets d’adresse :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ config:app:set dav maximumAdressbooks --type=integer --value=-1

Configurer le serveur COTURN

Par défaut, les utilisateurs qui utilisent l’application Talk ou Discussions se connectent en peer-to-peer. Cela peut poser des problème de connexion lorsqu’ils sont derrière un NAT. Configurer un serveur TURN dans Nextcloud permet à l’application de se connecter en client-serveur au lieu de peer-to-peer.

Ce serveur sera en écoute sur un port TCP et UDP. Vous pouvez personnaliser ce port. Faites les redirections de port nécessaire dans vos routeurs et pensez au pare feu.

-Installer coturn :

apt-get install coturn

-Sauver et éditer le fichier /etc/turnserver.conf et entrer / personnaliser / décommenter ces valeurs :

listening-port=3478

fingerprint

use-auth-secret

static-auth-secret=une_passphrase_super_longue  #N’utilisez que des chiffres et des lettres.

realm=domaine.com  #notez bien que je n’ai pas mis le sous-domaine.

bps-capacity=0

stale-nonce=600

log-file=/var/log/turn.log

#syslog

simple-log

no-multicast-peers

no-rfc5780

no-stun-backward-compatibility

response-origin-only-with-rfc5780

-Enregistrez la passphrase dans vos notes.

-Démarrer et activer coturn :

systemctl start coturn && systemctl enable coturn

-Aller dans l’interface web de Nextcloud, dans Paramètres d’administration / Discussion.

-Dans serveur STUN entrez ceci :

cloud.domaine.com:443

-Cliquez sur Ajouter un serveur TURN :

Turn seulement.

-URL : cloud.domaine.com:port  #Entrez le port que vous avez choisi dans turnserver.conf

-Mot de passe : la passphrase que vous avez créée.

-UDP et TCP.

-Cela va mouliner pour tester la connexion et normalement c’est bon. Pensez au pare-feu et au NAT.

Nextcloud Office

-Aller dans Paramètres d’administration / Nextcloud Office.

-Cocher Utiliser CODE (serveur intégré).

-Dans Allow list for WOPI requests, entrer votre IP publique. Ceci pose un problème quand on a une IP publique dynamique. Malheureusement je n’ai pas trouvé de solution. Si vous laissez le champs vide, vous pourrez éditer vos documents via navigateur, mais cela pose un problème de sécurité lié au protocole WOPI. Si quelqu’un a une solution je suis preneur.

Mettre à jour Nextcloud

Nextcloud propose régulièrement des nouvelles versions. La montée en version de Nextcloud peut s’effectuer via l’interface web (dans Paramètres d’administration), ou en CLI sur le serveur :

-Mettre Nextcloud en mode maintenance :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ maintenance:mode --on

-Télécharger l’update :

sudo -u www-data php /usr/share/cloud/updater/updater.phar

-Normalement à la fin du script on vous demande si vous voulez effectuer l’upgrade, dire oui. Au cas où, la commande est la suivante :

sudo -u www-data /usr/bin/php8.2 /usr/share/cloud/occ upgrade

-> Puis on vous demande si vous voulez désactiver le mode maintenance.

Conclusion

Normalement tout est fonctionnel ! Il ne vous reste plus qu’à personnaliser en fonction de vos besoin. J’espère que cela fera le taf chez vous, j’ai fait mon maximum pour ne pas avoir besoin de chercher d’infos ailleurs, mais il y a tellement de paramètres à personnaliser que vous aurez encore du taf après ça.

Pour info, vous pouvez tester la sécurité de votre instance via cette URL et obtenir un beau A+ : scan.nextcloud.com/

Merci pour votre temps sur infotrucs.fr !

 

Share

You may also like...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

4 + douze =