Last updated on 05/09/2023
nextcloud 20.0.4
présentation
Ce tutoriel est destiné aux utilisateurs Linux pour les sytèmes suivants : Debian 10/Raspbian. Il sera expliqué ici, comment configurer Apache2, créer et configurer une base de données afin de pouvoir installer et faire fonctionner NextCloud 20.
Si vous êtes sur un système buster (Debian 10), veuillez vérifier que le chemin /usr/sbin est présent dans votre variable $PATH. Vous pourrez trouver plus d’informations sur cette ressource.
disclaimer
Avant de poursuivre, il est nécessaire de prendre connaissance des indications ci-dessous
Il est recommandé d’effectuer tous les tutoriels proposés par BlackHat-Out sur des serveurs de tests. Même si ces tutoriels sont mis en pratiques sur plusieurs OS, nous avons rencontrés différentes difficultés selon les systèmes. Toutes les manipulations proposées se feront en tant qu’administrateur et nous ne pourrons garantir ou être tenus responsables d’une quelconque manipulation rendant le système inopérant.
PRérequis
version & validation
Debian 10 : Validé le 27/12/20 avec passage php7.4
Raspbian : Non testé le xx/xx/2021 NextCloud : 20.0.4
PHP : 7.4
Status : Nextcloud 20 non compatible avec version phph > 7.4
niveau tutoriel
Habitué de linux et des serveurs web.
niveau requis
Savoir lire
Connaître le concept de DNS (l’histoire avec les domaines)
Connaître le concept de virtualhost
durée d'exécution
Lammers : 2h/4h
Novices : 1h/2h
Habitués de Linux: 30/60 minutes
Habitués apache/mysql : 10/15 minutes
sources listes
Debian 10
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free
updates
$ su
# apt update && apt upgrade -y
Explications des commandes
su
La commande su permet de passer sur un compte administrateur. Partant du principe que vous avez des bases en informatique, toutes les manipulations seront effectuées en tant qu’administrateur système.
apt update/upgrade
-> La commande apt update
va permettre de rechercher toutes les mises à jours disponibles pour les paquets installés sur linux.
-> La commande apt upgrade
va permettre d’installer toutes les mises à jours disponibles pour les paquets installés sur linux.
-> La commande apt update && upgrade -y
permet de concaténer les commandes de recherches et d’installations des mises à jours. L’argument -y
permet d’indiquer qu’on approuve bien l’installation.
apache2
préparation du système
# apt install apache2
# mkdir /var/www/nom_du_virtualhost_a_configurer
# chown -R www-data:www-data /var/www/nom_du_virtualhost_a_configurer
# ls -lath /var/www/
# mkdir /var/log/apache2/nom_du_virtualhost
# mkdir /etc/ssl/nom_du_virtualhost
# cd /etc/apache2/sites-available/
# a2dissite 000-default.conf
# nano nom_virtualhost.conf
On fait la combinaison de touches « ctrl+O« , « entrer« , puis « ctrl+x« .
# a2enmod ssl
# a2enmod headers
Explications des commandes
apt install
La commande apt install [package] permet de lancer l’installation du paquet demandé sur debian.
mkdir
La commande mkdir permet la création d’un dossier. Ici le dossier du « nom_du_virtualhost_a_configurer » sera crée et accessible via le chemin indiqué « /var/www/«
chown
La commande chown permet de changer le propriétaire d’un dossier.
L’argument chown -R permet d’indiquer la récursivité de la commande, de manière à ce que tous les sous-dossiers appartiennent au propriétaire du dossier parent.
L’argument www-data:www-data est le nom et le groupe du nouveau propriétaire du dossier. www-data est l’utilisateur par défaut utilisé par les serveurs web.
ls -lath
La commande ls -lath est la commande ls suivi des options l, a, t, h qui ont la signification suivante :
- l = permet d’afficher une liste détaillée des caractéristiques de chaque fichier du répertoire (aide pour voir les droits du fichier).
- a = permet d’afficher tous les fichiers et dossiers d’un répertoire, y compris ceux qui sont cachés (ceux qui commencent par un point « . »).
- t = permet de trier le contenu des répertoires en fonction de la date et non par ordre alphabétique. Les fichiers les plus récents sont présentés en premier.
- h = s’utilise de pair avec l comme suit : ls -lh afin d’obtenir les informations de poids d’occupation en plus lisible pour un humain plutôt qu’en octet (d’où -h pour human readable, c’est à dire lisible pour un humain). Avec cette option ls va adapter son affichage en utilisant l’unité la plus adaptée.
Dans notre contexte, la commande ls -lath sur le répertoire /var/www/ va nous permettre de bien confirmer la présence de « www-data:www-data » comme propriétaire du dossier « nom_du_virtualhost_a_configurer«
nano
La commande nano permet d’accéder à l’éditeur de texte nano présent sur débian. Cette même commande suivi du nom d’un fichier comme nano xxx.conf permet d’ouvrir en mode édition le fichier xxx.conf. Dans le cas où le fichier xxx.conf n’existerait pas, il sera automatiquement créé.
Cette manipulation peut être raccourcis en utilisant la commande « touch nom-du-fichier » qui permet de seulement créer le fichier sans l’ouvrir.
La combinaison de touche ctrl+O dans nano permet d’enregistrer-sous le fichier nouvellement créé.
La combinaison de touche ctrl+X dans nano permet de quitter l’éditeur de texte. Si aucun enregistrement n’a été effectué avant, il sera automatiquement demandé une confirmation de sauvegarde.
commandes apache
La commande apachectl permet d’appeler un suite de commande afin de démarrer, stopper, recharger le service apache ou vérifier la bonne syntaxe des fichiers de configuration du service.
- L’argument configtest permet de vérifier que tous les fichiers de configurations soient bien paramétrés.
- La commande a2ensite (= apache2 enable site) permet d’activer les fichiers de configurations des virtualhosts.
- La commande a2dissite (= apache2 disable site) permet de désactiver les fichiers de configurations des virtualhosts.
- La commande a2enmod (= apache2 enable module) permet d’activer les modules d’apache. Ici le module ssl et headers ont été activés.
- La commande a2dismod (= apache2 disable module) permet de désactiver les modules d’apache.
systemctl
La commande systemctl permet de gérer les états des services disponibles sur débian ou raspbian (aussi compatible sur la plupart des distributions linux). Pour l’utiliser il faut indiquer comme premier argument l’action voulu [start/restart/stop/reload] puis le service ciblé [apache2]. L’argument reload permet de recharger le fichier de configuration du serveur sur lequel le système se base pour gérer le service.
virtualhost
configuration du virtualhost
# nano /etc/apache2/sites-available/nom_virtualhost.conf
<VirtualHost *:80>
#################
# ACCES AU SITE #
#################
ServerName [NOM SERVEUR ou FQDN]
ServerAlias [NOM COURT]
ServerAdmin [xxxx@xxxx.xx]
DocumentRoot [/CHEMIN/VERS/LE-SITE]
#RewriteEngine On
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
##############
# CONF BASIC #
##############
#--GESTION DES DROITS--#
<Directory [/CHEMIN/VERS/LE-SITE/]>
Options -Indexes
Require all granted
</Directory>
#--GESTION ERREURS--#
ErrorDocument 404 /erreur.html
#--LOGS--#
ErrorLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/errors.log]
LogLevel warn
CustomLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/acces.log] combined
</VirtualHost>
Explications des commandes
Le fichier de configuration
On peut voir deux parties dans le virtualhost présentées ci-dessus.
La première partie est le comportement qu’aura le serveur lorsque qu’un client viendra le contacter par le port 80 (HTTP). Ainsi la deuxième partie (non présente à ce stade du tutoriel), sera le comportement qu’aura le serveur lorsque qu’un client le contactera par le port 443 (HTTPS).
Les virtualhosts sont encadrés par les balises suivantes et <VirtualHost *:[N° PORT]> et </VirtualHost>.
Toutes les lignes précédées du caractère # constituent un commentaire au sein du fichier de configuration. Attention cependant, lorsqu’un commentaire est placé sur la même ligne qu’une instruction, des erreurs de syntaxe peuvent apparaître lors de l’exécution de la commande apachectl configtest et ainsi empêcher le systemctl [restart/reload] apache2.
Dans la configuration actuelle, la partie du fichier gérant le comportement à avoir lorsqu’un client souhaite le contacter par le port 443 est actuellement inexistante. Dans le cas où nous n’avons pas encore généré de certificat auto signé ou « réel » (ici cad approuvé par une autorité de certification reconnue), il sera impossible de se connecter au site via le port 443 ; les navigateurs considérons la connexion comme dangereuse et empêcheront l’accès.
Pour adapter le fichier de configuration à vos besoins, il vous sera nécessaire de modifier toutes les valeurs entre crochets. exemple [votre alias], toutes les valeurs sont arbitraires, vous pouvez mettre ce que vous souhaitez dans la mesure du raisonnable. Les valeurs doivent correspondre à vos besoins et à ce que vous avez défini dans la partie « Préparation d’apache »
Par la suite nous allons vérifier la bonne syntaxe de notre virtualhost puis l’activer.
# apachectl configtest
# cd /etc/apache2/sites-available/
# a2ensite [nom_virtualhost.conf]
# apachectl restart
HTTPS (auto-signé)
configuration du virtualhost
Le certificat auto-signé est généralement choisi lors de l’utilisation en local ou hors utilisation d’un nom de domaine « internet ».
# openssl genrsa -out /etc/ssl/[nom_du_virtualhost]/[nom_de_la_clef].key [4096]
# openssl req -new -x509 -key /etc/ssl/[nom_du_virtualhost]/[nom_de_la_clef].key -subj "/CN=[Nom afficher sur le certificat]" -out /etc/ssl/nextcloud/[nom_de_la_clef].pem
# nano /etc/apache2/sites-available/nom_virtualhost.conf
Il est nécessaire de créer un 2ème virtualhost au sein du même fichier de configuration précédemment édité. Pour ce faire il faudra copier coller le :
<VirtualHost *:80> ... </VirtualHost>
Puis de remplacer « *:80 » par « *:443« . Une fois ceci fait, il sera nécessaire de rajouter les chemins pour atteindre les certificats. Rajoutez les lignes suivante à la fin du VirtualHost *:443 :
SSLEngine on
SSLCertificateFile [/CHEMIN/VERS/LES/LE-CERTIFICAT/certificat.pem]
SSLCertificateKeyFile [/CHEMIN/VERS/LES/LA-CLEF/clef.key]
Une fois ceci effectué, ajouter les lignes suivantes juste après le « DocumentRoot » du VirtualHost *:80, ces lignes permettrons de réécrire les url’s HTTP en HTTPS :
RewriteEngine On
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Voici la configuration finale attendue :
<VirtualHost *:80>
#################
# ACCES AU SITE #
#################
ServerName [NOM SERVEUR ou FQDN]
ServerAlias [NOM COURT]
ServerAdmin [xxxx@xxxx.xx]
DocumentRoot [/CHEMIN/VERS/LE-SITE]
RewriteEngine On
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
##############
# CONF BASIC #
##############
#--GESTION DES DROITS--#
<Directory [/CHEMIN/VERS/LE-SITE/]>
Options -Indexes
Require all granted
</Directory>
#--GESTION ERREURS--#
ErrorDocument 404 /erreur.html
#--LOGS--#
ErrorLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/errors.log]
LogLevel warn
CustomLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/acces.log] combined
</VirtualHost>
<VirtualHost *:443>
#################
# ACCES AU SITE #
#################
ServerName [NOM SERVEUR ou FQDN]
ServerAlias [NOM COURT]
ServerAdmin [xxxx@xxxx.xx]
DocumentRoot [/CHEMIN/VERS/LE-SITE]
##############
# CONF BASIC #
##############
#--GESTION DES DROITS--#
<Directory [/CHEMIN/VERS/LE-SITE/]>
Options -Indexes
Require all granted
</Directory>
#--GESTION ERREURS--#
ErrorDocument 404 /erreur.html
#--LOGS--#
ErrorLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/errors.log]
LogLevel warn
CustomLog [/CHEMIN/VERS/LES/LOGS/DU-SITE/acces.log] combined
##############
# CONF HTTPS #
##############
SSLEngine on
SSLCertificateFile [/CHEMIN/VERS/LES/LE-CERTIFICAT/certificat.pem]
SSLCertificateKeyFile [/CHEMIN/VERS/LES/LA-CLEF/clef.key]
</VirtualHost>
Explications des commandes
Le fichier de configuration
Dans cette partie du tuto, il s’agit de dupliquer la configuration du VirtualHost (vHost) du port 80, vers le port 443 en rajoutant les certificats SSL sur à la fin du vHost du 443 et la redirection http vers https sur le vHost du 80.
OPENSSL
La suite OPENSSL permet la génération de certificats SSL. L’option [4096] permet d’indiquer la taille de la clé en bits.
HTTPS (certbot)
Certbot permet de fournir gratuitement un certificat HTTPS reconnu sur vos domaines.
méthode a
# apt install snapd
# snap install core; sudo snap refresh core
# snap install --classic certbot
# ln -s /snap/bin/certbot /usr/bin/certbot
# certbot --apache
méthode b
--
Uniquement à effectuer sur un raspbian
# mv /etc/pip.conf /etc/pip.conf.backup
--
# mkdir /certbot
# cd /certbot
# wget https://dl.eff.org/certbot-auto
# chmod a+x certbot-auto
# ./certbot-auto
# ./certbot-auto --apache (ou --nginx)
./Selectionner le numéro du site
./Selectionner le numéro [2]
./Saisissez les commandes suivantes
# ./certbot-auto renew -dry-run
# nano crontab -e
*/12 * * * * /CHEMIN/VERS/certbot-auto renew –quiet –no-self-upgrade
ctrl+o ctrl+x
Explications des commandes
CD
La commande cd permet de se déplacer au sein de l’arborescence Linux. Ici, on indique qu’on souhaite se déplacer dans le dossier certbot à la racine du système débian.
WGET
La commande wget permet de télécharger un paquet directement via un lien web (URL).
chmod a+x
La commande chmod a+x certbot-auto permet de rendre exécutable un script.
3 dernières lignes
Les 3 dernières lignes permettent le renouvellement automatique du certificat SSL qui a une durée de 3 mois via le cron qui est le planificateur de tâche version Linux.
hsts
HTTP Strict Transport Security (HSTS) est un mécanisme de politique de sécurité proposé pour HTTP, permettant à un serveur web de déclarer à un agent utilisateur (comme un navigateur web), compatible, qu’il doit interagir avec lui en utilisant une connexion sécurisée (comme HTTPS). La politique est donc communiquée à l’agent utilisateur par le serveur via la réponse HTTP, dans le champ d’en-tête nommé « Strict-Transport-Security ». La politique spécifie une période de temps durant laquelle l’agent utilisateur doit accéder au serveur uniquement de façon sécurisée. Source Wikipédia && Complément d’informations via Developper.Mozilla (en).
# nano /etc/apache2/sites-available/nom_du_virtualhost-ssl.conf
Ajoutez les lignes suivantes juste au dessus du </VirtualHost>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</IfModule>
php
configurer apache et php
Les commandes citées ci-dessous vous permettront d’installer et configurer PHP pour apache. Généralement, on peut choisir la version php en changeant « 7.4 » par la version voulu exemple : « 8.0 ».
# apt -y install lsb-release apt-transport-https ca-certificates
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.list
# apt update && apt upgrade -y
# apt install libapache2-mod-php7.4 php7.4 php7.4-xml php7.4-curl php7.4-gd php7.4 php7.4-cgi php7.4-cli php7.4-zip php7.4-bcmath php7.4-gmp php7.4-mysql php7.4-mbstring php7.4-intl php7.4-imagick php7.4-gd -y
# nano /etc/php/7.4/apache2/php.ini
Fichier de conf php.ini
CTRL+W pour effectuer une recherche
Ajoutez/Modifiez les valeurs suivantes:
[...]
memory_limit = 512M
upload_max_filesize = 15G
max_execution_time = 360
post_max_size = 200M
output_buffering = Off
date.timezone = Europe/Paris
[...]
cltr+o ctrl+x
sql
préparer sql
Admin SQL en mousse, prêt ?
# apt-get install mariadb-server apt-transport-https -y
# wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
# echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/ondrej.list
# apt update && apt upgrade -y
# mysql_secure_installation
Répondez aux questions comme bon vous semble.
Puis rendez-vous dans le fichier my.cnf.
#nano /etc/mysql/my.cnf
Ajouter/Modifier les valeurs suivantes :
[...]
[server]
skip-name-resolve
innodb_buffer_pool_size = 1G
innodb_io_capacity=4000
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 64M
tmp_table_size= 64M
max_heap_table_size= 64M
slow-query-log = 1
slow-query-log-file = /var/log/mysql/slow.log
long_query_time = 1
[client-server]
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
transaction_isolation = READ-COMMITTED
binlog_format = ROW
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=1
[...]
ctrl+O ctrl+x
systemctl restart mysql
modification du format de la bdd
MySQL est utilisée comme base de données mais ne supporte pas les caractères codés sur 4 octets. Pour pouvoir manipuler les caractères sur 4 octets (comme les émoticônes) sans problème dans les noms de fichiers ou les commentaires par exemple, il est recommandé d’activer le support 4 octets dans MySQL, les manipulations décrites ci-dessous seront nécessaires. (Source ici)
# mysql -u root -p
On se connecte à la base SQL puis on effectue un show variables.
Si vous avez l’élément suivant tout est OK :
> show variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| innodb_file_format | Barracuda |
+--------------------+-----------+
En revanche si vous avez l’élément suivant :
> show variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| innodb_file_format | Antelope |
+--------------------+-----------+
Effectuez la commande suivante :
> SET GLOBAL innodb_file_format=Barracuda;
Faite la vérification présentée ci-dessus, le résultat devrait être favorable.
Maintenant on va créer de la base de données.
RAPPEL : Les valeurs entre « [xx] » sont à modifier en enlevant les crochets
> CREATE USER '[userdb]'@'localhost' IDENTIFIED BY '[PASSWORD]';
> CREATE DATABASE IF NOT EXISTS [nextcloud] CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
> GRANT ALL PRIVILEGES on [nextcloud.*] to '[userdb]'@'localhost';
> FLUSH privileges;
Explications des commandes
create
La commande CREATE est ce qui permet, lorsqu’elle est suivi d’un argument du type USER/DATABASE, de créer un ou plusieurs éléments.
L’ensemble CREATE USER '[userdb]'@'localhost' IDENTIFIED BY '[PASSWORD]'; permet, dans l’ordre, de « créer l’utilisateur [nom_utilisateur_voulut] à l’emplacement [localhost]« . Tous les éléments entre crochets dans le terminal sont des éléments arbitraires que vous pouvez/devez définir à votre guise.
L’ensemble CREATE DATABASE IF NOT EXISTS [nextcloud]; permet, dans l’ordre, de « créer la base, si elle n’existe pas, [nom_de_la_base_voulut]« . Pour la partie CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; on maîtrise moins mais normalement c’est pour autoriser les caractères UTF8mb4… voilà.
grant all privileges
La commande GRANT ALL PRIVILEGES on [nextcloud.*] to '[userdb]'@'localhost'; permet de donner tous les droits sur la base [nextcloud] à l’utilisateur [userdb].
flush privileges
La commande FLUSH privileges; permet de re-charger les droits sur la base, c’est une sorte d’actualisation si je ne me trompe pas.
installation nextcloud
installation du package nextcloud
#cd [/CHEMIN/DU/SITE]
#wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
Plus qu’à suivre l’assistant d’installation via un client web
=> http(s)://IP-OU-FQDN/setup-nextcloud.php
eviter le message d’erreur suivant
« 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. »
Nous vous recommandons de ne pas mettre le dossier « data » dans le dossier racine de NextCloud
nota bene
Désormais on est sur de la lecture purement et simplement. Vous pouvez accéder à l’installation en renseignant l’adresse de votre serveur suivi de « setup-nextcloud.php » :
https://adresse_url.fr/setup-nextcloud.php ou https://127.0.0.1/setup-nextcloud.php.
On aime pas les utilisateurs assistés qui ne savent pas quoi faire dès qu’un message d’erreur indique « erreur de syntaxe » ou « commande non reconnue », du coup on ne va pas vous mettre les captures d’écran de l’assistant d’installation en vous indiquant de cliquer sur « suivant ».
sécuriser
configuration minimale
# apt-get install ufw -y
# ufw allow 80
# ufw allow 443
# ufw allow 22
# ufw enable
# nano /etc/apache2/conf-available/security.conf
Fichier de conf security.conf
. Ajoutez/Modifez les lignes suivantes
.
[...]
ServerSignature Off
#ServerSignature On
[...]
(ctrl+o + ctrl+x)
#systemctl restart apache2
Explications des commandes
ufw
La commande ufw est la façon simplifier de gérer NetFilter. NetFilter est le pare-feu Linux généralement géré via son « interface graphique » nommée iptable.
Ici, on autorise l’accès aux ports
- 80 (HTTP)
- 443 (HTTPS)
- 22 (SSH)
puis on active les règles avec l’argument enable.
vue d’ensemble
résolution des warning’s
Les commandes citées ci-dessous vous permettront de résoudre les messages suivants présents dans la vue d’ensemble.
AUcun cache mémoire configuré
Source : https://linuxfr.org/wiki/tuto-howto-nextcloud-activer-systeme-de-cache-memcache-avec-redis
#apt install -y redis-server php-redis -y
#nano /var/www/[dossier nextcloud]/config/config.php
Fichier de configuration « config.php »
Ajoutez les lignes suivantes avant « ); »
'memcache.local' => '\OC\Memcache\Redis', /* contient les scripts php précompilés */
'filelocking.enabled' => 'true',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0,
'dbindex' => 0,
),
/.well-know/[cardav/caldav]
#nano /etc/apache2/conf-available/nom_du_virtualhost-ssl.conf
Fichier de configuration « xxx-ssl.conf »
Ajoutez les lignes suivantes avant
[...]
Redirect 301 /.well-known/carddav https://[IP_OU_FQDN]/remote.php/dav
Redirect 301 /.well-known/caldav https://[IP_ou_FQDN]/remote.php/dav
[...]
Explications des commandes
xxxx-ssl.conf
L’ajout des lignes Redirect 301 /.well-known/carddav https://[IP_OU_FQDN]/remote.php/dav et Redirect 301 /.well-known/caldav https://[IP_OU_FQDN]/remote.php/dav doivent être ajoutées dans la configuration du VirtualHost *443. Si vous avez utiliser certbot, cette configuration est présente dans le fichier xxx-ssl.conf.
Si vous avez utiliser l’auto-signature du certificat, la modification doit s’effectuer dans le fichier xxxx.conf.
Fun fac occ
#apt install sudo
#cd /var/www/repertoire_nextcloud
#sudo -u www-data php occ db:add-missing-indices
#systemctl restart apache2
Explications des commandes
occ
Il arrive que NextCloud, nous indique un message de type « warning » dans la vue d’ensemble concernant add-missing-indices ou autre message du même type. Dans ce cas, il est nécessaire de se situer dans le repertoire de nextcloud et d’exécuter la commande indiquée ci-dessous avec l’argument correspondant.
I’m no longer certain where you’re getting your info, but good topic.
I must spend some time finding out much more or working out more.
Thank you for magnificent info I was searching for this info
for my mission.
Hi!
I’m relying on the nextcloud documentation and the tests I’ve done! 🙂
Excellent post. I used to be checking constantly
this blog and I’m inspired! Very useful information specifically the closing phase
🙂 I maintain such information a lot. I used to be seeking this
certain info for a very lengthy time. Thank you and
best of luck.
Thank you !
Hi there, I enjoy reading through your article.
I wanted to write a little comment to support you.
Thank you for your support ! 🙂
Hurrah! In the end I got a website from where I be able to really take useful facts concerning my
study and knowledge.
Thank you for your support!