logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:nextcloud [24/08/2017 13:50]
Hassassin [Installer nextcloud]
doc:reseau:nextcloud [24/08/2017 23:49]
Hassassin [Corrections et optimisations]
Ligne 73: Ligne 73:
 ping toto.fr ping toto.fr
 # doit me retourner une réponse affichant l'​adresse IP de mon serveur</​code>​ # doit me retourner une réponse affichant l'​adresse IP de mon serveur</​code>​
 +Nous allons également faire une petite modification du fichier "/​etc/​hosts"​ pour nos futur tests en local à l'aide de curl. L'​intérêt de réaliser des tests en local puis à distance permet de facilité la recherche en cas de problème.
 +<code root>
 +# A l'aide de l'​éditeur nano ou vim ou ouvre le fichier /etc/hosts
 +nano /etc/hosts
 +# L'​éditeur nano est plus simple à appréhender pour un débutant et l'aide se trouve en bas de l'​écran.
 +# Le sigle ^ signifie qu'il faut maintenir la touche du clavier CTRL. Quitter = ^X = CTRL + X
 +</​code>​
 +Et on rajoute ces lignes :
 +<file name hosts>
 +# Remplacer toto.fr par votre nom de domaine
 +# Remplacer madb, nuage et bureau par les nom que vous allez utiliser pour accéder à votre base de données, nextcloud et collabora.
 +# Exemple si vous avez acquis le nom de domaine : "​tartempion.org"​ et que vous voulez accéder à nextcloud via l'​adresse "​https://​cloud.tartempion.org",​ il vous faudra changer "​nuage.toto.fr"​ en "​cloud.tartempion.org"​.
 +127.0.0.1 toto.fr
 +127.0.0.1 madb.toto.fr
 +127.0.0.1 nuage.toto.fr
 +127.0.0.1 bureau.toto.fr
 +</​file>​
  
 ==== Installation d'un serveur de bases de données ==== ==== Installation d'un serveur de bases de données ====
 Nextcloud est compatible avec différentes bases de données : [[https://​mariadb.org/​|MariaDB]],​ [[https://​www.mysql.com/​fr/​|MySQL]],​ [[https://​www.postgresql.org/​|PostgreSQL]]... Nextcloud est compatible avec différentes bases de données : [[https://​mariadb.org/​|MariaDB]],​ [[https://​www.mysql.com/​fr/​|MySQL]],​ [[https://​www.postgresql.org/​|PostgreSQL]]...
 A moins d'une raison particulière,​ restons avec MariaDB qui est libre et très rependu //(plus facile pour trouver de l'aide et pour faire face à l'​installation de futurs projets)//. MariaDB est un fork //​(dérivé)//​ de MySQL. //(MySQL est devenu la propriété d'​Oracle.)//​ A moins d'une raison particulière,​ restons avec MariaDB qui est libre et très rependu //(plus facile pour trouver de l'aide et pour faire face à l'​installation de futurs projets)//. MariaDB est un fork //​(dérivé)//​ de MySQL. //(MySQL est devenu la propriété d'​Oracle.)//​
-<code user># En premier lieu on passe en utilisateur root en tapant simplement :+<note warning>​Pour les utilisateurs d'​autres distributions non basés sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</​note>​ 
 +<code user> 
 +# En premier lieu on passe en utilisateur root en tapant simplement :
 su su
 # Vous serez alors invités à rentrer le mot de passe du '​S'​uper '​U'​tilisateur root. # Vous serez alors invités à rentrer le mot de passe du '​S'​uper '​U'​tilisateur root.
Ligne 123: Ligne 142:
 == Installation du serveur web Apache2 et de PHP7 == == Installation du serveur web Apache2 et de PHP7 ==
 Là, on ne va pas s'​embêter on va tout installer en même temps. (Le serveur web Apache, PHP7 et ses modules.) Là, on ne va pas s'​embêter on va tout installer en même temps. (Le serveur web Apache, PHP7 et ses modules.)
 +<note warning>​Pour les utilisateurs d'​autres distributions non basés sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</​note>​
 <code root> <code root>
 apt install curl apache2 php7.0 php7.0-mysql php7.0-mbstring php7.0-gd php7.0-json php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip apt install curl apache2 php7.0 php7.0-mysql php7.0-mbstring php7.0-gd php7.0-json php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
Ligne 158: Ligne 178:
 Alors qu'il suffit de cliquer sur le bouton '​Modifier'​ avec une interface graphique.\\ Alors qu'il suffit de cliquer sur le bouton '​Modifier'​ avec une interface graphique.\\
 Et l'​interface graphique que l'on installera est [[https://​www.phpmyadmin.net/​|PhpMyAdmin]]. Il existe d'​autres solutions... bla bla bla. Et l'​interface graphique que l'on installera est [[https://​www.phpmyadmin.net/​|PhpMyAdmin]]. Il existe d'​autres solutions... bla bla bla.
 +<note warning>​Pour les utilisateurs d'​autres distributions non basés sur Debian, les répertoires seront peut-être différents.</​note>​
 <code root> <code root>
 # L'​idée est d'​obtenir http://​madb.toto.fr mais si "​madb"​ ne vous plait pas, vous changez chaque fois que "​madb"​ apparaît hein... # L'​idée est d'​obtenir http://​madb.toto.fr mais si "​madb"​ ne vous plait pas, vous changez chaque fois que "​madb"​ apparaît hein...
Ligne 188: Ligne 209:
 echo "Vhost madb OK!" >> /​var/​www/​madb/​index.php echo "Vhost madb OK!" >> /​var/​www/​madb/​index.php
 # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé)
-systemctl ​apache2 ​restart+systemctl restart ​apache2
 </​code>​ </​code>​
 <code user> <code user>
Ligne 226: Ligne 247:
 echo "Vhost nuage OK!" >> /​var/​www/​nuage/​index.php echo "Vhost nuage OK!" >> /​var/​www/​nuage/​index.php
 # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé)
-systemctl ​apache2 ​restart+systemctl restart ​apache2
 </​code>​ </​code>​
 <code user> <code user>
Ligne 241: Ligne 262:
 **Qu'​est-ce que //​Let'​s encrypt// ?**\\ **Qu'​est-ce que //​Let'​s encrypt// ?**\\
 \\ \\
-L'​introduction de [[https://​fr.wikipedia.org/​wiki/​Let%27s_Encrypt|wikipédia]] est parfaite : //​[[https://​letsencrypt.org/​|Let'​s Encrypt]] est une autorité de certification. Cette autorité fournit des certificats gratuits au moyen d'un processus automatisé destiné à se passer du processus complexe actuel impliquant la création manuelle, la validation, la signature, l'​installation et le renouvellement des certificats pour la sécurisation des sites internet.//+L'​introduction de [[https://​fr.wikipedia.org/​wiki/​Let%27s_Encrypt|wikipédia]] est parfaite : //​[[https://​letsencrypt.org/​|Let'​s Encrypt]]// est une autorité de certification. Cette autorité fournit des certificats gratuits au moyen d'un processus automatisé destiné à se passer du processus complexe actuel impliquant la création manuelle, la validation, la signature, l'​installation et le renouvellement des certificats pour la sécurisation des sites internet. 
 +<note warning>​Pour les utilisateurs d'​autres distributions non basés sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.<​/note>
 <code root> <code root>
 # On démarre sont installation # On démarre sont installation
Ligne 257: Ligne 279:
 # Entrez une adresse email valide si vous le souhaitez. (C'est préférable) # Entrez une adresse email valide si vous le souhaitez. (C'est préférable)
 # On accepte les Conditions "​qu'​on ne lit jamais"​... (On tape A) # On accepte les Conditions "​qu'​on ne lit jamais"​... (On tape A)
-# Et automatiquement,​ let's encrypt va vous modifier la configuration de vos virtualhostplanifier l’obtention de nouveau certificats+# Puis on nous demande si on utiliser exclusivement HTTPS ou non. Pour moi ça sera Oui touche 2 mais vous faites comme vous voulez. 
 +# Please choose whether HTTPS access is required or optional. 
 +# ------------------------------------------------------------------------------- 
 +# 1: Easy - Allow both HTTP and HTTPS access to these sites 
 +# 2: Secure - Make all requests redirect to secure HTTPS access 
 +# ------------------------------------------------------------------------------- 
 +# Select the appropriate number [1-2] then [enter] (press '​c'​ to cancel): 
 +#   
 +# Et automatiquement,​ let's encrypt va vous modifier la configuration de vos virtualhost ​et planifier l’obtention de nouveau certificats
 # avant leur expirations,​ etc. # avant leur expirations,​ etc.
 +# Nous allons jeter un coup d'oeil à nos fichiers de configuration des virtualhosts.
 +ls -l /​etc/​apache2/​sites-enabled/​
 +# Résultat : madb-le-ssl.conf
 +# Résultat : nuage-le-ssl.conf
 +# Parfait ! Let's Encrypt nous a bien créé les fichiers ^^
 +# On test. (Soyez attentif, ce coup-ci je test avec http"​S"​)
 +curl https://​madb.toto.fr
 +# Retour : Vhost madb OK!
 +curl https://​nuage.toto.fr
 +# Retour : Vhost nuage OK!
 </​code>​ </​code>​
-//A cette étape, n'​ayant pas fait l'​acquisition du nom de domaine toto.fr (faut pas déconner...) ni d'​aucun autre nom de domaine, j'ai inévitablement comme réponse de    Let's encrypt : Name does not end in a public suffix. Donc si quelqu'​un avait une remarque ou modification à faire, qu'il ne s'en prive pas. De plus, n'​ayant pas les fichiers *.conf des virtualhost de modifiés, j'ai un doute sur les "​Header set ..." à appliquer pour obtenir une installation dites sécurisée via les scanners du type https://​observatory.mozilla.org // FIXME+
  
 ==== Installation de PhpMyAdmin ==== ==== Installation de PhpMyAdmin ====
 +<note warning>​Pour les utilisateurs d'​autres distributions non basés sur Debian, les répertoires seront peut-être différents.</​note>​
 <code root> <code root>
 # On télécharge la dernière version de phpmyadmin. Pour ça, encore faut-il se rendre sur le site officiel : https://​www.phpmyadmin.net # On télécharge la dernière version de phpmyadmin. Pour ça, encore faut-il se rendre sur le site officiel : https://​www.phpmyadmin.net
Ligne 318: Ligne 359:
 wget https://​download.nextcloud.com/​server/​releases/​nextcloud-12.0.2.zip wget https://​download.nextcloud.com/​server/​releases/​nextcloud-12.0.2.zip
 # On décompresse l'​archive obtenue. (Le nom de l'​archive dépend de ce que vous avez téléchargé.) ​ # On décompresse l'​archive obtenue. (Le nom de l'​archive dépend de ce que vous avez téléchargé.) ​
-unzip nextcloud-12.0.2.zip -d ./nc+unzip nextcloud-12.0.2.zip -d nc
 # On copie les fichiers décompressés dans le dossier du virtualhost prévu pour accueillir nextcloud. (Dans mon cas "​nuage"​.) # On copie les fichiers décompressés dans le dossier du virtualhost prévu pour accueillir nextcloud. (Dans mon cas "​nuage"​.)
-cp -r ./​nc/​nextcloud /​var/​www/​nuage+cp -r ./​nc/​nextcloud/* /​var/​www/​nuage
 # On copie également les deux fichiers cachés (fichiers commençant par un point : .fichier) # On copie également les deux fichiers cachés (fichiers commençant par un point : .fichier)
 cp ./​nc/​nextcloud/​.htaccess /​var/​www/​nuage/​.htaccess cp ./​nc/​nextcloud/​.htaccess /​var/​www/​nuage/​.htaccess
Ligne 446: Ligne 487:
 # Retour : Service solr installed. # Retour : Service solr installed.
 # Retour : solr.service - LSB: Controls Apache Solr as a Service # Retour : solr.service - LSB: Controls Apache Solr as a Service
 +# Appuyer sur la touche "​Q"​ du clavier à la fin de l'​installation
 </​code>​ </​code>​
 <note tip>Solr installe également une interface de gestion web disponible par défaut via http://​toto.fr:​8983. A vous de sécuriser l'​accès à cette interface avec "​iptables"​ par exemple. Procédure qui n'​aurait pas de sens à être décrite dans cette documentation. L'​utilisation d'​iptables mérite que l'on se documente correctement : [[:​doc:​reseau:​iptables|iptables : pare-feu, routage et filtrage de paquets]]\\ <note tip>Solr installe également une interface de gestion web disponible par défaut via http://​toto.fr:​8983. A vous de sécuriser l'​accès à cette interface avec "​iptables"​ par exemple. Procédure qui n'​aurait pas de sens à être décrite dans cette documentation. L'​utilisation d'​iptables mérite que l'on se documente correctement : [[:​doc:​reseau:​iptables|iptables : pare-feu, routage et filtrage de paquets]]\\
Ligne 569: Ligne 611:
 apt install apt-transport-https apt install apt-transport-https
 # On télécharge et on installe la clef publique du dépôt de Docker # On télécharge et on installe la clef publique du dépôt de Docker
-curl -fsSL https://​download.docker.com/​linux/​debian/​gpg | sudo apt-key add -+curl -fsSL https://​download.docker.com/​linux/​debian/​gpg | apt-key add -
 # On ajoute le dépôt de Docker à notre liste des dépôts ​ # On ajoute le dépôt de Docker à notre liste des dépôts ​
-echo -e "# Depôt Docker\ndeb [arch=amd64] https://​download.docker.com/​linux/​debian stretch stable"​ >> /​etc/​apt/​sources.list+echo -e "\n# Depôt Docker\ndeb [arch=amd64] https://​download.docker.com/​linux/​debian stretch stable"​ >> /​etc/​apt/​sources.list
 # On met à jour la liste des paquets disponibles de nos dépôts # On met à jour la liste des paquets disponibles de nos dépôts
 apt update apt update
Ligne 579: Ligne 621:
 docker version docker version
 # Retour : Version: ​     17.06.1-ce # Retour : Version: ​     17.06.1-ce
 +# Par défaut sur Debian et Ubuntu, Docker s'​installe de façon à utiliser le driver AUFS.
 +# Nous devons changer ce comportement pour que Collabora Online fonctionne.
 +# Création du dossier d'un dossier "​docker.service.d"​
 +mkdir /​etc/​systemd/​system/​docker.service.d
 +# Création du fichier "​DeviceMapper.conf"​
 +nano /​etc/​systemd/​system/​docker.service.d/​DeviceMapper.conf
 +</​code>​
 +Et on rentre ces 3 lignes dans le fichier "​DeviceMapper.conf"​.
 +<file name DeviceMapper.conf>​
 +[Service]
 +ExecStart=
 +ExecStart=/​usr/​bin/​dockerd --storage-driver=devicemapper -H fd://
 +</​file>​
 +<code root>
 +#On redémarre Docker de manière à ce qu'il prenne en charge la nouvelle configuration.
 +systemctl daemon-reload
 +systemctl restart docker
 +# Et on vérifie que le nouveau paramètre est bien pris en compte
 +docker info
 +# Retour 7° ligne : Storage Driver: devicemapper
 # On récupère l'​image de Collabora Online Development Edition # On récupère l'​image de Collabora Online Development Edition
 docker pull collabora/​code docker pull collabora/​code
Ligne 587: Ligne 649:
 # 2b61829b0db5:​ Download complete ​ # 2b61829b0db5:​ Download complete ​
 # ... # ...
-# Enfin on créé et on démarre le conteneur qui exécutera l'​image téléchargé. (Remplacer "​nuage"​ si besoin...)+# Enfin on créé et on démarre le conteneur qui exécutera l'​image téléchargé. 
 +#(Remplacer "​nuage"​ si besoin ​et le nom de domaine mais, gardez bien les "​\\"​ avant chaque point...)
 docker run -t -d -p 127.0.0.1:​9980:​9980 -e '​domain=nuage\\.toto\\.fr'​ --restart always --cap-add MKNOD collabora/​code docker run -t -d -p 127.0.0.1:​9980:​9980 -e '​domain=nuage\\.toto\\.fr'​ --restart always --cap-add MKNOD collabora/​code
 </​code>​ </​code>​
Ligne 598: Ligne 661:
 a2enmod proxy_http a2enmod proxy_http
 a2enmod ssl a2enmod ssl
-# En activant "​proxy",​ "​proxy_wstunnel"​ et "​proxy_http devrait"​ devraient s'​activer également mais on le déclare quand même histoire de... 
 # ssl devrait déjà être activé si vous avez bien suivi cette documentation. Activez-le de nouveau si vous voulez être sûr... # ssl devrait déjà être activé si vous avez bien suivi cette documentation. Activez-le de nouveau si vous voulez être sûr...
 # Puis on créé un nouveau fichier de configuration pour notre nouveau virtualhost. ​ # Puis on créé un nouveau fichier de configuration pour notre nouveau virtualhost. ​
Ligne 658: Ligne 720:
 # 2: madb.toto.fr # 2: madb.toto.fr
 # 3: nuage.toto.fr # 3: nuage.toto.fr
-# On répond à toutes les question ​que letsencrypt nous pose. +# On répond à toutes les questions ​que letsencrypt nous pose
-# On active le virtualhost bureau. (Ici bureau car mon fichier se nomme bureau.conf)+# Première question on fait Entrer pour que Let's Encrypt traite tous les virtualhosts trouvés. ("​bureau"​ devrait apparaître.) 
 +# Do you want to expand and replace this existing certificate with the new certificate?​ 
 +# On choisis d'​étendre : Touche "​E"​ puis entrer
 +# On active le virtualhost ​"bureau". (Ici "bureau" ​car mon fichier ​d'​origine ​se nomme bureau.conf)
 a2ensite bureau a2ensite bureau
 # "​a2ensite bureau"​ revient à faire : ln -s /​etc/​apache2/​sites-available/​bureau.conf /​etc/​apache2/​sites-enabled/​bureau.conf # "​a2ensite bureau"​ revient à faire : ln -s /​etc/​apache2/​sites-available/​bureau.conf /​etc/​apache2/​sites-enabled/​bureau.conf
Ligne 665: Ligne 730:
 systemctl restart apache2 systemctl restart apache2
 </​code>​ </​code>​
-//A cette étape, n'​ayant pas fait l'​acquisition du nom de domaine toto.fr ni d'​aucun autre nom de domaine, j'ai inévitablement comme réponse de Let's encrypt : Name does not end in a public suffix. Donc si quelqu'​un avait une remarque ou modification à faire, qu'il ne s'en prive pas. De plus, n'​ayant pas les fichiers *.conf des virtualhost de modifiés, je ne suis pas certain que le paragraphe suivant se passe de la sorte "sans encombre"​. FIXME//\\ +
-\\+
 On file ensuite dans la gestion des applications Nextcloud : “Applications → Bureautique et texte” et on clique sur "​Activer"​ (Collabora). Enfin, dans l'​administration de Nextcloud une nouvelle ligne apparaît dans le volet de gauche pour configurer Collabora Online. On entre l'​adresse de Collabora : https://​bureau.toto.fr (dans mon cas) et on décoche "​Utiliser le format OOXML..."​ si on le souhaite. A présent, dans votre espace Nextcloud, en cliquant sur le bouton "​+"​ (à côté de la maison), de nouveaux formats de fichier seront proposés. Cliquez sur l'un d'​entre eux (//Ex: Nouvelle feuille de calcul//), donnez lui un nom et appuyez sur la touche Entrer pour confirmer le nom du fichier. Une fois créé, cliquez dessus pour l'​ouvrir. Collabora Online devrait prendre le relais pour l'​édition du fichier. 8-) On file ensuite dans la gestion des applications Nextcloud : “Applications → Bureautique et texte” et on clique sur "​Activer"​ (Collabora). Enfin, dans l'​administration de Nextcloud une nouvelle ligne apparaît dans le volet de gauche pour configurer Collabora Online. On entre l'​adresse de Collabora : https://​bureau.toto.fr (dans mon cas) et on décoche "​Utiliser le format OOXML..."​ si on le souhaite. A présent, dans votre espace Nextcloud, en cliquant sur le bouton "​+"​ (à côté de la maison), de nouveaux formats de fichier seront proposés. Cliquez sur l'un d'​entre eux (//Ex: Nouvelle feuille de calcul//), donnez lui un nom et appuyez sur la touche Entrer pour confirmer le nom du fichier. Une fois créé, cliquez dessus pour l'​ouvrir. Collabora Online devrait prendre le relais pour l'​édition du fichier. 8-)
-===== Configuration ​===== +===== Corrections et optimisations ​===== 
 +==== Nextcloud ==== 
 +Suite à l'​installation,​ vous avez peut-être constaté les messages suivants dans l'​interface d'​administration : 
 +  * 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. 
 +  * Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'​utilisation de HTTPS, comme expliqué dans nos conseils de sécurisation. 
 +  * Aucun cache mémoire n'est configuré. Si possible, configurez un "​memcache"​ pour améliorer les performances. Pour plus d'​informations consultez la documentation. 
 +  * Le PHP OPcache n'est pas correctement configuré. Pour de meilleure performance nous recommandons d'​utiliser les paramètres suivant dans le php.ini : //(Suivi des paramètres à modifier.)//​  
 +Et dans les logs, peut être avez-vous eu le message d'​erreur : 
 +  * Undefined offset: 3 at /​var/​www/​nuage/​apps/​activity/​lib/​FilesHooks.php#​620
  
 +==== Collabora Online ====
 +  * Échec du chargement du document. Veuillez vous assurer que le type de fichier est pris en charge, qu'il n'est pas corrompu et essayez de nouveau. = //device mapper//.
 +  * Hôte WOPI non autorisé. Veuillez essayer de nouveau plus tard et en faire part à votre administrateur si le problème persiste. = //docker run, vhost proxy conf ou certificats//​.
doc/reseau/nextcloud.txt · Dernière modification: 01/10/2023 12:02 par captnfab

Pied de page des forums

Propulsé par FluxBB