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 →
Ci-dessous, les différences entre deux révisions de la page.
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 16:46] Hassassin [Préparation] |
doc:reseau:nextcloud [24/04/2023 19:03] lagrenouille [nextcloud installation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Installer nextcloud ====== | + | ====== nextcloud installation ====== |
* Objet : Installation de nextcloud | * Objet : Installation de nextcloud | ||
* Niveau requis : {{tag> avisé}} | * Niveau requis : {{tag> avisé}} | ||
- | * Commentaires : //Installation de nextcloud et des applications nextcloud les plus utiles.// | + | * Commentaires : //Installation de nextcloud et des applications nextcloud les plus utiles.// |
* Débutant, à savoir : [[:doc:install:install|Installer Debian]], [[:doc:systeme:commandes:gnu_linux|utiliser les commandes de bases]], [[:doc:reseau:ssh|accéder en ssh à son serveur]] et [[:doc:editeurs:vim:vim|utiliser vim]] ou [[:doc:editeurs:nano|nano]] sont un minimum... | * Débutant, à savoir : [[:doc:install:install|Installer Debian]], [[:doc:systeme:commandes:gnu_linux|utiliser les commandes de bases]], [[:doc:reseau:ssh|accéder en ssh à son serveur]] et [[:doc:editeurs:vim:vim|utiliser vim]] ou [[:doc:editeurs:nano|nano]] sont un minimum... | ||
- | * Suivi : {{tag>en-chantier}} | + | * Suivi : {{tag>à-corriger}} |
* Création par [[user>Hassassin]] 17/08/2017 | * Création par [[user>Hassassin]] 17/08/2017 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=235098 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=235098 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | * relu et augmenté le 24/04/2023 par lagrenouille | ||
**Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | **Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | ==== Qu'est-ce que nextcloud ?==== | + | |
+ | **ATTENTION !** | ||
+ | |||
+ | Cette documentation suit l'installation d'une [[doc:systeme:apt:sources.list:stretch|Debian 9 (stretch)]] | ||
+ | - **sans environnement de bureau** //([[doc:systeme:console|ligne de commande uniquement]])// et | ||
+ | - **avec une connexion internet fonctionnelle** ! | ||
+ | |||
+ | ===== Qu'est-ce que nextcloud ? ===== | ||
**[[https://nextcloud.com/|Nextcloud]]** est une solution client/serveur pour héberger ses fichiers et y accéder à travers une interface conviviale au même titre que **Dropbox**, **Google Drive**, **OneDrive**, **Amazone cloud drive** et **Box**, pour ne citer que les solutions les plus connues. | **[[https://nextcloud.com/|Nextcloud]]** est une solution client/serveur pour héberger ses fichiers et y accéder à travers une interface conviviale au même titre que **Dropbox**, **Google Drive**, **OneDrive**, **Amazone cloud drive** et **Box**, pour ne citer que les solutions les plus connues. | ||
- | **Nextcloud** est un **fork** //(un dérivé)// du projet initial qui se nomme **ownCloud**. Aujourd'hui le développement de la solution **Nextcloud** est **plus actif** que celui d'**ownCloud**. Ce qu'il faut retenir de la différence entre **Nextcloud** et **ownCloud** est qu'**ownCloud** est à présent dans une logique commerciale... | + | **Nextcloud** est un **fork** //(un dérivé)// du projet initial qui se nomme **ownCloud**. \\ |
- | ==== Pourquoi installer nextcloud ?==== | + | Aujourd'hui le développement de la solution **Nextcloud** est **plus actif** que celui d'**ownCloud**. \\ |
- | - Voilà quelques années que j'estime que de ne pas pouvoir accéder à ses données n'importe où, n'importe quand est très regrettable quand on sait que nous //"respirons"// internet. Merci la démocratisation des smartphones ;-) | + | Ce qu'il faut retenir de la différence entre **Nextcloud** et **ownCloud** est qu'**ownCloud** est à présent dans une logique commerciale... |
- | - Sans être paranoïaque, **Google**, **Apple**, **Microsoft** & co ont suffisamment de pouvoir. Allons-nous en plus leur confier toutes nos données ? //(**Nextcloud** et ses applications permettent une alternative aux chapelets Google Drive/Gmail/G.Agenda/G.Docs... ou Microsoft oneDrive/outlook/office365...)// | + | |
+ | ===== Pourquoi installer nextcloud ? ===== | ||
+ | |||
+ | Voilà quelques années que j'estime que de ne pas pouvoir accéder à ses propres données n'importe où, n'importe quand, est très regrettable quand on sait que nous //"respirons"// internet. | ||
+ | |||
+ | //Merci la démocratisation des smartphones// ;-) | ||
+ | |||
+ | Sans être paranoïaque, **Google**, **Apple**, **Microsoft** & **co** ont suffisamment de pouvoirs. Allons-nous en plus leur confier l'accès libre à toutes nos données ? :-P | ||
+ | - **Nextcloud** et ses applications permettent une alternative aux chapelets Google Drive/Gmail/G.Agenda/G.Docs... ou à Microsoft les oneDrive/outlook/office365...) | ||
- **Nextcloud** est **open source**, distribué **gratuitement** et **installable sur son propre serveur**. | - **Nextcloud** est **open source**, distribué **gratuitement** et **installable sur son propre serveur**. | ||
- | ==== En continuant la lecture, quel sera le résultat ? ==== | + | - **Nextcloud** intègre maintenant OnlyOffice, qui permet de travailler à plusieurs sur un même texte |
+ | ===== Installation de base ===== | ||
En suivant cette documentation : | En suivant cette documentation : | ||
- Vous hébergerez vos fichiers sur votre propre serveur. | - Vous hébergerez vos fichiers sur votre propre serveur. | ||
- Vous aurez un traitement de texte, un tableur, un agenda et un client email en ligne. | - Vous aurez un traitement de texte, un tableur, un agenda et un client email en ligne. | ||
- | - Vous pourrez effectuer des recherches basé sur le contenu de vos documents. (Et non que par le nom du fichier/dossier) | + | - Vous pourrez effectuer des recherches basées sur le contenu de vos documents. (Et non que par le nom du fichier/dossier). |
- | - Vous pourrez instaurer des quotas d'espace disque aux autres usagers. | + | - Vous pourrez instaurer des quotas d'espaces disques aux autres usagers. |
- | - Et plus selon les applications nextcloud à venir et le temps disponible des contributeurs. | + | - Et plus, selon les applications nextcloud à venir et le temps disponible des contributeurs ! |
- | <note important>**Cette documentation suit l'installation d'une Debian 9 (stretch) sans environnement de bureau (ligne de commande uniquement) et avec une connexion internet fonctionnelle !**</note> | ||
===== Préparation ===== | ===== Préparation ===== | ||
- | On commence par se rendre sur le [[https://docs.nextcloud.com/server/12/admin_manual/installation/system_requirements.html|site officiel de nextcloud]] pour vérifier les prérequis pour accueillir la solution. | + | |
- | ==== Prérequis matériel ==== | + | On commence par se rendre sur le [[https://docs.nextcloud.com/server/12/admin_manual/installation/system_requirements.html|site officiel de nextcloud]] pour vérifier les prérequis à la solution. |
- | Il est dit que Nextcloud nécessite un minimum de 128MB de mémoire vive mais qu'il est recommandé d'avoir au moins 512MB. Il est dit aussi que selon le nombre d'utilisateurs et la quantité de données à traiter, ce prérequis peut augmenter. | + | |
+ | ==== Prérequis matériels ==== | ||
+ | |||
+ | Il est dit que Nextcloud nécessite un minimum de 128MB de mémoire vive mais qu'il est recommandé d'avoir au moins 512MB. \\ | ||
+ | Il est dit aussi que selon le nombre d'utilisateurs et la quantité de données à traiter, ce prérequis peut augmenter. | ||
<note>Memory requirements for running an Nextcloud server are greatly variable, depending on the numbers of users and files, and volume of server activity. Nextcloud needs a minimum of 128MB RAM, and we recommend a minimum of 512MB.</note> | <note>Memory requirements for running an Nextcloud server are greatly variable, depending on the numbers of users and files, and volume of server activity. Nextcloud needs a minimum of 128MB RAM, and we recommend a minimum of 512MB.</note> | ||
- | On ne parle ici que de la solution nextcloud de base. L'ajout d'applications //(ou plugin)// feront grimper ce minimum requis. Si votre serveur dispose de 2 à 4GB de mémoire vive et que le nombre d'utilisateurs ne dépasse pas une utilisation //"familiale"//, vous ne devriez rencontrer aucun problème. Autrement, il faudra peut-être user de la carte bancaire pour mettre à jour/changer son serveur ou se passer de certaines applications telle que **Collabora** qui permet d'avoir une suite bureautique en ligne //(traitement de texte, tableur, etc)// et/ou **Nextant** qui permet de scanner le contenu des documents avec fonction [[https://fr.wikipedia.org/wiki/Reconnaissance_optique_de_caractères|OCR]] en vu de recherches plus pertinentes. | + | On ne parle ici que de la solution nextcloud de base. \\ |
+ | L'ajout d'applications //(ou plugin)// feront grimper ce minimum requis. | ||
+ | |||
+ | Si votre serveur dispose de 2 à 4GB de mémoire vive et que le nombre d'utilisateurs ne dépasse pas une utilisation //"familiale"//, vous ne devriez pas rencontrer de problème. Autrement, il faudra peut-être user de la carte bancaire pour mettre à jour/changer son serveur ou se passer de certaines applications telle que : | ||
+ | * **Collabora** qui permet d'avoir une suite bureautique en ligne //(traitement de texte, tableur, etc)// | ||
+ | * [**OBSOLÈTE**] et/ou **Nextant** qui permet de scanner le contenu des documents avec fonction [[https://fr.wikipedia.org/wiki/Reconnaissance_optique_de_caractères|OCR]] en vu de recherches plus pertinentes. | ||
<note>Personnellement, je ne me suis pas encore penché sur des tests de charge mais je compléterai ces infos dès que possible.</note> | <note>Personnellement, je ne me suis pas encore penché sur des tests de charge mais je compléterai ces infos dès que possible.</note> | ||
- | ==== Prérequis logiciel ==== | + | |
+ | ==== Prérequis logiciels ==== | ||
Nextcloud nécessite : | Nextcloud nécessite : | ||
- | * Un système GNU linux | + | * Un [[doc:systeme:gnu-linux|système GNU linux]] |
* Une base de données | * Une base de données | ||
* Un serveur web avec php | * Un serveur web avec php | ||
* Un certificat SSL (non mentionné mais obligatoire pour certaines applications) | * Un certificat SSL (non mentionné mais obligatoire pour certaines applications) | ||
* Un nom de domaine (obligatoire pour obtenir un certificat SSL) | * Un nom de domaine (obligatoire pour obtenir un certificat SSL) | ||
- | <note important>**Comme indiqué plus haut, cette documentation est basée sur une Debian 9 (stretch) fraîchement installée. Cette documentation est à adapter selon votre système. Pour les utilisateurs de distributions basées sur le projet Debian comme Ubuntu et Linux Mint, l'essentiel de la procédure est valable à conditions d'être sur des montures récentes de ces distributions. Je tenterai d'indiquer les endroits où vous devrez vous méfier.**</note> | + | |
- | ==== Les étapes de la préparation ==== | + | <note important>Comme indiqué plus haut : \\ **cette documentation est basée sur une [[doc:systeme:apt:sources.list:stretch|Debian 9 (stretch)]] fraîchement installée !** \\ \\ Cette documentation est aussi à adapter selon votre système. Pour les utilisateurs de distributions basées sur le projet Debian comme **Ubuntu** ou **Linux Mint**, l'essentiel de la procédure est valable à condition d'être sûr des montures((mises à jour)) récentes de ces distributions. \\ \\ //Je tenterai d'indiquer les endroits où vous devrez vous méfier.// ;-) </note> |
+ | |||
+ | ==== Les étapes à suivre ==== | ||
* Acquisition d'un nom de domaine et paramétrage | * Acquisition d'un nom de domaine et paramétrage | ||
* Installation d'un serveur de bases de données | * Installation d'un serveur de bases de données | ||
Ligne 57: | Ligne 89: | ||
* Installation de PhpMyAdmin | * Installation de PhpMyAdmin | ||
* Création de la base de données et utilisateur nextcloud | * Création de la base de données et utilisateur nextcloud | ||
- | ==== Acquisition d'un nom de domaine et paramétrage ==== | + | |
- | Un nom de domaine permet entre autre d'accéder à //"un serveur"// relié au réseau internet par un nom plutôt que par une adresse IP. Il est plus commode de taper dans son navigateur : https://debian-facile.org plutôt que https://151.80.145.212.\\ | + | ==== Nom de domaine et paramétrage ==== |
- | Si votre serveur est hébergé chez un prestataire vous devez probablement avoir un nom de domaine compris dans votre offre. Autrement il faudra en faire l'acquisition.\\ | + | |
- | Si votre serveur est hébergé en local (à votre domicile), vérifiez que vous disposez bien d'une **adresse IP publique fixe** ! (Seul votre fournisseur d'accès à internet peut intervenir à ce niveau. **Attention,** certains fournisseurs ne permettent pas l'obtention d'une IP fixe pour les offres "grand public". Dans ce cas, changez d'offre, d'opérateur ou optez pour un hébergeur...)\\ | + | Un nom de domaine permet entre autre d'accéder à //"un serveur"// relié au réseau internet par un nom plutôt que par une adresse IP. \\ |
- | \\ | + | Il est plus commode de taper dans son navigateur : |
- | Vous pouvez faire l'acquisition d'un nom de domaine chez n'importe quel prestataire : [[https://www.gandi.net/domaine|Gandi]], [[https://www.ovh.com/fr/domaines/|OVH]], [[https://www.online.net/fr/nom-de-domaine|Online.net]]... A vous de comparer les prix. Que vous choisissiez du *.fr, *.com, *.eu ou *.tartempion, pour la mise en place de la solution nextcloud on s'en fiche totalement. En jetant un coup d'oeil rapide j'ai vu chez Gandi du *.space pour 1€/an...\\ | + | * %%https://debian-facile.org%% plutôt que %%https://151.80.145.212.%% |
- | <note tip>Oubliez tout de suite l'idée d'un nom de domaine gratuit ! Et chercher à économiser de 1 à 10€ par an...</note> | + | * Si votre serveur est hébergé chez un prestataire vous devez probablement avoir un nom de domaine compris dans votre offre. \\Autrement il faudra en faire l'acquisition. |
- | Si vous cherchez un hébergeur à petit budget pour un serveur dédié ou serveur dédié virtuel, regardez du côté de [[https://www.kimsufi.com/fr/|Kimsufi]], [[https://www.online.net/fr/serveur-dedie|Online.net]], [[https://www.ovh.com/fr/vps/|OVH (VPS)]]. Attention à bien regarder les caractéristiques techniques des machines : processeur, mémoire vive et espace de stockage. | + | * Si votre serveur est hébergé en local (à votre domicile), vérifiez que vous disposez bien d'une **adresse IP publique fixe** ! (Seul votre fournisseur d'accès à internet peut intervenir à ce niveau. \\ **Attention,** certains fournisseurs ne permettent pas l'obtention d'une IP fixe pour les offres "grand public". Dans ce cas, changez d'offre, d'opérateur ou optez pour un hébergeur...) |
- | Une fois le nom de domaine acquis, accédez à son interface d'administration (voir l'email reçu de votre prestataire) pour paramétrer la zone. | + | |
+ | Vous pouvez faire l'acquisition d'un nom de domaine chez n'importe quel prestataire comme : \\ | ||
+ | [[https://www.gandi.net/domaine|Gandi]], \\ [[https://www.ovh.com/fr/domaines/|OVH]], \\ [[https://www.online.net/fr/nom-de-domaine|Online.net]]... | ||
+ | |||
+ | À vous de comparer les prix. \\ | ||
+ | Que vous choisissiez du *.fr, *.com, *.eu ou *.tartempion, pour la mise en place de la solution nextcloud on s'en fiche totalement. | ||
+ | |||
+ | //En jetant un coup d'oeil rapide j'ai vu chez Gandi du *.space pour 1€/an...// | ||
+ | <note tip>Oubliez tout de suite l'idée d'un nom de domaine gratuit en cherchant juste à économiser de 1 à 10€ par an !</note> | ||
+ | Si vous cherchez un hébergeur à petit budget pour un serveur dédié ou serveur dédié virtuel, regardez du côté de : | ||
+ | * [[https://www.kimsufi.com/fr/|Kimsufi]], | ||
+ | * [[https://www.online.net/fr/serveur-dedie|Online.net]], | ||
+ | * [[https://www.ovh.com/fr/vps/|OVH (VPS)]]. | ||
+ | Attention à bien regarder les caractéristiques techniques des machines : | ||
+ | - processeur, | ||
+ | - mémoire vive et | ||
+ | - espace de stockage. | ||
+ | |||
+ | Une fois le nom de domaine acquis, accédez à son interface d'administration //(voir l'email reçu de votre prestataire)// pour paramétrer la zone. | ||
L'objectif est de faire pointer votre nom de domaine vers l'adresse IP de votre serveur en créant au moins un enregistrement : | L'objectif est de faire pointer votre nom de domaine vers l'adresse IP de votre serveur en créant au moins un enregistrement : | ||
<note>**Sous domaine ou nom [*] Type [A] Value [//adresse_ip_serveur//]**</note> | <note>**Sous domaine ou nom [*] Type [A] Value [//adresse_ip_serveur//]**</note> | ||
- | Impossible de vous détailler la procédure puisque l'interface d'administration est propre au prestataire. Au pire, contactez leur service clients. Soyez patient, les enregistrements prennent souvent plusieurs heures avant leur prise en charge. Vérifiez régulièrement à l'aide de la commande : | + | |
- | <code user>ping mon_nom_de_domaine | + | Impossible de vous détailler la procédure ici puisque l'interface d'administration est propre au prestataire. \\ |
- | # Si j'ai "acheté" le nom de domaine toto.fr | + | Au pire, contactez leur service clients. \\ |
- | ping toto.fr | + | Soyez patient, les enregistrements prennent souvent plusieurs heures avant leur prise en charge. \\ |
- | # doit me retourner une réponse affichant l'adresse IP de mon serveur</code> | + | Vérifiez régulièrement à l'aide de la commande : |
- | 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 user>ping mon_nom_de_domaine</code> |
- | <code root> | + | Exemple : \\ |
- | # A l'aide de l'éditeur nano ou vim ou ouvre le fichier /etc/hosts | + | Si j'ai **acheté** le //nom de domaine// ''toto.fr '' j'écrirai : |
- | nano /etc/hosts | + | <code user>ping toto.fr</code> |
- | # L'éditeur nano est plus simple à appréhender pour un débutant et l'aide se trouve en bas de l'écran. | + | qui doit me retourner une réponse affichant l'''adresse IP '' de mon serveur. |
- | # Le sigle ^ signifie qu'il faut maintenir la touche du clavier CTRL. Quitter = ^X = CTRL + X | + | |
- | </code> | + | Nous allons également faire une petite modification du fichier ''/etc/hosts'' pour nos futurs tests en local à l'aide de curl. |
- | Et on rajoute ces lignes : | + | <note tip>L'intérêt de réaliser des tests en local puis à distance c'est de faciliter la recherche en cas de problème ! ;-) </note> |
- | <file name hosts> | + | |
- | # Remplacer toto.fr par votre nom de domaine | + | À l'aide de l'éditeur [[doc:editeurs:nano|nano]] on ouvre le fichier ''/etc/hosts '' ainsi : |
- | # Remplacer madb, nuage et bureau par les nom que vous allez utiliser pour accéder à votre base de données, nextcloud et collabora. | + | <code root>nano /etc/hosts</code> |
- | # 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". | + | Et on rajoute ces lignes où le //nom de domaine// : ''toto.fr '' est à remplacer par le //nom de domaine// **que vous avez acquis !!!** : |
- | 127.0.0.1 toto.fr | + | <file name hosts>127.0.0.1 toto.fr |
127.0.0.1 madb.toto.fr | 127.0.0.1 madb.toto.fr | ||
127.0.0.1 nuage.toto.fr | 127.0.0.1 nuage.toto.fr | ||
127.0.0.1 bureau.toto.fr | 127.0.0.1 bureau.toto.fr | ||
</file> | </file> | ||
+ | <note important>Remplacer le //nom de domaine// pris en exemple pour ce tuto : ''toto.fr'' par votre ''nom de domaine''. \\ Remplacer aussi les noms : ''madb '', ''nuage '' et ''bureau '' par ceux que vous allez utiliser pour accéder à votre base de données, //nextcloud// et //collabora//.</note> | ||
- | ==== Installation d'un serveur de bases de données ==== | + | ==== 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]]... | + | |
- | 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.)// | + | 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 répandu //(cela le rend 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.)// | ||
<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> | <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 : | + | En premier lieu on passe en [[doc:systeme:superutilisateur|utilisateur root]] en utilisant : |
- | su | + | [[doc:systeme:su|la commande su]] : |
- | # Vous serez alors invités à rentrer le mot de passe du 'S'uper 'U'tilisateur root. | + | <code user> su</code> |
- | </code> | + | |
- | == Installation de MariaDB == | + | === Installation de MariaDB === |
- | <code root># On fait une mise à jour de la liste des paquets | + | |
- | apt update | + | On fait une [[doc:systeme:apt:apt|mise à jour de la liste des paquets]] : |
- | # et on en profite pour mettre à jour son système. | + | <code root>apt update</code> |
- | apt full-upgrade | + | Et on en profite pour mettre à jour son système : |
- | # On lance l'installation de MariaDB. | + | <code root>apt full-upgrade</code> |
- | apt install mariadb-server | + | On lance l'installation de MariaDB : |
- | # Un grand nombre de paquets supplémentaires sont proposés (plus d'une trentaine), c'est normal. On répond par 'O'ui. | + | <code root>apt install mariadb-server</code> |
- | </code> | + | Un grand nombre de paquets supplémentaires sont proposés (plus d'une trentaine), c'est normal. \\ |
- | Sécurisons un peu notre installation de MariaDB. | + | On répond par 'O'ui. |
- | <code root># On lance un assistant prévu à cet effet. | + | |
- | mysql_secure_installation | + | Sécurisons un peu notre installation de MariaDB : \\ |
- | # Il suffit alors de répondre aux questions. | + | On lance un assistant prévu à cet effet : |
- | # La première question vous demande de rentrer le mot de passe actuel de root. Il n'y en a pas. On laisse vide et on fait Entrer. | + | <code root>mysql_secure_installation</code> |
- | # On vous demande si vous souhaitez définir un mot de passe. On répond Oui (Y) et on le saisi par la suite. | + | Il suffit alors de répondre aux questions : |
- | # (Ne soyez pas boulet, rappelez-vous en ou notez-le !) | + | |
- | # [J'utiliserai $MDPmaria-root% les fois où nous aurons besoin de le renseigner tout au long de cette documentation.] | + | **La première question** vous demande de : |
- | # Question suivante : supprimer les utilisateurs anonymes ? Oui (Y). | + | * //rentrer le mot de passe actuel de root.// \\ Il n'y en a pas ! On laisse vide et on valide par ''Entrer'' du clavier. |
- | # Interdire les connexions distantes pour root ? Oui (Y). (Il ne pourra se connecter qu'en local. | + | * //On vous demande si vous souhaitez définir un mot de passe ?// \\ On répond : <code>Oui (Y)</code> et //on le saisi à la suite.// |
- | # Si vous trouvez ça étrange, passez sur le forum ou sur le salon irc pour demander des explications.) | + | <note important>(**Ne soyez pas boulet**, rappelez-vous en ou mieux notez-le avec [[doc:systeme:keepassx|keepassx]] par exemple !)</note> |
- | # Avant-dernière question : Supprimer la base de données de test ? Oui (Y). | + | <note tip>[//J'utiliserai le mot de passe :// ''$MDPmaria-root%'' //les fois où nous aurons besoin de le renseigner tout au long de cette documentation.//]</note> |
- | # Et dernière question : Recharger les droits ? Oui (Y). | + | |
- | # On se connecte à MariaDB en tapant | + | **Questions suivantes :** |
- | mysql | + | * //Supprimer les utilisateurs anonymes ?// <code>Oui (Y)</code> |
- | # Votre prompt (début de ligne) devrait à présent apparaître sous la forme : MariaDB [(none)]> | + | * //Interdire les connexions distantes pour root ? // <code>Oui (Y)</code> Il ne pourra alors que se connecter en local. \\ //Si vous trouvez ça étrange, passez sur le forum ou sur [[asso:salon-irc-df|le salon irc]] pour demander des explications détaillées.// |
- | # Dans MariaDB on saisi les commandes suivantes : (Changer $PMAmdp% pour le mot de passe que vous souhaitez | + | **Avant-dernière question :** |
- | # et 'adminDB' par le nom d'utilisateur que vous souhaitez ) | + | * //Supprimer la base de données de test ?// <code>Oui (Y)</code> |
- | # Attention, le point virgule ';' en fin de ligne compte ! | + | **Et dernière question :** \\ |
- | CREATE USER 'adminDB'@'localhost' IDENTIFIED BY '$PMAmdp%'; | + | * //Recharger les droits ?// <code>Oui (Y)</code> |
- | # Ce qui nous permet de créer un utilisateur MariaDB pour l'application PhpMyAdmin à venir. | + | |
- | # Puis on lui donne tous les droits. | + | On se connecte maintenant à MariaDB en tapant : |
- | GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION; | + | <code root>mysql</code> ou <code root>mariadb</code> |
- | # On "réinitialise" pour que ce soit pris en compte | + | * Votre prompt (début de ligne) devrait à présent apparaître sous la forme : ''MariaDB [(none)]> '' |
- | FLUSH PRIVILEGES; | + | * Dans MariaDB on saisi les commandes suivantes : \\ (**ATTENTION !** Changer $PMAmdp% pour le mot de passe que vous souhaitez et 'adminDB' par le nom d'utilisateur que vous souhaitez ) \\ **ATTENTION !** le point virgule ';' en fin de ligne compte ! \\ \\ <code>CREATE USER 'adminDB'@'localhost' IDENTIFIED BY '$PMAmdp%';</code> Ce qui nous permet de créer un utilisateur MariaDB pour l'application PhpMyAdmin à venir. \\ |
- | # Enfin, on sort de MariaDB | + | * Puis on lui donne tous les droits : \\ <code>GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION;</code> |
- | exit | + | * On //réinitialise// pour que ce soit pris en compte : <code>FLUSH PRIVILEGES;</code> |
- | </code> | + | * * Enfin, on sort de MariaDB : <code root>exit</code> |
- | <note tip>Bizarre, on a installé MariaDB mais toutes les commandes font référence à MySQL ? MariaDB garde une compatibilité maximum avec ce qui a été créé initialement pour MySQL.</note> | + | |
+ | <note tip>//Bizarre, on a installé MariaDB mais toutes les commandes font référence à MySQL ?// \\ C'est simplement que **MariaDB** garde une compatibilité maximum avec ce qui a été créé initialement pour **MySQL** !</note> | ||
==== Installation d'un serveur web ==== | ==== Installation d'un serveur web ==== | ||
- | Là encore, nextcloud est compatible avec au moins deux serveurs web différents : [[https://httpd.apache.org/|Apache]] et [[https://nginx.org/en/|Nginx]]. Nginx se dit moins gourmand en ressource mais Apache même si peut-être plus gourmand offre l'avantage d'être bien plus complet. //(Penser à de futurs projets...)// | + | |
- | == Installation du serveur web Apache2 et de PHP7 == | + | Là encore, nextcloud est compatible avec au moins deux serveurs web différents : |
- | Là, on ne va pas s'embêter on va tout installer en même temps. (Le serveur web Apache, PHP7 et ses modules.) | + | * [[https://httpd.apache.org/|Apache]] et |
- | <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> | + | * [[https://nginx.org/en/|Nginx]]. |
- | <code root> | + | Nginx se dit moins gourmand en ressource mais même si Apache peut se montrer plus gourmand, il offre l'avantage d'être plus populaire (plus facile de trouver de l'aide) et plus complet. \\ //(Penser à de futurs projets...)// ;-) |
- | 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 | + | |
- | </code> | + | === Qu'est-ce que PHP ? === |
- | En s'installant, Apache2 créé automatiquement un premier virtualhost et une page web. Parfait, ça va nous permettre de tester rapidement si l'installation est correcte. | + | |
- | <code user># Vérification de fonctionnement d'Apache2 en local en tapant : | + | PHP est un langage de programmation très populaire pour la réalisation de site internet dynamique. \\ |
- | curl http://localhost | grep title | + | Les sites développés dans ce langage nécessitent d'être hébergés sur un serveur ayant PHP d'installé. |
- | # Vous devriez avoir en retour : <title>Apache2 Debian Default Page: It works</title> | + | |
- | </code> | + | <note tip>Si vous voulez en savoir plus, direction : [[https://fr.wikipedia.org/wiki/PHP|Wikipédia]] !</note> |
- | <code root> | + | |
- | # On continue en testant la prise en charge de PHP | + | === Apache2 et PHP7 === |
- | # On créé un fichier test.php contenant la fonction phpinfo() | + | |
- | echo "<?php phpinfo(); ?>" >> /var/www/html/test.php | + | Là, on ne va pas s'embêter on va tout installer en même temps. //(Le serveur web Apache, PHP7 et ses modules.)// |
- | </code> | + | <note warning> Pour les utilisateurs d'autres distributions non basées sur Debian : \\ la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement !</note> |
- | <code user> | + | <code root>apt install curl apache2 php7.4 php7.4-mysql php7.4-mbstring php7.4-gd php7.4-json php7.4-curl php7.4-mbstring php7.4-intl php7.4-mcrypt php-imagick php7.4-xml php7.4-zip</code> |
- | # On vérifie que Apache2 nous délivre correctement le fichier | + | En s'installant, Apache2 crée automatiquement un premier virtualhost et une page web. \\ |
- | curl http://localhost/test.php | grep title | + | Parfait, ça va nous permettre de tester rapidement si l'installation est correcte : \\ |
- | # En retour on doit avoir : <title>phpinfo()</title><meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /></head> | + | Vérification de fonctionnement d'Apache2 en local en tapant : |
- | </code> | + | <code user>curl http://localhost | grep title</code> |
- | Si la configuration réseau du serveur est bien paramétrée, vous devriez accéder aux deux pages testées depuis un poste distant et un navigateur. | + | Vous devriez avoir en retour : |
- | Dans un navigateur, en tapant l'adresse du serveur (Ex: http://toto.fr et http://toto.fr/test.php) ou son adresse IP (Ex: http://81.85.89.111 et http://81.85.89.111/test.php), vous devriez voir une page "Apache2..." et "PHP...". //(Voir illustrations ci-dessous)//\\ | + | <code>Apache2 Debian Default Page: It works</code> |
- | {{/file-Reaa41b38b70c8a2493a241f602cf9b20.png}} {{/file-R96cfb8bce3a7c697d6ead5dbe92e369c.png}} | + | |
- | === Création d'un virtualhost Apache pour PhpMyAdmin === | + | Si quelqu'un a un lien à soumettre concernant l'utilisation de curl. FIXME |
- | Clairement, cette documentation n'a pas vocation à traiter toutes les possibilités qu'offre Apache2. Un bookin ne suffirait pas... Cette documentation ira à l'essentiel pour l'objectif fixé : installer nextcloud. Si vous souhaitez en savoir plus, consulter la [[https://httpd.apache.org/docs/2.4/fr/|documentation officielle d'apache]].\\ | + | |
+ | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
+ | |||
+ | - On continue en testant la **prise en charge de PHP** : \\ | ||
+ | - On créé un fichier test.php contenant la fonction phpinfo() : <code root>echo "<?php phpinfo(); ?>" >> /var/www/html/test.php</code> | ||
+ | - On vérifie que Apache2 nous délivre correctement le fichier : <code user>curl http://localhost/test.php | grep</code> En retour on doit avoir : <code><title>phpinfo()</title><meta name="ROBOTS"</code> | ||
+ | |||
+ | Si la configuration réseau du serveur est bien paramétrée, vous devriez accéder aux deux pages testées depuis un poste distant et un navigateur. | ||
+ | |||
+ | Dans un navigateur, en tapant l'adresse du serveur. \\ | ||
+ | Exemples : | ||
+ | * %%http://toto.fr%% et | ||
+ | * %%http://toto.fr/test.php%% | ||
+ | ou son adresse IP. \\ | ||
+ | Exemples: | ||
+ | * http://81.85.89.111 et | ||
+ | * http://81.85.89.111/test.php | ||
+ | vous devriez voir une page ''Apache2...'' et ''PHP...'' . | ||
+ | |||
+ | (Voir illustrations ci-dessous) : \\ | ||
\\ | \\ | ||
- | **Qu'est-ce qu'un virtualhost Apache ?**\\ | + | **Illustration Apache 2** : \\ |
\\ | \\ | ||
- | Apache (comme d'autres serveurs web) est capable de servir virtuellement une infinité de sites sur une même machine/instance. Ainsi, http://toto.fr, http://bidule.com et http://trucmuche.eu peuvent très bien se trouver sur la même machine/instance. | + | {{/file-Reaa41b38b70c8a2493a241f602cf9b20.png}} |
- | On créé des virtualhost pour dissocier des sites, qui pourront alors recevoir des paramètres propres à chacun. Notre objectif ici étant d'héberger l'application PhpMyAdmin et de s'y connecter en entrant dans le navigateur : http://madb.toto.fr ou http://phpmyadmin.toto.fr.\\ | + | \\ \\ |
+ | **Illustration PHP** : \\ | ||
\\ | \\ | ||
- | **Qu'est-ce que PhpMyAdmin ?**\\ | + | {{https://debian-facile.org/images/file-R8f14624b070cfd660c8bdd1c530a047f.png}} |
\\ | \\ | ||
- | Nous avons installé il y a un instant le serveur de bases de données MariaDB. On pourrait très bien gérer l'intégralité de notre serveur de bases de données en ligne de commande mais, une erreur peut vite être commise et en cas de problème, une personne n'ayant aucune connaissance du langage SQL aura bien du mal à se sortir d'affaire. Pour un néophyte, il est alors plus prudent de disposer d'une interface graphique plus parlante :\\ | + | ==== Création d'un virtualhost Apache pour PhpMyAdmin ==== |
+ | |||
+ | Clairement, cette documentation n'a pas vocation à traiter toutes les possibilités qu'offre Apache2. Un bookin ne suffirait pas... \\ | ||
+ | Cette documentation ira donc à l'essentiel pour l'objectif fixé : installer nextcloud. \\ | ||
+ | Si vous souhaitez en savoir plus, consulter : | ||
+ | * [[https://httpd.apache.org/docs/2.4/fr/|la documentation officielle d'apache]]. | ||
+ | |||
+ | === Qu'est-ce qu'un virtualhost Apache ? === | ||
+ | |||
+ | Apache (comme d'autres serveurs web) est capable de servir virtuellement une infinité de sites sur une même machine/instance. Ainsi, http://toto.fr, http://bidule.com et http://trucmuche.eu peuvent très bien se trouver sur la même machine/instance. | ||
+ | On créé des virtualhost pour dissocier des sites, qui pourront alors recevoir des paramètres propres à chacun. Notre objectif ici étant d'héberger l'application PhpMyAdmin et de s'y connecter en entrant dans le navigateur : \\ | ||
+ | %%http://madb.toto.fr%% ou %%http://phpmyadmin.toto.fr%%. | ||
+ | |||
+ | === Qu'est-ce que PhpMyAdmin ? === | ||
+ | |||
+ | Nous avons installé il y a un instant le serveur de bases de données MariaDB. \\ | ||
+ | On pourrait très bien gérer l'intégralité de notre serveur de bases de données en ligne de commande mais une erreur peut être commise et en cas de problème une personne n'ayant aucune connaissance du langage SQL aura bien du mal à se sortir d'affaire. :?: | ||
+ | |||
+ | Pour un néophyte, il est alors plus prudent de disposer d'une interface graphique plus parlante que par exemple : | ||
<code>UPDATE matable SET nom = 'Bobo' WHERE id = 1;\\</code> | <code>UPDATE matable SET nom = 'Bobo' WHERE id = 1;\\</code> | ||
- | Alors qu'il suffit de cliquer sur le bouton 'Modifier' avec une interface graphique.\\ | + | Alors qu'avec une interface graphique un simple clic sur le bouton ''Modifier'' fera l'affaire. |
- | 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> | + | L'interface graphique que l'on installera est : |
- | <code root> | + | * [[https://www.phpmyadmin.net/|PhpMyAdmin]] |
- | # 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... | + | Il existe d'autres solutions, voir "adminer" |
- | # On commence par créer le dossier qui accueillera très bientôt phpmyadmin | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> |
- | mkdir /var/www/madb | + | |
- | # On duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau | + | 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 dans ce texte hein..! ^_^ |
- | cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madb.conf | + | - On commence par [[doc:systeme:mkdir|créer le dossier]] qui accueillera très bientôt phpmyadmin : <code root>mkdir /var/www/madb</code> |
- | # On créé un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage | + | - On duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau : <code root>cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madb.conf</code> |
- | ln -s /etc/apache2/sites-available/madb.conf /etc/apache2/sites-enabled/madb.conf | + | - On crée un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage : <code root>ln -s /etc/apache2/sites-available/madb.conf /etc/apache2/sites-enabled/madb.conf</code> |
- | # Puis on modifie avec vim ou nano le fichier original du lien symbolique... (celui situé dans "/etc/apache2/sites-available/"...) | + | - Puis on modifie avec nano le fichier original du lien symbolique... (celui situé dans ''/etc/apache2/sites-available/''...) \\ Et si vous vous trompez, ben... ça revient au même :-P Vous corrigez ici : <code root>nano /etc/apache2/sites-available/madb.conf</code> |
- | # Et si vous vous trompez, bein... ça revient au même :p | + | |
- | nano /etc/apache2/sites-available/madb.conf | + | |
- | # 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> | + | |
<note tip>Pour plus d'info sur les [[:doc:systeme:ln|liens symboliques]].</note> | <note tip>Pour plus d'info sur les [[:doc:systeme:ln|liens symboliques]].</note> | ||
- | Dans notre fichier de configuration, à l'aide de Nano (ou vim), nous allons juste dé-commenter et renseigner ServerName et DocumentRoot | + | |
+ | Dans notre fichier de configuration, à l'aide de Nano nous allons juste [[doc:programmation:commenter|décommenter]] et renseigner ''ServerName'' et ''DocumentRoot'' ainsi : | ||
<file config madb.conf> | <file config madb.conf> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
Ligne 204: | Ligne 298: | ||
</VirtualHost> | </VirtualHost> | ||
</file> | </file> | ||
- | <note tip>Une fois les modifications faites, pensez à sauvegarder ^O (valider avec Entrer) et quitter ^X.</note> | + | <note important>**ATTENTION !!!** Une fois les modifications faites, pensez à sauvegarder !</note> |
- | <code root> | + | |
- | # On créé un fichier qui nous permettra de faire un test dans un instant | + | On crée un fichier qui nous permettra de faire un test dans un instant : |
- | echo "Vhost madb OK!" >> /var/www/madb/index.php | + | <code root>echo "Vhost madb OK!" >> /var/www/madb/index.php</code> |
- | # 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 restart apache2 | + | <code root>systemctl restart apache2</code> |
- | </code> | + | |
- | <code user> | + | <note tip>[[:doc:systeme:admin:systemd|Pour en savoir plus sur "systemctl".]]</note> |
- | # Et on test | + | |
- | curl http://madb.toto.fr | + | Et on teste : |
- | # On devrait avoir en retour : Vhost madb OK! | + | <code user>curl http://madb.toto.fr</code> |
- | curl http://toto.fr | grep title | + | On devrait avoir en retour : |
- | # Devrait encore nous donner : <title>Apache2 Debian Default Page: It works</title> | + | <code>Vhost madb OK!</code> |
- | </code> | + | Et : |
+ | <code user>curl http://toto.fr | grep title</code> | ||
+ | Devrait nous donner : | ||
+ | <code><title>Apache2 Debian Default Page: It works</title></code> | ||
=== Création d'un virtualhost Apache pour nextcloud === | === Création d'un virtualhost Apache pour nextcloud === | ||
- | Bein... On va refaire presque tout pareil... | + | |
- | <code root> | + | Ben... On va refaire presque tout pareil... |
- | # L'idée est d'obtenir http://nuage.toto.fr mais si "nuage" ne vous plait pas, vous changez chaque fois que "nuage" apparaît hein... | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> |
- | # On commence par créer le dossier qui accueillera très bientôt nextcloud | + | |
- | mkdir /var/www/nuage | + | L'idée est d'obtenir http://nuage.toto.fr mais si ''nuage'' ne vous plaît pas, vous changez chaque fois que ''nuage'' apparaît hein..! =) |
- | # On duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau | + | - On commence par créer le dossier qui accueillera très bientôt nextcloud : <code root>mkdir /var/www/nuage</code> |
- | cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nuage.conf | + | - On duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau : <code root>cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nuage.conf</code> |
- | # On créé un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage | + | - On créé un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage : <code root>ln -s /etc/apache2/sites-available/nuage.conf /etc/apache2/sites-enabled/nuage.conf</code> |
- | ln -s /etc/apache2/sites-available/nuage.conf /etc/apache2/sites-enabled/nuage.conf | + | - Puis on modifie avec nano le fichier original du lien symbolique... (//celui situé dans// : ''/etc/apache2/sites-available/''...) : <code root>nano /etc/apache2/sites-available/nuage.conf</code><file config nuage.conf><VirtualHost *:80> |
- | # Puis on modifie avec vim ou nano le fichier original du lien symbolique... (celui situé dans "/etc/apache2/sites-available/"...) | + | |
- | nano /etc/apache2/sites-available/nuage.conf | + | |
- | # 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> | + | |
- | <file config nuage.conf> | + | |
- | <VirtualHost *:80> | + | |
ServerName nuage.toto.fr | ServerName nuage.toto.fr | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
Ligne 241: | Ligne 331: | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
CustomLog ${APACHE_LOG_DIR}/access.log combined | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
- | </VirtualHost> | + | </VirtualHost></file> |
- | </file> | + | - On créé un fichier qui nous permettra de faire un test dans un instant : <code root>echo "Vhost nuage OK!" >> /var/www/nuage/index.php</code> |
- | <code root> | + | - On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) :<code root>systemctl restart apache2</code> |
- | # On créé un fichier qui nous permettra de faire un test dans un instant | + | - Et on teste : <code user>curl http://nuage.toto.fr</code>On devrait avoir en retour : <code>Vhost nuage OK!</code> |
- | echo "Vhost nuage OK!" >> /var/www/nuage/index.php | + | - Et enfin : <code user>curl http://toto.fr | grep title</code> Devrait encore nous donner : <code>title>Apache2 Debian Default Page: It works</title></code> |
- | # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) | + | |
- | systemctl restart apache2 | + | |
- | </code> | + | |
- | <code user> | + | |
- | # Et on test | + | |
- | curl http://nuage.toto.fr | + | |
- | # On devrait avoir en retour : Vhost nuage OK! | + | |
- | curl http://toto.fr | grep title | + | |
- | # Devrait encore nous donner : <title>Apache2 Debian Default Page: It works</title> | + | |
- | </code> | + | |
==== Installation des certificats SSL ==== | ==== Installation des certificats SSL ==== | ||
- | Il y aurait bien à dire sur les certificats (SSL) mais, je n'en ai pas vraiment les compétences, ni le courage. Ce qui est communément admis, c'est qu'aujourd'hui un site non "https" (//communication crypté//) n'a presque plus lieu d'être. C'est d'autant plus vrai quand on sait que la case "porte feuille" n'est plus obligatoire et que nous nous apprêtons à disposer de nos fichiers (peut-être important) à travers internet... | ||
- | === Installation de let's encrypt === | + | Il y aurait bien à dire sur les certificats (SSL) mais, je n'en ai pas vraiment les compétences, ni le courage. \\ |
- | **Qu'est-ce que //Let's encrypt// ?**\\ | + | Ce qui est communément admis, c'est qu'aujourd'hui un site non **https** (//communication crypté//) n'a presque plus lieu d'être. \\ |
- | \\ | + | C'est d'autant plus vrai quand on sait que la case ''porte feuille'' n'est plus obligatoire et que nous nous apprêtons à disposer de nos fichiers (peut-être important) à travers 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> | + | ==== Installation de let's encrypt ==== |
- | <code root> | + | |
- | # On démarre sont installation | + | === Qu'est-ce que //Let's encrypt// ? === |
- | apt install letsencrypt python-certbot-apache python-certbot-doc python-acme-doc python-configobj-doc python-cryptography-doc python-cryptography-vectors python-enum34-doc python-funcsigs-doc python-mock-doc python-openssl-doc python-psutil-doc doc-base python-socks python-setuptools-doc python-ntlm | + | |
- | # Il y a du monde ! Au moins, let's encrypt ne manquera de rien pour faire son job... | + | L'introduction de [[https://fr.wikipedia.org/wiki/Let%27s_Encrypt|wikipédia]] est parfaite : \\ |
- | # Et on le lance... | + | [[https://letsencrypt.org/|Let's Encrypt]] est une autorité de certification. |
- | letsencrypt | + | |
- | # En retour vous aurez quelque chose de similaire à : | + | Cette autorité fournit des certificats gratuits au moyen d'un processus automatisé destiné à se passer du processus complexe actuel impliquant : |
- | # Which names would you like to activate HTTPS for? | + | - la création manuelle, |
- | # ------------------------------------------------------------------------------- | + | - la validation, |
- | # 1: madb.toto.fr | + | - la signature, |
- | # 2: nuage.toto.fr | + | - l'installation et |
- | # | + | - le renouvellement des certificats pour la sécurisation des sites internet. |
- | # Let's encrypt à automatiquement trouvé nos virtualhost. Appuyer sur entrer pour le qu'il s'occupe de tous virtualhost détectés. | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</note> |
- | # 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 démarre sont installation |
- | # Et automatiquement, let's encrypt va vous modifier la configuration de vos virtualhost, planifier l’obtention de nouveau certificats | + | <code root>apt install letsencrypt python-certbot-apache python-certbot-doc python-acme-doc python-configobj-doc python-cryptography-doc python-cryptography-vectors python-enum34-doc python-funcsigs-doc python-mock-doc python-openssl-doc python-psutil-doc doc-base python-socks python-setuptools-doc python-ntlm</code> |
- | # avant leur expirations, etc. | + | Il y a du monde ! Au moins, let's encrypt ne manquera de rien pour faire son job... |
- | </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 | + | Et on le lance : |
+ | <code root>letsencrypt</code> | ||
+ | En retour vous aurez quelque chose de similaire à : | ||
+ | <code>Which names would you like to activate HTTPS for? | ||
+ | ------------------------------------------------------------------------------- | ||
+ | 1: madb.toto.fr | ||
+ | 2: nuage.toto.fr</code> | ||
+ | |||
+ | Let's encrypt a automatiquement trouvé nos virtualhost. \\ | ||
+ | Appuyer sur ''entrer'' pour le qu'il s'occupe de tous virtualhost détectés. | ||
+ | - 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'') | ||
+ | - Puis on nous demande si on utiliser exclusivement HTTPS ou non. \\ Pour moi ça sera Oui touche ''2'' , mais vous faites comme vous voulez. | ||
+ | <code> 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):</code> | ||
+ | |||
+ | Et automatiquement, let's encrypt va modifier la configuration de vos virtualhost et planifier l’obtention de nouveau certificats avant leur expirations, etc. | ||
+ | |||
+ | Nous allons maintenant jeter un coup d'oeil à nos fichiers de configuration des virtualhosts. | ||
+ | <code root>ls -l /etc/apache2/sites-enabled/</code> | ||
+ | Résultat : | ||
+ | <code>madb-le-ssl.conf</code> | ||
+ | Résultat : | ||
+ | <code>nuage-le-ssl.conf</code> | ||
+ | Parfait ! Let's Encrypt nous a bien créé les fichiers ^_^ | ||
+ | |||
+ | On teste. (Soyez attentif, ce coup-ci je teste avec http"S") : | ||
+ | <code user>curl https://madb.toto.fr</code> | ||
+ | Retour : | ||
+ | <code>Vhost madb OK!</code> | ||
+ | <code user>curl https://nuage.toto.fr</code> | ||
+ | Retour : | ||
+ | <code>Vhost nuage OK!</code> | ||
==== 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> | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> |
- | # 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 | + | |
- | # avec un navigateur et trouver le lien de téléchargement de la dernière version. | + | On télécharge la dernière version de phpmyadmin. Pour ça, encore faut-il se rendre sur le site officiel : |
- | # A ce jour, sur la page d'accueil, premier bouton en haut à droite. (Que ce soit avec firefox, chrome ou autre logiquement : | + | * https://www.phpmyadmin.net |
- | # Clic droit -> copier l'adresse du lien pour le coller dans notre terminal précédé de "wget". Ce qui donnerai à l'heure actuelle : | + | avec un navigateur et trouver le lien de téléchargement de la dernière version. \\ |
- | wget https://files.phpmyadmin.net/phpMyAdmin/4.7.3/phpMyAdmin-4.7.3-all-languages.zip | + | À ce jour, sur la page d'accueil, premier bouton en haut à droite. (Que ce soit avec firefox, chrome ou autre logiquement : |
- | # Une fois le téléchargement terminé, on décompresse l'archive obtenue dans un dossier nommé phma du répertoire courant. | + | ''Clic droit'' -> ''copier l'adresse du lien'' pour le coller dans notre terminal précédé de [[doc:reseau:wget|wget]]. \\ |
- | # (Attention à adapter la commande avec le nom du fichier que vous avez obtenu. | + | Ce qui donnerait à l'heure actuelle : |
- | # Aujourd'hui "phpMyAdmin-4.7.3-all-languages.zip", "demain" le fichier se nommera "tartempion.zip"...) | + | <code user>wget https://files.phpmyadmin.net/phpMyAdmin/4.7.3/phpMyAdmin-4.7.3-all-languages.zip</code> |
- | unzip phpMyAdmin-4.7.3-all-languages.zip -d phma | + | Une fois le téléchargement terminé, on décompresse l'archive obtenue dans un dossier nommé ''phma'' du répertoire courant. |
- | # On copie le tout dans le dossier créé pour accueillir l'application. (Attention à remplacer "madb" si vous n'avez pas fait ce choix...) | + | <note important>Attention à adapter la commande avec le nom du fichier que vous avez obtenu. \\ |
- | cp -r phma/phpMyAdmin-4.7.3-all-languages/* /var/www/madb/ | + | Aujourd'hui c'est **phpMyAdmin-4.7.3-all-languages.zip**, demain le fichier se nommera autrement... **tartempion.zip**...</note> |
- | # On modifié le propriétaire du dossier madb et de ses enfants pour l'utilisateur système "www-data". (Utilisateur utilisé par Apache) | + | <code user>unzip phpMyAdmin-4.7.3-all-languages.zip -d phma</code> |
- | chown -R www-data:www-data /var/www/madb/ | + | On copie le tout dans le dossier créé pour accueillir l'application. (Attention à remplacer //madb// si vous n'avez pas fait ce choix... :!: : <code user>cp -r phma/phpMyAdmin-4.7.3-all-languages/* /var/www/madb/</code> |
- | # On modifie les droits pour le dossier "madb" et tous les sous dossiers du dossier "madb" | + | On modifie le propriétaire du dossier ''madb'' **et de ses enfants** pour l'utilisateur système ''www-data'' //(Utilisateur générique utilisé par Apache)// : <code user>chown -R www-data:www-data /var/www/madb/</code> |
- | find /var/www/madb -type d -exec chmod 755 {} + | + | On modifie les droits pour le dossier ''madb'' et tous les sous-dossiers du dossier ''madb'' : <code user>find /var/www/madb -type d -exec chmod 755 {} +</code> |
- | # On modifie les droits pour tous les fichiers enfants du dossier "madb" | + | On modifie les droits pour tous les fichiers enfants du dossier ''madb'' <code user>find /var/www/madb/ -type f -exec chmod 644 {} +</code> |
- | find /var/www/madb/ -type f -exec chmod 644 {} + | + | On duplique l’exemple de fichier de configuration de phpmyadmin en un fichier qui sera chargé : <code user>cp /var/www/madb/config.sample.inc.php /var/www/madb/config.inc.php</code> |
- | # On duplique l’exemple de fichier de configuration de phpmyadmin en un fichier qui sera chargé. | + | On ouvre le fichier avec l'éditeur nano : <code user>nano /var/www/madb/config.inc.php</code> |
- | cp /var/www/madb/config.sample.inc.php /var/www/madb/config.inc.php | + | <note tip>Pour en savoir plus "[[doc:systeme:tar|unzip]]", "[[:doc:systeme:find|find]]", "[[:doc:systeme:chown|chown]]" et "[[:doc:systeme:chmod|chmod]]".</note> |
- | # On ouvre le fichier avec l'éditeur nano ou vim | + | //Si quelqu'un a un lien concernant l'utilisation de "unzip".//FIXME\\ |
- | nano /var/www/madb/config.inc.php | + | \\ |
- | </code> | + | Et on change juste une ligne, on renseigne une clef qui sera utilisée pour crypter les Cookies du navigateur : |
- | Et on change juste une ligne : | + | |
<file config config.inc.php> | <file config config.inc.php> | ||
- | # On renseigne une clef qui sera utilisée pour crypter les Cookies du navigateur | ||
$cfg['blowfish_secret'] = 'je-mets-ce-que-je-veux'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ | $cfg['blowfish_secret'] = 'je-mets-ce-que-je-veux'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ | ||
</file> | </file> | ||
- | On teste le fonctionnement avec un navigateur en se rendant à l'adresse : https://madb.mon_domaine (Ex: https://madb.toto.fr). Ce qui devrait nous afficher une page d'identification et une fois connecté avec le compte "adminDB", l'interface complète pour gérer les bases de données. (//Voir illustrations ci-dessous//)\\ | + | On teste le fonctionnement avec un navigateur en se rendant à l'adresse : \\ |
- | {{/file-R095d065f9e0fed53251e4ea6f0bbc8c8.png}}{{/file-Ra5c90596c7200eb9ab060402d5f26d9a.png}} | + | %%https://madb.mon_domaine%% (Ex: %%https://madb.toto.fr%%). \\ |
- | === Création de la base de données et utilisateur nextcloud === | + | Ce qui devrait nous afficher une page d'identification et une fois connecté avec le compte ''adminDB'', l'interface complète pour gérer les bases de données. (//Voir illustrations ci-dessous//) : \\ |
+ | \\ | ||
+ | **Illustration login PhpMyAdmin :** \\ | ||
+ | \\ | ||
+ | {{/file-R095d065f9e0fed53251e4ea6f0bbc8c8.png}} \\ | ||
+ | \\ | ||
+ | **Illustration page PhpMyAdmin :** \\ | ||
+ | \\ | ||
+ | {{/file-Ra5c90596c7200eb9ab060402d5f26d9a.png}} \\ | ||
+ | |||
+ | === Base de données et utilisateur nextcloud === | ||
Maintenant que nous avons une interface conviviale pour gérer MariaDB, dans PhpMyAdmin : | Maintenant que nous avons une interface conviviale pour gérer MariaDB, dans PhpMyAdmin : | ||
- | - Cliquer en haut sur "Comptes utilisateurs" | + | * Cliquer en haut sur ''Comptes utilisateurs'' |
- | - Dans le cadre "Nouvel utilisateur", cliquer sur "Ajouter un compte utilisateur" | + | * Dans le cadre **Nouvel utilisateur**, cliquer sur ''Ajouter un compte utilisateur'' |
- | Un formulaire s'affiche :\\ | + | Un formulaire s'affiche : |
- | **Nom d'utilisateur :** nuage (ou nextcloud ou ce que vous voulez)\\ | + | * **Nom d'utilisateur :** nuage (ou nextcloud ou ce que vous voulez) \\ |
- | **Nom d'hote :** (Cliquer sur le menu déroulant et sélectionner "Local")\\ | + | * **Nom d'hote :** (Cliquer sur le menu déroulant et sélectionner ''Local'') \\ |
- | **Mot de passe :** On clique sur "Générer" (attention à bien le noter) ou on en rentre un. (J'utiliserai $NUAGEmdp%, pour cette documentation.)\\ | + | * **Mot de passe : ** On clique sur ''Générer'' ([[doc:systeme:keepassx|attention à bien le noter]]) où on en entre un. \\ |
- | **Dans le cadre "Base de données pour ce compte d'utilisateur" :** On coche les deux cases.\\ | + | <note tip>J'utiliserai **$NUAGEmdp%** pour cette documentation.</note> |
- | Et on fini en cliquant tout en bas à droite sur "Executer".\\ | + | * **Dans le cadre ''Base de données pour ce compte d'utilisateur'' :** On coche //les deux cases//. \\ |
- | ===== L'installation de Nextcloud ===== | + | * Et on fini en cliquant tout en bas à droite sur ''Executer''. |
- | ==== Les étapes de l'installation ==== | + | |
+ | ===== Installation de Nextcloud ===== | ||
+ | |||
+ | ==== Les étapes ==== | ||
* Installation de l'application maîtresse (Nextcloud) | * Installation de l'application maîtresse (Nextcloud) | ||
* Installation de l'application Dashboard (Tableau de bord) | * Installation de l'application Dashboard (Tableau de bord) | ||
- | * Installation de l'application Nextant (Scan du contenu des documents .odt, .doc, .ods, .pdf, ...) | + | * [ **OBSOLÈTE** ] Installation de l'application Nextant (Scan du contenu des documents .odt, .doc, .ods, .pdf, ...) [/ **OBSOLÈTE FIN** ] |
* Installation de l'application Collabora Online (Suite bureautique) | * Installation de l'application Collabora Online (Suite bureautique) | ||
+ | * Autres applications | ||
- | <note important>**L'installation des applications autres que l'application maîtresse est facultative. Que ce soit par inutilité ou par manque de ressource sur le serveur, vous pouvez ignorer les chapitres correspondant à l'installation de chaque application non souhaitée. Je répète que les applications Nextant et Collabora sont gourmandes en ressources.**</note> | + | <note important>L'installation des applications autres que l'application maîtresse est facultative.\\ |
+ | Que ce soit par inutilité ou par manque de ressource sur le serveur, vous pouvez ignorer les chapitres correspondant à l'installation de chaque application non souhaitée. \\ | ||
+ | \\ | ||
+ | **Je répète que les applications [ **OBSOLÈTE** ] **<del>Nextant</del>** [/ **OBSOLÈTE FIN** ] et **Collabora** sont gourmandes en ressources !**</note> | ||
==== Installation de l'application maîtresse (Nextcloud) ==== | ==== Installation de l'application maîtresse (Nextcloud) ==== | ||
- | La procédure est similaire à l'installation de PhpMyAdmin et comme la plupart des applications web que l'on souhaite installer. On télécharge l'archive et on la décompresse dans le dossier du virtualhost souhaité. Pour trouver le lien de téléchargement, le plus simple étant de se rendre sur le site officiel de Nextcloud avec un navigateur. | ||
- | <code root> | ||
- | # Téléchargement de l'archive Nextcloud. (Lien actuel. Le lien peut changer dans le temps) | ||
- | 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é.) | ||
- | 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".) | ||
- | cp -r ./nc/nextcloud /var/www/nuage | ||
- | # 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/.user.ini /var/www/nuage/.user.ini | ||
- | # On modifié le propriétaire du dossier nuage et de ses enfants pour l'utilisateur système "www-data". (Utilisateur utilisé par Apache) | ||
- | chown -R www-data:www-data /var/www/nuage | ||
- | # On modifie les droits pour le dossier "nuage" et tous les sous dossiers du dossier "nuage" | ||
- | find /var/www/nuage -type d -exec chmod 755 {} + | ||
- | # On modifie les droits pour tous les fichiers enfants du dossier "nuage" | ||
- | find /var/www/nuage/ -type f -exec chmod 644 {} + | ||
- | </code> | ||
- | A l'aide d'un navigateur, on se connecte via l'adresse : https://nuage.nom_domaine. (Ex: https://nuage.toto.fr). Un formulaire devrait apparaître pour nous permettre de créer un administrateur pour la solution Nextcloud et de rentrer les informations nécessaire pour que Nextcloud utilise la base de données créé précédemment : "nuage" //(Voir illustration ci-dessous)//\\ | ||
- | {{/file-R69854c7f65c3220748f2e49e805f6914.png}}\\ | ||
- | Et on renseigne les informations demandées...\\ | ||
- | **Nom d'utilisateur :** Administrateur (Ou Toto... On met ce qu'on veut. //Il s'agit ici d'un utilisateur Nextcloud et rien d'autre. Ce n'est pas un utilisateur système ni un utilisateur MariaDB. Cette administrateur est un utilisateur qui aura le droit de modifier les paramètres de Nextcloud à travers l'interface Nextcloud uniquement.//)\\ | ||
- | **Mot de passe :** $ADMIN-NCmdp% (Vous mettez ce que vous voulez.)\\ | ||
- | **Répertoire des données :** /var/www/nuage/data (Je n'évoquerai pas l'utilisation du répertoire autre que celui par défaut.)\\ | ||
- | **Utilisateur de la base de données :** nuage (Il s'agit ici de l'utilisateur que vous avez créé avec PhpMyAdmin.)\\ | ||
- | **Mot de passe :** $NUAGEmdp% (Il s'agit du mot de passe que vous avez créé avec PhpMyAdmin pour ce même utilisateur.)\\ | ||
- | **Nom de la base de données :** nuage (Normalement elle porte le même nom que l'utilisateur créé avec PhpMyAdmin.)\\ | ||
- | **Hote de la base de données :** localhost\\ | ||
- | Enfin, on clique sur terminer l'installation. Et si tout a bien été renseigné, vous devriez obtenir le résultat suivant dans votre navigateur :\\ | ||
- | {{/file-R30f55a495a6e8f8fa44cf97ff2a1ba48.png}} {{/file-Re436e915bc143ffcc0b7fd2a242ca744.png}}\\ | ||
- | <note warning>Si en parcourant l'interface, vous apercevez des avertissements dans "Administration -> Paramètres de base", les cas seront traités dans un autre chapitre.</note> | + | La procédure est similaire à l'installation de PhpMyAdmin et comme la plupart des applications web que l'on souhaite installer: |
- | === Planification des tâches en fond === | + | * On **télécharge** l'archive et on la décompresse dans le dossier du virtualhost souhaité. |
- | Pour fonctionner correctement, Nextcloud doit effectuer certaines opérations régulièrement. Ces opérations se feront en tâche de fond mais encore faut-il les mettre en place.\\ | + | |
- | Dans l'interface (web) d'administration de Nextcloud se trouve dans les paramètre de base , un cadre "Tâches de fond". A côté de ce titre, une pastille rouge nous indique qu'il y a un problème. On sélectionne l'option Cron. Puis dans le terminal du serveur : | + | |
- | <code root># On enregistre une tâche "cron" exécutée en tant qu'utilisateur système www-data | + | |
- | crontab -u www-data -e | + | |
- | # Il se pourrait qu'une question vous soit posée | + | |
- | # Retour possible : Select an editor. To change later, run 'select-editor'. | + | |
- | # Retour possible : 1. /bin/nano <---- easiest. | + | |
- | # Retour possible : 2. /usr/bin/vim.basic | + | |
- | # ... | + | |
- | # En faite, crontab vous demande quel éditeur souhaitez-vous utiliser. Tapez le numéro de l'éditeur souhaité. (Nano étant le plus simple.) | + | |
- | # Un fichier crontab temporaire va s'ouvrir. Nous n'avons qu'une ligne à ajouter</code> | + | |
- | <file name crontab> | + | |
- | */15 * * * * php -f /var/www/nuage/cron.php | + | |
- | </file> | + | |
- | <code root> | + | |
- | # On vérifie que le changement a bien été pris en compte | + | |
- | crontab -u www-data -l | + | |
- | # Dans le retour repérer la présence de : */15 * * * * php -f /var/www/nuage/cron.php | + | |
- | #On vérifie que notre tâche s’exécute correctement. | + | |
- | tail -f /var/log/syslog | + | |
- | # Toutes les 15 minutes une ligne ressemblant au résultat ci-dessous devrait s'afficher | + | |
- | Aug 23 13:15:01 nextcloud CRON[29242]: (www-data) CMD (php -f /var/www/nuage/cron.php) | + | |
- | Aug 23 13:30:01 nextcloud CRON[29252]: (www-data) CMD (php -f /var/www/nuage/cron.php) | + | |
- | # On sort de l'outil "tail" avec la combinaison de touche CTRL+C | + | |
- | # Si en dessous de : Aug 23 13:30:01 nextcloud CRON[29252]: (www-data) CMD (php -f /var/www/nuage/cron.php) | + | |
- | # vous repérez le message : (CRON) info (No MTA installed, discarding output) | + | |
- | # c'est que vous êtes probablement trompé dans le chemin d'accès du fichier cron.php. | + | |
- | # Ce fichier se trouve dans le dossier où nous avons installé Nextcloud : /var/www/nuage | + | |
- | # Si vous avez donné un autre nom au dossier il vous faudra au moins remplacer "nuage". | + | |
- | # Pour apporter la correction à votre tâche cron on répète la même commande | + | |
- | crontab -u www-data -e | + | |
- | # Et on recontrôle... | + | |
- | </code> | + | |
- | Si on retourne dans l'interface (web) d'administration de Nextcloud, la pastille est passée au vert. (Tâches de fond") | + | |
- | ==== Installation de l'application Dashboard (Tableau de bord) ==== | + | Pour trouver le lien de téléchargement, le plus simple est de se rendre sur **le site officiel de Nextcloud** avec un navigateur. |
- | A ce jour, on ne peut pas dire que Nextcloud regorge d’applications additionnelles. Pour autant, il y a déjà de quoi satisfaire la majorité des besoins. L'installation d'application additionnelle se fait en général en quelques clics comme nous allons le voir pour l'installation de Dashboard. En revanche, d'autres applications sont bien plus lourdes à mettre en place comme nous le verrons avec l'installation de Nextant et de Collabora. Avant d'installer une application, pensez à lire sa description et sa documentation. Si aucun avertissement ou consigne n'est indiqué, c'est probablement que l'application peut s'installer sans manipulation particulière. (Comme Dashbord donc...)\\ | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> |
+ | |||
+ | - Téléchargement de l'archive Nextcloud. : <note important>(Lien actuel. Le lien peut changer dans le temps) </note> <code root>wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip</code> | ||
+ | - On décompresse l'archive obtenue. (Le nom de l'archive dépend de ce que vous avez téléchargé.) : <code root>unzip nextcloud-12.0.2.zip -d nc</code> | ||
+ | - On copie les fichiers décompressés dans le dossier du virtualhost prévu pour accueillir nextcloud. (Dans mon cas ''nuage''.) : <code root>cp -r ./nc/nextcloud/* /var/www/nuage</code> | ||
+ | - On copie également les deux fichiers cachés (fichiers commençant par un point : .fichier) : <code root>cp ./nc/nextcloud/.htaccess /var/www/nuage/.htaccess</code><code root>cp ./nc/nextcloud/.user.ini /var/www/nuage/.user.ini</code> | ||
+ | - On modifie le propriétaire du dossier nuage et de ses enfants pour l'utilisateur système "www-data". (Utilisateur utilisé par Apache) : <code root>chown -R www-data:www-data /var/www/nuage</code> | ||
+ | - On modifie les droits pour le dossier "nuage" et tous les sous dossiers du dossier ''nuage'' : <code root>find /var/www/nuage -type d -exec chmod 755 {} +</code> | ||
+ | - On modifie les droits pour tous les fichiers enfants du dossier ''nuage'' : <code root>find /var/www/nuage/ -type f -exec chmod 644 {} +</code> | ||
+ | |||
+ | A l'aide d'un navigateur, on se connecte via l'adresse : \\ | ||
+ | %%https://nuage.nom_domaine%% \\ | ||
+ | //Exemple//: %%https://nuage.toto.fr%% \\ | ||
+ | Et un formulaire devrait apparaître pour nous permettre de créer un administrateur pour la solution Nextcloud et d'entrer les informations nécessaires pour que Nextcloud utilise la base de données **nuage** créée précédemment. | ||
\\ | \\ | ||
- | Avant de traiter du cas de Dashboard, nous allons rapidement activer une application fort utile : **Auditing / Logging**. Cette application (installée mais désactivée par défaut) fournira en toute simplicité quelques informations sur les erreurs et avertissements générés par Nextcloud.\\ | + | \\ **Voir illustration ci-dessous :** |
- | On se rend dans l'interface de gestion des applications en cliquant en haut à droite sur l'engrenage et on sélectionne "Applications". | + | \\ \\ {{/file-R69854c7f65c3220748f2e49e805f6914.png}} \\ |
- | La liste de vos applications installées s'affiche. On défile vers le bas pour activer : Auditing / Logging. | + | |
- | //(L'interface de Auditing / Logging sera accessible dans l'interface d'administration après reconnexion.)// | + | |
\\ | \\ | ||
- | \\ | + | Et on renseigne les informations demandées : |
- | **Qu'est-ce que Dashboard ? **\\ | + | * **Nom d'utilisateur :** Administrateur (Ou //Toto//... On met le nom qu'on veut... \\ //Il s'agit ici d'un utilisateur Nextcloud et de rien d'autre.// \\ **ATTENTION !** Ce n'est donc pas un utilisateur système ni un utilisateur MariaDB ! Cet administrateur est un //utilisateur// qui aura le droit de modifier les paramètres de Nextcloud à travers l'interface **Nextcloud** uniquement. \\ |
- | \\ | + | * **Mot de passe :** $ADMIN-NCmdp% //(Vous mettez le passe ce que vous voulez.)// |
- | Dashboard est un tableau de bord offrant une visualisation regroupée et résumée des derniers événements de votre espace Nextcloud.\\ | + | * **Répertoire des données :** /var/www/nuage/data (Je n'évoquerai pas l'utilisation du répertoire autre que celui par défaut.) |
- | Pour installer Dashbord, on retourne dans "Applications". "Engrenage -> Applications", (je ne le répéterai plus) puis dans le volet de gauche sur "Outils". Repérez "Dashbord" et cliquez sur le bouton "Activer". Le mot de passe de l'administrateur Nextcloud vous sera demandé même si vous êtes connecté en tant que tel.\\ | + | * **Utilisateur de la base de données :** ''nuage'' \\ (Il s'agit ici de l'utilisateur que vous avez créé avec PhpMyAdmin). |
- | L'installation terminée, une nouvelle icône se placera dans la barre supérieure. Cliquez dessus pour afficher le tableau de bord qui sera sûrement vide pour le moment. //(Voir illustrations ci-dessous)//\\ | + | * **Mot de passe :** $NUAGEmdp% \\ (Il s'agit ici du mot de passe que vous avez créé avec PhpMyAdmin pour ce même utilisateur.) |
- | {{/file-Rfa4583c1fc855296b8cd9d9925dea660.png}} {{/file-R23ce68027af3fe6aa0f727d4de7a5786.png}} | + | * **Nom de la base de données :** nuage \\ //(Normalement elle porte le même nom que l'utilisateur créé avec PhpMyAdmin).// |
+ | * **Hote de la base de données :** localhost | ||
+ | * Enfin, on clique sur ''terminer l'installation'' Et si tout a bien été renseigné, vous devriez obtenir le résultat suivant dans votre navigateur : \\ | ||
+ | \\ **Voir illustration ci-dessous :** \\ | ||
+ | {{/file-R30f55a495a6e8f8fa44cf97ff2a1ba48.png}}\\ | ||
+ | \\ **Voir illustration ci-dessous :** \\ | ||
+ | {{/file-Re436e915bc143ffcc0b7fd2a242ca744.png}}\\ | ||
- | ====Installation de l'application Nextant==== | + | <note important>Si en parcourant l'interface, vous apercevez des avertissements dans : ''Administration'' -> ''Paramètres de base'' les cas seront traités dans un autre chapitre.</note> |
- | **Qu'est-ce que Nextant**\\ | + | |
- | \\ | + | === Planification des tâches en fond === |
- | Comme indiquée plus haut, Nextant permet de scanner le contenu des documents avec fonction OCR sur les fichiers de type image en vu de recherches plus pertinentes. \\ | + | |
- | Exemple concret :\\ | + | Pour fonctionner correctement, Nextcloud doit effectuer régulièrement certaines opérations. \\ |
- | Dans mon espace Nextcloud je créé un fichier texte nommé "Villes.txt" dans lequel figure une liste de villes. | + | Ces opérations se feront en tâche de fond, encore faut-il les mettre d'abord en place. m( |
+ | |||
+ | Dans l'interface (web) d'administration de Nextcloud se trouve dans les paramètre de base , un cadre ''Tâches de fond''. \\ | ||
+ | A côté de ce titre, une //pastille rouge// nous indique qu'il y a un problème. \\ | ||
+ | On sélectionne l'option //Cron//. \\ | ||
+ | Puis dans le terminal du serveur : | ||
+ | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
+ | - On enregistre une tâche [[doc:systeme:crontab|cron]] exécutée en tant qu'utilisateur système www-data : <code root>crontab -u www-data -e</code> | ||
+ | - Il se pourrait qu'une question vous soit posée : | ||
+ | - Retour possible : Select an editor. To change later, run 'select-editor'. | ||
+ | - Retour possible : 1. /bin/nano <---- easiest. | ||
+ | - Retour possible : 2. /usr/bin/vim.basic \\ En fait, crontab vous demande ici quel éditeur souhaitez-vous utiliser ? \\ Tapez le numéro de l'éditeur souhaité. (Nano étant le plus simple.) | ||
+ | - Un fichier crontab temporaire va s'ouvrir. Nous n'avons qu'une ligne à ajouter :<file name crontab> | ||
+ | */15 * * * * php -f /var/www/nuage/cron.php</file> | ||
+ | - On vérifie que le changement a bien été pris en compte : <code root>crontab -u www-data -l</code> Dans le retour repérer la présence de : <code config crontab>*/15 * * * * php -f /var/www/nuage/cron.php</code> | ||
+ | - On vérifie que notre tâche s’exécute correctement : <code root>tail -f /var/log/syslog</</code> (//[[doc:systeme:tail|Voir tuto commande tail ici.]]//) \\ Toutes les 15 minutes une ligne ressemblant au résultat ci-dessous devrait s'afficher : \\ <code>Aug 23 13:15:01 nextcloud CRON[29242]: (www-data) CMD (php -f /var/www/nuage/cron.php) | ||
+ | Aug 23 13:30:01 nextcloud CRON[29252]: (www-data) CMD (php -f /var/www/nuage/cron.php)</code> | ||
+ | - On sort de l'outil **tail** avec la combinaison de touches : ''CTRL'' ''c'' | ||
+ | * Si, en-dessous de : \\ \\ <code>Aug 23 13:30:01 nextcloud CRON[29252]: (www-data) CMD (php -f /var/www/nuage/cron.php)</code> vous repérez le message : \\ <code>(CRON) info (No MTA installed, discarding output)</code> c'est que vous êtes probablement trompé dans le chemin d'accès du fichier cron.php ! \\ Ce fichier se trouve dans le dossier où nous avons installé Nextcloud : ''/var/www/nuage'' \\ Si vous avez donné un autre nom au dossier il vous faudra au moins remplacer ''nuage''. \\ Pour apporter la correction à votre tâche cron on répète la même commande : <code root>crontab -u www-data -e</code> \\ Et on recontrôle... | ||
+ | |||
+ | Si on retourne dans l'interface (web) d'administration de Nextcloud, la //pastille// est passée au vert. ''Tâches de fond'' | ||
+ | |||
+ | ==== Installation de l'application Dashboard (Tableau de bord) ==== | ||
+ | |||
+ | À ce jour, on ne peut pas dire que Nextcloud regorge d’applications additionnelles. Pour autant, il y a déjà de quoi satisfaire la majorité des besoins. =) | ||
+ | |||
+ | L'installation d'applications additionnelles se fait en général en quelques clics, comme nous allons le voir pour l'installation de Dashboard. En revanche, d'autres applications sont bien plus lourdes à mettre en place comme nous le verrons avec l'installation de **OBSOLÈTE**-Nextant et de Collabora. | ||
+ | |||
+ | <note tip>Avant d'installer une application, pensez à lire sa description et sa documentation. \\ | ||
+ | Si aucun avertissement ou consigne n'est indiqué, c'est //probablement// que l'application peut s'installer sans manipulation particulière (Comme Dashbord donc...).</note> | ||
+ | |||
+ | Avant de traiter le cas de Dashboard, nous allons rapidement activer une application fort utile : **Auditing / Logging**. \\ | ||
+ | Cette application (installée mais désactivée par défaut) fournira en toute simplicité quelques informations sur les erreurs et avertissements générés par Nextcloud. \\ | ||
+ | On se rend dans l'interface de gestion des applications en cliquant en haut à droite sur l'engrenage et on sélectionne ''Applications''. | ||
+ | - La liste de vos applications installées s'affiche. | ||
+ | - On défile vers le bas pour activer : Auditing / Logging. \\ //(L'interface de Auditing / Logging sera alors accessible dans l'interface d'administration après reconnexion.)// | ||
+ | |||
+ | === Qu'est-ce que Dashboard ? === | ||
+ | |||
+ | **Dashboard** est un tableau de bord offrant une visualisation regroupée et résumée des derniers événements de votre espace Nextcloud. | ||
+ | |||
+ | Pour installer Dashbord, on retourne dans : | ||
+ | - Applications. ''Engrenage -> Applications'', //(je ne le répéterai plus)// :-) | ||
+ | - puis dans le volet de gauche sur ''Outils''. | ||
+ | - Repérez **Dashbord** et cliquez sur le bouton ''Activer''. | ||
+ | <note important> Le mot de passe de l'administrateur Nextcloud vous sera demandé même si vous êtes connecté en tant que tel.</note> | ||
+ | |||
+ | L'installation terminée, une nouvelle icône se placera dans la barre supérieure. \\ | ||
+ | Cliquez dessus pour afficher le tableau de bord qui sera sûrement vide pour le moment. | ||
+ | |||
+ | **Voir illustrations ci-dessous :** \\ \\ | ||
+ | \\ {{/file-Rfa4583c1fc855296b8cd9d9925dea660.png}} \\ | ||
+ | |||
+ | \\ {{/file-R23ce68027af3fe6aa0f727d4de7a5786.png}} \\ | ||
+ | |||
+ | ==== Installation de l'application Nextant ==== | ||
+ | |||
+ | <note warning>**OBSOLÈTE**</note> | ||
+ | |||
+ | === Qu'est-ce que Nextant ? === | ||
+ | |||
+ | Comme indiqué plus haut, Nextant permet de scanner le contenu des documents avec fonction OCR sur les fichiers de type image en vu de recherches plus pertinentes. | ||
+ | |||
+ | **Exemple concret :** | ||
+ | |||
+ | Dans mon espace Nextcloud je créé un fichier texte nommé **Villes.txt** dans lequel figure une liste de villes ainsi : | ||
<file villes.txt> | <file villes.txt> | ||
Paris | Paris | ||
Ligne 432: | Ligne 583: | ||
Nice | Nice | ||
</file> | </file> | ||
- | En faisant une recherche dans Nextcloud avec comme critère le mot "villes", mon fichier ressort sans problème.\\ | + | En faisant une recherche dans Nextcloud avec comme critère le mot //villes//, mon fichier ressort sans problème. \\ |
- | Par contre, en faisant une recherche avec comme critère "Paris", "Toulouse" ou n'importe quelle ville présente dans mon fichier "Villes.txt", Nextcloud ne trouve aucun résultat. Avec Nextant d'installé, mon fichier "Villes.txt" me sera bien proposé.\\ | + | Par contre, en faisant une recherche avec comme critère //Paris//, //Toulouse// ou n'importe quelle ville présente dans mon fichier **Villes.txt**, Nextcloud ne trouvera aucun résultat. \\ |
- | \\ | + | Mais avec Nextant d'installé, mon fichier **Villes.txt** me sera bien proposé ! ;-) |
- | Pour installer Nextant, rendons-nous dans "Applications -> Fichiers" et on clique sur "Afficher la description". Pffiou... Il y a de la lecture...\\ | + | |
- | On peut y lire le potentiel de Nextant (emplacements, formats de fichiers reconnus...) avec des mises en garde pour certains formats de fichiers : | + | Pour installer Nextant, rendons-nous dans : |
- | * Fichiers image : Nécessite "Tesseract" d'installé. | + | ''Applications'' -> ''Fichiers'' \\ |
- | * Fichiers PDF //sans couche texte// (Plus connu sous le nom de PDF à la con) : Nécessite "Tesseract" d'installé. (Et développement en cours d'amélioration.) | + | et on clique sur ''Afficher la description''. \\ |
+ | //Pffiou... Il y a de la lecture...// 8-o | ||
+ | |||
+ | On peut y lire le potentiel de Nextant (//emplacements, formats de fichiers reconnus...//) avec des mises en garde pour certains formats de fichiers : | ||
+ | * Fichiers image : Nécessite //Tesseract// d'installé. | ||
+ | * Fichiers PDF //sans couche texte// (Plus connu sous le nom de PDF à la con) : Nécessite //Tesseract// d'installé. (Et développement en cours d'amélioration.) | ||
+ | |||
+ | <note important>Mais surtout, on y trouve la procédure d'installation qui nécessite quelques manipulations. \\ Appuyer sur le bouton ''Active'' **ne suffira pas** !</note> | ||
- | Mais surtout, on y trouve la procédure d'installation qui nécessite quelques manipulations. Appuyer sur le bouton "Activer" ne suffira pas.\\ | ||
La procédure d'installation nous indique les étapes à suivre : | La procédure d'installation nous indique les étapes à suivre : | ||
- | - Installation du servlet Solr | + | - Installation du **servlet Solr**. |
- | - Installation de Tesseract (Fonction OCR facultative) | + | - Installation de **Tesseract** (//Fonction OCR facultative//). |
- | - Téléchargement et installation de l'archive Nextant | + | - Téléchargement et installation de l'archive **Nextant** |
- | - Activation et configuration de l'application | + | - Activation et configuration de l'application. |
- | - Lancement d'un scan et planification | + | - Lancement d'un scan et planification. |
+ | |||
+ | <note warning>**OBSOLÈTE FIN !**</note> | ||
+ | |||
+ | ==== Installation du servlet Solr ==== | ||
+ | |||
+ | <note warning>**OBSOLÈTE** - | ||
+ | Dans nextcloud 13 ils ont inclus un autre moteur 'Fullsearch ellastic' (ou truc dans le genre) qui permet de se passer de Solr</note> | ||
+ | |||
+ | === Qu'est-ce que le servlet Solr ? === | ||
+ | |||
+ | //Honnêtement, j'en sais trop rien !// ^_^ | ||
+ | |||
+ | Tout ce que je sais, c'est que Nextant en a besoin et en essayant de se renseigner un minimum par ce lien : | ||
+ | * [[https://fr.wikipedia.org/wiki/Servlet|servlet]] | ||
+ | On apprend que servlet est //une extension// du serveur web reposant sur : | ||
+ | * [[https://www.java.com/fr/|Java]] (//donc il faudra l'installer aussi...//) et que | ||
+ | * [[https://fr.wikipedia.org/wiki/Apache_Solr|Solr]] \\est spécifiquement conçu pour de la recherche.\\ | ||
+ | Nous installerons le **servlet Solr** en //mode service// pour une disponibilité permanente. | ||
+ | |||
+ | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</note> | ||
- | ===Installation du servlet Solr=== | ||
- | **Qu'est-ce que le servlet Solr ?**\\ | ||
- | \\ | ||
- | Honnêtement, j'en sais trop rien ! ^_^\\ | ||
- | Tout ce que je sais, c'est que Nextant en a besoin et en essayant de me renseigner un minimum : un [[https://fr.wikipedia.org/wiki/Servlet|servlet]] est une extension du serveur web reposant sur [[https://www.java.com/fr/|Java]] (donc il faudra l'installer aussi...) et [[https://fr.wikipedia.org/wiki/Apache_Solr|Solr]] est spécifiquement conçu pour pour de la recherche.\\ | ||
- | Nous installerons le servlet Solr en mode service pour une disponibilité permanente. | ||
<code root> | <code root> | ||
# Commençons pas installer Java Runtime Environment (JRE) via le meta-paquet "default-jre" | # Commençons pas installer Java Runtime Environment (JRE) via le meta-paquet "default-jre" | ||
Ligne 469: | Ligne 640: | ||
# 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]]\\ | + | |
- | Autrement, ce que vous pouvez réaliser simplement c'est d'éditer le fichier "/opt/solr/server/etc/jetty-http.xml" pour rajouter //(à la ligne 36 dans ma version)// le paramètre "** default="localhost"** ".\\ | + | **Note :** |
- | Résultat : <Set name="host"><Property name="jetty.host" default="localhost" /></Set>\\ | + | |
- | Et si vous souhaitez tout de même conserver l'accès à cette interface en la protégeant par un mot de passe, rendez-vous sur le [[https://github.com/nextcloud/nextant/wiki/Setup-your-local-Solr-as-a-Service|wiki]] (en anglais) du projet.</note> | + | Solr installe également une //interface de gestion web// disponible par défaut via : \\ %%http://toto.fr:8983%%. \\ |
+ | À vous de sécuriser l'accès à cette interface avec [[doc:reseau:iptables|iptables]] par exemple. | ||
+ | |||
+ | Autrement, vous pouvez simplement éditer le fichier ''/opt/solr/server/etc/jetty-http.xml'' pour rajouter //(à la ligne 36 dans ma version)// le paramètre : ''default="localhost"'' ainsi : | ||
+ | <file name="host"><Property name="jetty.host" default="localhost" /></file> | ||
+ | |||
+ | Et si vous souhaitez tout de même conserver l'accès à cette interface en la protégeant par un mot de passe, rendez-vous sur le : | ||
+ | * [[https://github.com/nextcloud/nextant/wiki/Setup-your-local-Solr-as-a-Service|wiki]] (en anglais) du projet. | ||
<code root> | <code root> | ||
# On redémarre Solr | # On redémarre Solr | ||
Ligne 485: | Ligne 664: | ||
# Retour : "status":0, <--(0 = tout s'est bien passé) | # Retour : "status":0, <--(0 = tout s'est bien passé) | ||
</code> | </code> | ||
- | ===Installation de Tesseract=== | + | <note tip>[[:doc:systeme:sudo|Pour en savoir plus sur "sudo".]]</note> |
- | **Qu'est-ce que Tesseract ?**\\ | + | |
- | \\ | + | <note warning>**OBSOLÈTE FIN !**</note> |
- | Tesseract est un moteur de reconnaissance optique de caractère dit OCR. C'est ce programme qui sera utilisé par Nextant pour analyser le contenu d'un fichier image ou fichier PDF (à la con) et tenter d'y trouver des caractères (du texte donc) et l'indexer. L'efficacité du moteur dépend évidement de la qualité des images ou de numérisation, et de la qualité/taille des caractères s'y trouvant pour chaque fichier analysé. Une facture numérisée en bonne qualité (~200ppp) aura toutes les chances d'avoir son contenu d'indexé. En revanche, on peut facilement imaginer qu'une ordonnance manuscrite d'un médecin, même de super bonne qualité, aura peu de chance d'avoir son contenu indexé si ce n'est, l'en-tête et le pied de page...\\ | + | |
- | \\ | + | ==== Installation de Tesseract ==== |
- | //Je rappel que ce que j'appelle "PDF à la con" sont les PDF générés par un scanner lambda ou imprimante virtuelle. Ces processus de création de fichiers PDF font en général qu'une photo de chaque page du document. De ce fait, en vulgarisant, ces PDF ne sont que des images qu'on visualise sous forme de pages. Tous les fichiers PDF n'ont pas cette même caractéristique. Certains sont conçu via des processus qui permettent d'insérer le texte dans la structure du PDF. Ces PDF ci, n'auront pas besoin de passer dans la moulinette Tesseract et seront par conséquent plus facilement "indexable".//\\ | + | |
+ | <note warning>[ **OBSOLÈTE** ]</note> | ||
+ | |||
+ | === Qu'est-ce que Tesseract ? === | ||
+ | |||
+ | |||
+ | Tesseract est un moteur de reconnaissance optique de caractère dit OCR. | ||
+ | |||
+ | C'est ce programme qui sera utilisé par Nextant pour analyser le contenu d'un fichier image ou fichier PDF (//à la con//) et tenter d'y trouver des caractères (du texte donc) et l'indexer. | ||
+ | |||
+ | L'efficacité du moteur dépend évidement de la qualité des images ou de numérisation, et de la qualité/taille des caractères s'y trouvant pour chaque fichier analysé. | ||
+ | * Une facture numérisée en bonne qualité (~200ppp) aura toutes les chances d'avoir son contenu d'indexé. | ||
+ | * En revanche, on peut facilement imaginer qu'une ordonnance manuscrite d'un médecin, même de super bonne qualité, aura peu de chance d'avoir son contenu indexé si ce n'est, l'en-tête et le pied de page ! :-P | ||
+ | |||
+ | Je rappelle que ce que je nomme //PDF à la con// sont les PDF générés par un scanner lambda ou imprimante virtuelle. \\ | ||
+ | Ces processus de création de fichiers PDF ne font en général qu'une photo de chaque page du document. \\ | ||
+ | De ce fait, en vulgarisant, ces PDF ne sont que des //images// qu'on visualise sous forme de pages. | ||
+ | |||
+ | Tous les fichiers PDF n'ont pas cette caractéristique. :-D \\ | ||
+ | Certains sont conçus via des processus qui permettent //d'insérer le texte dans la structure du PDF//. \\ | ||
+ | Ces PDF ci, n'auront donc pas besoin de passer par la moulinette **Tesseract** et seront par conséquent plus facilement "indexables". | ||
+ | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</note> | ||
<code root> | <code root> | ||
# On installe Tesseract et le fichier de langue fra. | # On installe Tesseract et le fichier de langue fra. | ||
Ligne 499: | Ligne 699: | ||
Tout ce blabla pour ça ?\\ | Tout ce blabla pour ça ?\\ | ||
... | ... | ||
- | ===Téléchargement et installation de l'archive Nextant=== | + | |
- | On choppe le lien de téléchargement en se rendant à l'adresse : https://apps.nextcloud.com/apps/nextant (tout en bas de la page, version actuelle 1.0.8 pour nextcloud 12) | + | <note warning>[ **OBSOLÈTE FIN** ]</note> |
+ | |||
+ | ==== installation de l'archive Nextant ==== | ||
+ | |||
+ | <note warning>**OBSOLÈTE**</note> | ||
+ | |||
+ | On choppe le lien de téléchargement en se rendant à l'adresse : | ||
+ | * https://apps.nextcloud.com/apps/nextant //(tout en bas de la page, version actuelle 1.0.8 pour nextcloud 12).// | ||
+ | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
<code root> | <code root> | ||
# On lance son téléchargement depuis le serveur | # On lance son téléchargement depuis le serveur | ||
Ligne 517: | Ligne 725: | ||
find /var/www/nuage/apps/nextant -type f -exec chmod 644 {} + | find /var/www/nuage/apps/nextant -type f -exec chmod 644 {} + | ||
</code> | </code> | ||
- | ===Activation et configuration de l'application=== | + | |
- | Dans Nextcloud (gestion des applications), nous pouvons activer l'application Nextant que vous trouverez dans la catégorie "Fichiers".\\ | + | ==== Activation et configuration de l'application ==== |
- | On se rend ensuite dans l'administration de Nextcloud, puis dans "Paramètres supplémentaires". Vous trouverez alors un cadre réservé à la configuration de Nextant. Par défaut, la configuration doit correspondre. On clique sur "Tester et sauvegarder" pour être fixé. //(Voir illustration ci-dessous)//\\ | + | |
+ | <note warning>**OBSOLÈTE SUITE**</note> | ||
+ | |||
+ | Dans Nextcloud (gestion des applications), nous pouvons activer l'application Nextant que vous trouverez dans la catégorie ''Fichiers''.\\ | ||
+ | On se rend ensuite dans l'administration de Nextcloud, puis dans ''Paramètres supplémentaires''. Vous trouverez alors un cadre réservé à la configuration de Nextant. Par défaut, la configuration doit correspondre. On clique sur ''Tester et sauvegarder'' pour être fixé. //(Voir illustration ci-dessous)//\\ | ||
{{/file-Rb53ea9b5b1a033df3453c38e00b679c3.png}}\\ | {{/file-Rb53ea9b5b1a033df3453c38e00b679c3.png}}\\ | ||
- | Par défaut, les fichiers PDF seront analyser mais pas les fichiers images. Si vous souhaitez modifier cela, dans la partie "Indexer les fichiers" se trouve un lien "Configuration des filtres". En cliquant dessus vous pourrez cocher "Image (Jpeg, Tiff)".\\ | + | Par défaut, les fichiers PDF seront analysés mais pas les fichiers images. \\ |
+ | Si vous souhaitez modifier cela, dans la partie ''Indexer les fichiers'' se trouve un lien ''Configuration des filtres''. En cliquant dessus vous pourrez cocher "Image (Jpeg, Tiff)".\\ | ||
Ne touchons rien d'autre pour le moment...\\ | Ne touchons rien d'autre pour le moment...\\ | ||
\\ | \\ | ||
Ligne 530: | Ligne 743: | ||
Nada !\\ | Nada !\\ | ||
C'est normal et c'est le résultat attendu. | C'est normal et c'est le résultat attendu. | ||
- | ===Lancement d'un scan manuel=== | + | |
+ | === Lancement d'un scan manuel === | ||
+ | |||
+ | <note warning>**OBSOLÈTE SUITE**</note> | ||
Nous allons exécuter un premier scan (première indexation) de Nextant. Il faut savoir qu'au-delà de l'interface web, Nextcloud s'administre également en ligne de commande via son script "occ". Ce script est disponible dans le répertoire d'installation de Nextcloud. (Dans mon cas : **/var/www/nuage/occ**). Lorsque vous utilisez ce script, utilisez toujours l'utilisateur "www-data". (L'utilisateur Apache) | Nous allons exécuter un premier scan (première indexation) de Nextant. Il faut savoir qu'au-delà de l'interface web, Nextcloud s'administre également en ligne de commande via son script "occ". Ce script est disponible dans le répertoire d'installation de Nextcloud. (Dans mon cas : **/var/www/nuage/occ**). Lorsque vous utilisez ce script, utilisez toujours l'utilisateur "www-data". (L'utilisateur Apache) | ||
+ | <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 autorise l’exécution du script occ par son propriétaire (www-data) | # On autorise l’exécution du script occ par son propriétaire (www-data) | ||
Ligne 555: | Ligne 773: | ||
A l'envoi d'un fichier dans votre espace Nextcloud, vous ne pourrez pas effectuer de recherche basée sur son contenu immédiatement. Il faudra patienter quelques minutes, le temps que les tâches de fond de Nextcloud s’exécutent. Rappelez-vous, à l'installation de Nextcloud, nous avons mis en place l’exécution de tâches en fond... ;-) | A l'envoi d'un fichier dans votre espace Nextcloud, vous ne pourrez pas effectuer de recherche basée sur son contenu immédiatement. Il faudra patienter quelques minutes, le temps que les tâches de fond de Nextcloud s’exécutent. Rappelez-vous, à l'installation de Nextcloud, nous avons mis en place l’exécution de tâches en fond... ;-) | ||
- | ====Installation de l'application Collabora Online==== | + | <note warning>**OBSOLÈTE FIN**</note> |
- | **Qu'est-ce que Collabora Online?**\\ | + | |
- | \\ | + | ==== Installation de Collabora Online ==== |
- | **[[https://www.collaboraoffice.com/collabora-online/|Collabora Online]]** est une [[https://fr.wikipedia.org/wiki/Suite_bureautique|suite bureautique]] en ligne proposant un traitement de texte, un tableur et un créateur de présentation (diaporama). Collabora Online est un projet open source basé sur LibreOffice dont l'objectif est de fournir une alternative à Microsoft Office Online et G suite pour ne citer que les plus grands acteurs.\\ | + | |
- | \\ | + | === Qu'est-ce que Collabora Online ? === |
- | **Quel est l’intérêt de l'avoir en ligne ?**\\ | + | |
- | \\ | + | **[[https://www.collaboraoffice.com/collabora-online/|Collabora Online]]** est une [[https://fr.wikipedia.org/wiki/Suite_bureautique|suite bureautique]] en ligne proposant : |
- | Vous seriez probablement tenté de vous dire : je m'en fou, j'ai déjà LibreOffice ou Microsoft Office d'installé sur mon ordinateur. Très bien. Mais quel plaisir d'avoir en permanence la possibilité de travailler sur ces documents n'importe quand, depuis n'importe quel ordinateur, pour tous les utilisateurs que l'on souhaite avec la possibilité de travailler à plusieurs sur le même document et tout ça, rien qu'avec un navigateur.\\ | + | - un traitement de texte, |
- | Fini les demandes : "- Tu peux m'envoyer le fichier X ?"\\ | + | - un tableur et |
- | \\ | + | - un créateur de présentation (diaporama). |
- | **Il y a bien un "mais" ?**\\ | + | Collabora Online est un projet open source basé sur [[doc:editeurs:libreoffice|LibreOffice]] dont l'objectif est de fournir une alternative à //Microsoft Office Online// et //G suite// pour ne citer que les plus grands acteurs. |
- | \\ | + | |
- | Plusieurs même ! LOL \\ | + | **Quel est l’intérêt de l'avoir en ligne ?** \\ |
- | * D'abord, il faut savoir qu'il s'agit de la version Collabora Online Development Edition. Celle-ci est donc toujours en cours de développement. | + | Vous seriez probablement tentés de vous dire : //je m'en fout, j'ai déjà LibreOffice ou Microsoft Office// d'installés sur mon ordinateur. \\ |
- | * Comparé à un Microsoft Office ou LibreOffice, on est loin de disposer des même fonctionnalités avancées. (Oublier les fusions/publipostage ou l'utilisation de style par exemple.) | + | Très bien. |
- | * L'installation est relativement fastidieuse. | + | |
- | * La compatibilité avec les documents issus de la suite Microsoft Office sera aussi regrettable qu'en utilisant LibreOffice. | + | Mais quel plaisir d'avoir en permanence la possibilité de travailler sur ces documents |
- | * Une fiabilité "douteuse" ? Je n'ai pas assez de recul pour m'exprimer là-dessus pour l'instant mais, sans vouloir dénigrer, l'utilisation de [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Docker]] pour héberger le service ne m'inspire pas... | + | * n'importe quand, |
- | * Enfin, l'utilisation de Collabora Online nécessite un serveur aux ressources correctes. (Mémoire vive / Processeur) Besoin variable selon le nombre d'utilisateurs. | + | * depuis n'importe quel ordinateur, |
- | \\ | + | * pour tous les utilisateurs que l'on souhaite avec |
- | Pour installer Collabora Online, commençons dans l'interface de Nextcloud par aller dans “Applications → Bureautique et texte” et on clique sur “Afficher la description”. //(De l'application Collabora hein...)// | + | * la possibilité de travailler à plusieurs sur le même document |
- | On peut y lire qu'il faut d'abord installer Collabora Cloudsuite sur le serveur et de lire la documentation. Super ! Ici aussi, le simple fait d'appuyer sur activer ne fonctionnera pas !\\ | + | * et tout ça, rien qu'avec un navigateur ! |
- | La documentation nous avertis sur les prérequis : | + | |
+ | Finit les demandes : \\ | ||
+ | - //Tu peux m'envoyer le fichier X ?// | ||
+ | |||
+ | - Il y a bien un //MAIS// ? \\ | ||
+ | - Plusieurs même ! LOL | ||
+ | |||
+ | D'abord, il faut savoir qu'il s'agit de la version Collabora Online Development Edition. Celle-ci est donc //toujours en cours de développement//. | ||
+ | |||
+ | Comparé à un Microsoft Office ou LibreOffice, on est loin de disposer des même fonctionnalités avancées. \\ (Oubliez les //fusions/publipostage// ou l'//utilisation de style// par exemple.) \\ | ||
+ | L'installation est relativement fastidieuse. \\ | ||
+ | La compatibilité avec les documents issus de la suite Microsoft Office sera aussi regrettable qu'en utilisant LibreOffice. \\ | ||
+ | Une fiabilité "douteuse" ? \\ | ||
+ | Je n'ai pas assez de recul pour m'exprimer là-dessus pour l'instant mais, sans vouloir dénigrer, l'utilisation de [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Docker]] pour héberger le service ne m'inspire pas... \\ | ||
+ | Enfin, l'utilisation de Collabora Online nécessite un serveur aux ressources correctes. (Mémoire vive / Processeur), des besoins variables selon le nombre d'utilisateurs... | ||
+ | |||
+ | Pour installer Collabora Online, commençons dans l'interface de Nextcloud par aller dans : \\ | ||
+ | ''Applications'' → ''Bureautique et texte'' \\ | ||
+ | et on clique sur : \\ | ||
+ | ''Afficher la description''. //(De l'application Collabora hein...)// \\ | ||
+ | On peut y lire qu'il faut d'abord : \\ | ||
+ | installer **Collabora Cloudsuite** sur le serveur et de lire la documentation. | ||
+ | |||
+ | Super ! :-) | ||
+ | <note tip>Ici aussi, le simple fait d'appuyer sur activer ne fonctionnera pas !</note> | ||
+ | La documentation nous averti sur les prérequis : | ||
* Un serveur capable d'exécuter des conteneurs Docker | * Un serveur capable d'exécuter des conteneurs Docker | ||
* La création d'un sous-domaine (virtualhost) | * La création d'un sous-domaine (virtualhost) | ||
Ligne 583: | Ligne 826: | ||
* Un certificat SSL pour le sous-domaine (virtualhost) dédié à Collabora Online | * Un certificat SSL pour le sous-domaine (virtualhost) dédié à Collabora Online | ||
* Un certificat SSL pour le sous domaine (virtualhost) dédié à Nextcloud (Bon ça, ça devrait déjà être le cas...) | * Un certificat SSL pour le sous domaine (virtualhost) dédié à Nextcloud (Bon ça, ça devrait déjà être le cas...) | ||
- | ===Installation de Docker et du conteneur Collabora Online=== | + | |
- | **Qu'est-ce que Docker ?**\\ | + | ==== Installation de Docker ==== |
- | \\ | + | |
- | On s'en fou, officiellement on n'a pas d'autre choix que de l'installer ! :-P \\ | + | === Qu'est-ce que Docker ? === |
- | Bon pour faire court, Docker offre aux développeurs la possibilité de distribuer les fruits de leur travaille sous forme "d'image". Cette image contient le programme et ses dépendances. Pour l'utilisateur final, il lui suffit de télécharger l'image et de l’exécuter de manière isolé via Docker dans ce que l'on appelle un conteneur. (Pour en savoir plus, je vous renvois vers [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Wikipédia]].)\\ | + | |
- | <code root> | + | //On s'en fout, officiellement on n'a pas d'autre choix que de l'installer !// :-P |
- | # On installe la prise en charge de "https" pour le programme apt | + | |
- | apt install apt-transport-https | + | **Bon pour faire court** : \\ |
- | # On télécharge et on installe la clef publique du dépôt de Docker | + | Docker offre aux développeurs la possibilité de distribuer les fruits de leur travail sous forme "d'image". \\ |
- | curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - | + | Cette image contient le programme et ses dépendances. \\ |
- | # On ajoute le dépôt de Docker à notre liste des dépôts | + | Pour l'utilisateur final, il lui suffit de télécharger l'image et de l’exécuter de manière isolée via Docker dans ce que l'on appelle un conteneur. |
- | echo -e "# 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 | + | Pour en savoir plus, je vous renvoie vers : |
- | apt update | + | * [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Wikipédia]] |
- | # On lance l'installation de Docker | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement.</note> |
- | apt install docker-ce | + | |
- | # On peut vérifier l'installation via | + | - On installe la prise en charge de ''https'' pour le programme apt : <code root>apt install apt-transport-https</code> |
- | docker version | + | - On télécharge et on installe [[doc:systeme:gnupg|la clef publique]] du dépôt de Docker : <code root>curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -</code> |
- | # Retour : Version: 17.06.1-ce | + | - [[doc:programmation:shell:chevrons|On ajoute]] le dépôt de Docker à notre [[doc:systeme:apt:sources.list:depots-tiers|liste des dépôts]] : <code root>echo -e "\n# Depôt Docker\ndeb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list</code> |
- | # On récupère l'image de Collabora Online Development Edition | + | - On met à jour la liste des paquets disponibles de nos dépôts : <code root>apt update</code> |
- | docker pull collabora/code | + | - On lance l'installation de Docker : <code root>apt install docker-ce</code> |
- | # Le téléchargement s'effectue. (Patientez un peu, le tout pèse autour d'1 Go.) | + | - On peut vérifier l'installation via : <code root>docker version</code><code retour de la commande>17.06.1-ce</code> |
- | # latest: Pulling from collabora/code | + | - 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 : |
- | # bd97b43c27e3: Downloading 15.2MB/46.93MB | + | - Création d'un dossier ''docker.service.d'' : <code root>mkdir /etc/systemd/system/docker.service.d</code> |
- | # 6960dc1aba18: Download complete | + | - Création du fichier "DeviceMapper.conf" : <code root>nano /etc/systemd/system/docker.service.d/DeviceMapper.conf</code> |
- | # 2b61829b0db5: Download complete | + | - Et on entre les 3 lignes suivantes dans le fichier ''DeviceMapper.conf'' : <file name DeviceMapper.conf> |
- | # ... | + | [Service] |
- | # Enfin on créé et on démarre le conteneur qui exécutera l'image téléchargé. (Remplacer "nuage" si besoin...) | + | ExecStart= |
- | docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nuage\\.toto\\.fr' --restart always --cap-add MKNOD collabora/code | + | ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd:// |
- | </code> | + | </file> |
+ | - On redémarre Docker de manière à ce qu'il prenne en charge la nouvelle configuration : <code root>systemctl daemon-reload</code> <code root>systemctl restart docker</code> | ||
+ | - Et on vérifie que le nouveau paramètre est bien pris en compte : <code root>docker info</code> \\ Retour 7° ligne : Storage Driver: devicemapper | ||
+ | - On récupère l'image de Collabora Online Development Edition : <code root>docker pull collabora/code</code> \\ Le téléchargement s'effectue. (Patientez un peu, le tout pèse autour d'1 Go.) <code>latest: Pulling from collabora/code | ||
+ | bd97b43c27e3: Downloading 15.2MB/46.93MB | ||
+ | 6960dc1aba18: Download complete | ||
+ | 2b61829b0db5: Download complete | ||
+ | ...</code> | ||
+ | - Enfin on crée 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...) : <code root>docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nuage\\.toto\\.fr' --restart always --cap-add MKNOD collabora/code</code> | ||
=== Création d'un virtualhost pour Collabora === | === Création d'un virtualhost pour Collabora === | ||
- | Le virtualhost que nous allons créé est un peu particulier dans le sens où il n'aura pas de répertoire racine. Ce virtualhost sert essentiellement à éviter d'exposer Collabora Online. En somme, l'accès ne pourra se faire qu'au travers de Nextcloud. | + | |
- | <code root> | + | Le virtualhost que nous allons créé est un peu particulier dans le sens où il n'aura pas de répertoire racine. |
- | # Nous allons commencer par activer certains modules pour notre serveur web Apache | + | <note tip>Ce virtualhost sert essentiellement à éviter d'exposer Collabora Online. \\En somme, l'accès ne pourra se faire qu'au travers de Nextcloud.</note> |
- | a2enmod proxy | + | |
- | a2enmod proxy_wstunnel | + | - Nous allons commencer par activer certains modules pour notre serveur web Apache : <code root>a2enmod proxy</code><code root>a2enmod proxy_wstunnel</code><code root>a2enmod proxy_http</code><code root>a2enmod ssl</code> **ssl** devrait déjà être activé si vous avez bien suivi cette documentation. \\Activez-le de nouveau si vous voulez être sûr... |
- | a2enmod proxy_http | + | - Puis on créé un nouveau fichier de configuration pour notre nouveau virtualhost. \\ (Pour ce tuto ce sera le virtualhost : ''bureau'' \\ ce qui me donnera : \\ bureau.toto.fr. //Remplacez ''bureau'' par ce que vous voulez.//) : <code root>nano /etc/apache2/sites-available/bureau.conf</code> |
- | a2enmod ssl | + | - Copiez/collez l'intégralité de la configuration ci-dessous en n'oubliant pas d'adapter la deuxième ligne : \\ |
- | # En activant "proxy", "proxy_wstunnel" et "proxy_http devrait" devraient s'activer également mais on le déclare quand même histoire de... | + | Paramètre "ServerName". \\ (//Dans mon cas en exemple ce sera : %%bureau.toto.fr%%//) |
- | # 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. | + | |
- | # (Pour moi ce sera le virtualhost "bureau" ce qui me donnera : bureau.toto.fr. Remplacez "bureau" par ce que vous voulez.) | + | |
- | nano /etc/apache2/sites-available/bureau.conf | + | |
- | </code> | + | |
- | Copiez/collez l'intégralité de la configuration ci-dessous en n'oubliant pas d'adapter la deuxième ligne. Paramètre "ServerName". (//Dans mon cas ce sera : bureau.toto.fr.//)\\ | + | |
<note>Vous noterez au passage que dans le fichier de configuration ci-dessous, les chemins menant aux certificats SSL sont à modifier mais, on laissera Let's Encrypt s'en occuper.</note> | <note>Vous noterez au passage que dans le fichier de configuration ci-dessous, les chemins menant aux certificats SSL sont à modifier mais, on laissera Let's Encrypt s'en occuper.</note> | ||
<file name bureau.conf> | <file name bureau.conf> | ||
Ligne 673: | Ligne 919: | ||
ProxyPassReverse /lool https://127.0.0.1:9980/lool | ProxyPassReverse /lool https://127.0.0.1:9980/lool | ||
</VirtualHost> | </VirtualHost> | ||
+ | </file> | ||
+ | |||
+ | - On lance Let's Encrypt : <code root>letsencrypt</code> Qui devrait nous trouver : | ||
+ | - bureau.toto.fr | ||
+ | - madb.toto.fr | ||
+ | - nuage.toto.fr | ||
+ | - On répond à toutes les questions que letsencrypt nous pose. | ||
+ | - 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'') : <code root>a2ensite bureau</code> | ||
+ | - **a2ensite bureau** revient à faire : <code root>ln -s /etc/apache2/sites-available/bureau.conf /etc/apache2/sites-enabled/bureau.conf</code> | ||
+ | |||
+ | Et on redémarre Apache : | ||
+ | <code root>systemctl restart apache2</code> | ||
+ | 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.// | ||
+ | |||
+ | À 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-) | ||
+ | |||
+ | ===== Autres applications ===== | ||
+ | |||
+ | Passons en revu quelques applications qui pourraient s'avérer très utiles. | ||
+ | |||
+ | ==== Application email Rainloop ==== | ||
+ | |||
+ | **Rainloop** est un webmail. \\ | ||
+ | Un client email qu'on utilise depuis son navigateur au même titre que Gmail, Outlook.com,... | ||
+ | <note important>Attention à ne pas confondre avec un serveur email.</note> | ||
+ | Rainloop doit dialoguer avec un serveur email pour fonctionner. \\ | ||
+ | Quand vous installez le client Thunderbird, Evolution, Outook ou autres, vous entrez des paramètres : | ||
+ | - Adresse email, | ||
+ | - identifiant, | ||
+ | - mot de passe, | ||
+ | - adresse du serveur POP/IMAP, | ||
+ | - adresse du serveur SMTP | ||
+ | - etc. | ||
+ | Ce sont ces même paramètres que vous aurez besoin d'entrer. | ||
+ | |||
+ | L'installation de **Rainloop** se fait simplement en l'activant dans //Nextcloud//. \\ | ||
+ | Pour le paramétrage : | ||
+ | |||
+ | ==== Application Calendar ==== | ||
+ | |||
+ | Bein... c'est un agenda. Il est ouvert à tout client compatible avec le protocole CalDAV.\\ | ||
+ | Installation en un clique (//Activer//). | ||
+ | |||
+ | ==== Application Files clipboard ==== | ||
+ | |||
+ | Facilite grandement le déplacement/copie de fichiers/dossiers au sein de l'interface Nextcloud. A tel point que je me demande pourquoi ces fonctions n'y sont pas de base ? !!! :-o | ||
+ | <note important>**Installation fortement recommandée**.</note> | ||
+ | |||
+ | Une fois activée, rien d'autre à faire. \\ | ||
+ | Dans votre espace Nextcloud vous verrez 3 nouveaux boutons (couper, copier, coller) lorsque vous cocherez des fichiers/dossiers en guise de sélection. | ||
+ | |||
+ | === Application Passman === | ||
+ | |||
+ | L'application Passman est un gestionnaire de mots de passe hébergé (dans votre Nextcloud) au même titre que Dashlane, 1Password, LastPass. \\ | ||
+ | L'utilisation en est facilitée par la disponibilité des extensions pour Chrome, Firefox et Android. (Toujours pas d'application iOS à ce jour.) | ||
+ | |||
+ | L'Installation ? Juste un clique. | ||
+ | |||
+ | === Application Announcement center === | ||
+ | |||
+ | Les administrateurs seront en mesure de faire des annonces au sein de Nextcloud. | ||
+ | |||
+ | Ex : \\ | ||
+ | Maintenance de Nextcloud ce week end...\\ | ||
+ | Il y juste à activer l'application. | ||
+ | |||
+ | === Application Metadata=== | ||
+ | |||
+ | Comme son nom l'indique, l'application affichera plus d'informations quand vous regarderez le détail d'un fichier. | ||
+ | |||
+ | Exemple pour un fichier vidéo, vous verrez : | ||
+ | * la résolution, | ||
+ | * le framerate, | ||
+ | * le débit | ||
+ | * etc. | ||
+ | <note tip>Installation par activation.</note> | ||
+ | |||
+ | === Application External sites=== | ||
+ | |||
+ | L'application **External sites** permet de consulter des sites ou des documents sans que l'utilisateur n'ait à quitter Nextcloud. \\ | ||
+ | La page s'insère dans Nextcloud. | ||
+ | |||
+ | L’intérêt étant de mettre facilement à disposition des utilisateurs certaines informations externe à Nextcloud. | ||
+ | |||
+ | Ex : | ||
+ | * un règlement, | ||
+ | * un formulaire de demande d'assistance... | ||
+ | L'application s'installe en l'activant. \\ | ||
+ | Pour le paramétrage : \\ | ||
+ | ''Administration'' -> ''Paramètres supplémentaires'' | ||
+ | |||
+ | === Application Files automated tagging === | ||
+ | |||
+ | Cette application assigne automatiquement des étiquettes (tagg) pour n'importe quel fichier ajouté dans Nextcloud selon des règles à mettre en place. | ||
+ | |||
+ | Ex. : \\ | ||
+ | Si le fichier est de type "image" et qu'il a été ajouté par un utilisateur membre du groupe "Photographe", coller l'étiquette ''Photo produit''.\\ | ||
+ | Installation en activant. \\ | ||
+ | Paramétrage : | ||
+ | ''Administration'' -> ''Flux d'activités'' | ||
+ | ===== 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.**\\ Pour y remédier, il nous faut appliquer la directive "AllowOverride All" dans notre configuration Apache. | ||
+ | - On édite le fichier de configuration principal d'Apache : <code root>nano /etc/apache2/apache2.conf</code><file name apache2.conf> | ||
+ | # A partir de la ligne 170 nous trouvons | ||
+ | #<Directory /var/www/> | ||
+ | # Options Indexes FollowSymlinks | ||
+ | # AllowOverride None | ||
+ | #... | ||
+ | # On modifie "AllowOverride None" pour "AllowOverride All" | ||
+ | </file> | ||
+ | - Et on redémarre Apache : <code root>systemctl restart apache2</code> | ||
+ | * **Aucun cache mémoire n'est configuré. Si possible, configurez un "memcache" pour améliorer les performances. Pour plus d'informations consultez la documentation.** \\ Et bien on va mettre un en place :-) | ||
+ | # On installe "memcached" le module pour PHP | ||
+ | <code root>apt install memcached php-memcached | ||
+ | # On édite le fichier de configuration de Nextcloud (Rempacer par "nuage" par le nom de votre dossier.) | ||
+ | <code root>nano /var/www/nuage/config/config.php | ||
+ | </code> | ||
+ | <file name config.php> | ||
+ | # On rajoute un ligne entre : 'dbpassword' => '$NUAGEmdp%', et 'installed' => true, | ||
+ | # Autrement on la rajoute juste après : 'installed' => true, mais à ce moment là, true doit être deux apostrophes : 'true'. | ||
+ | # Attention chaque ligne doit se terminer par une virgule. | ||
+ | # Et ");" doit boucler le fichier. \\ 'memcache.local' => '\OC\Memcache\Memcached', | ||
+ | </file> | ||
+ | - Et on redémarre Apache : <code root>systemctl restart apache2</code> | ||
+ | |||
+ | **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.)//** \\ Bon bein on va pas le contrarier. | ||
+ | <code root> | ||
+ | # On ouvre le fichier de configuration de PHP | ||
+ | nano /etc/php/7.0/apache2/php.ini | ||
+ | </code> | ||
+ | <file name php.ini> | ||
+ | # Et on cherche les paramètres mentionnés pour remplacer leurs valeurs comme Nextcloud nous l'indique. | ||
+ | # Dans le fichier, vous trouverez ces paramètres à partir de la ligne 1765. | ||
+ | # Pensez à utiliser la fonction de recherche. (CTRL + W avec Nano) | ||
+ | # Pour chaque paramètre trouvé, il vous faudra le "dé-commenter" en supprimant le point virgule (;) en début de ligne et modifier la valeur. | ||
+ | # Exemple : | ||
+ | ; Determines if Zend OPCache is enabled | ||
+ | opcache.enable=1 | ||
</file> | </file> | ||
<code root> | <code root> | ||
- | # On lance Let's Encrypt | ||
- | letsencrypt | ||
- | # Qui devrait nous trouver : | ||
- | # 1: bureau.toto.fr | ||
- | # 2: madb.toto.fr | ||
- | # 3: nuage.toto.fr | ||
- | # On répond à toutes les question que letsencrypt nous pose. | ||
- | # On active le virtualhost bureau. (Ici bureau car mon fichier se nomme bureau.conf) | ||
- | a2ensite bureau | ||
- | # "a2ensite bureau" revient à faire : ln -s /etc/apache2/sites-available/bureau.conf /etc/apache2/sites-enabled/bureau.conf | ||
# Et on redémarre Apache | # Et on redémarre Apache | ||
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//\\ | + | * **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.** |
- | \\ | + | <code root> |
- | 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 active le mode Headers pour Apache |
- | ===== Corrections et optimisations ===== | + | a2enmod headers |
- | ==== Nextcloud ==== | + | # On édite le fichier de configuration du virtualhost Nextcloud (Dans mon cas : nuage-le-ssl.conf) |
- | Suite à l'installation, vous avez peut-être constaté les messages suivants dans l'interface d'administration : | + | nano /etc/apache2/sites-available/nuage-le-ssl.conf |
- | * 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. | + | </code> |
- | * 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. | + | <file name nuage-le-ssl.conf> |
- | * Aucun cache mémoire n'est configuré. Si possible, configurez un "memcache" pour améliorer les performances. Pour plus d'informations consultez la documentation. | + | # Pour rajouter une ligne juste en dessous de : "DocumentRoot /var/www/nuage" |
- | * 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.)// | + | Header always set Strict-Transport-Security "max-age=63072000;" |
- | Et dans les logs, peut être avez-vous eu le message d'erreur : | + | </file> |
- | * Undefined offset: 3 at /var/www/nuage/apps/activity/lib/FilesHooks.php#620 | + | <code root> |
+ | # Et on redémarre Apache | ||
+ | systemctl restart apache2 | ||
+ | </code> | ||
+ | ==== Nextant ==== | ||
+ | * **Erreur 21 : interruption durant l'indexation**\\ Suite à l'installation de Nextcloud, votre espace est encore bien vide. La commande que nous avons lancé (sudo -u www-data /var/www/nuage/occ nextant:index) pour effectuer une première indexation de nos fichiers via Nextant s'est sûrement déroulée sans accro. Mais dans le temps ou une fois votre espace bien plus remplie, il se pourrait que l'indexation avorte avec une "Erreur 21". Dans ce cas, il est recommandé d'augmenter la mémoire vive allouée au servlet Solr. | ||
+ | <code root> | ||
+ | nano /etc/default/solr.in.sh | ||
+ | </code> | ||
+ | <file name solr.in.sh> | ||
+ | # Paramètre à modifier "SOLR_HEAP". Par défaut, "512m". On dé-commente le paramètre en supprimant le dièse | ||
+ | # et on augmente la valeur en fonction de ce qu'on peut. Essayez "1024m". Sinon "2048m" etc. | ||
+ | #SOLR_HEAP="512m" | ||
+ | SOLR_HEAP="2048m" | ||
+ | </file> | ||
+ | <code root> | ||
+ | # Et on redémarre Apa... Non Solr ! | ||
+ | systemctl restart solr | ||
+ | # Et on relance une indexation pour tester. | ||
+ | sudo -u www-data /var/www/nuage/occ nextant:index | ||
+ | </code> | ||
+ | Une autre raison pourrait venir d'un fichier que Nextant ne parvient pas à l'ire. | ||
+ | <code root> | ||
+ | # Pour en être sûr. | ||
+ | sudo -u www-data /var/www/nuage/occ nextant:index --debug | ||
+ | </code> | ||
+ | Et dans ce cas, soit on supprime le fichier (pas vraiment une solution...) soit on filtre tous les fichiers du même type en entrant l'extension du fichier.\\ | ||
+ | Il est également possible d'indiquer à Nextant de ne pas indexer un dossier en créant dans le dossier en question un fichier de type "Texte" vide qu'il faut nommer ".noindex". Les fichiers commençant par un point (.) sont des fichiers qui par défaut sont cachés dans Nextcloud. Vous pouvez modifier cela dans le volet de gauche en cliquant tout en bas sur "Paramètres". | ||
+ | ==== 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.** \\ Avez-vous bien Docker qui utilise le driver "devicemapper" ? \\ \\ | ||
+ | * **Hôte WOPI non autorisé. Veuillez essayer de nouveau plus tard et en faire part à votre administrateur si le problème persiste.** \\ La source du problème peut venir d'un bon nombre de facteur : La commande "docker run" renseigne-t-elle le bon nom de domaine, le paramétrage du virtualhost dédié à Collabora renseigne-t-il le bon nom de domaine ? Les certificats sont-ils bien installés ? | ||
+ | ==== Rainloop ==== | ||
+ | * Si dans les logs vous voyez apparaître le message : **Cannot modify header information - headers already sent by...**\\ Il vous faudra modifier le fichier : "[[https://github.com/RainLoop/rainloop-webmail/pull/1375/files|rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php]]". | ||
+ | ==== PDF Viewer ==== | ||
+ | Peut-être auriez-vous eu, tout comme moi, la bonne ou mauvaise idée de soumettre votre serveur auprès du scanner de Mozilla : Observatory by Mozilla pour tester votre installation. (HTTPS) Et peut-être que comme moi vous avez cherché et fini par obtenir la meilleure note (A ou A+ j'sais plus...) Alors, il est très probable que vous rencontriez un problème avec le PDF Viewer intégré à Nextcloud lorsque vous tentez d'ouvrir un PDF (à la con) généré par un scanner/imprimante.\\ | ||
+ | Le problème en question est que le PDF Viewer ouvre le fichier PDF mais celui-ci est vide. Tout blanc !\\ | ||
+ | En attendant de localiser très exactement l'option qui ne plait pas au PDF Viewer, cherchez/désactivez vos paramètres "Header set ..." dans la configuration d'Apache2. |