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 [12/02/2018 11:21] smolski |
doc:reseau:nextcloud [15/02/2018 10:21] smolski [Installation de Nextcloud] |
||
---|---|---|---|
Ligne 115: | Ligne 115: | ||
- espace de stockage. | - 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. | + | 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 : | ||
Ligne 126: | Ligne 126: | ||
<code user>ping mon_nom_de_domaine</code> | <code user>ping mon_nom_de_domaine</code> | ||
Exemple : \\ | Exemple : \\ | ||
- | Si j'ai **acheté** //le nom de domaine// ''toto.fr '' j'écrirai : | + | Si j'ai **acheté** le //nom de domaine// ''toto.fr '' j'écrirai : |
<code user>ping toto.fr</code> | <code user>ping toto.fr</code> | ||
qui doit me retourner une réponse affichant l'''adresse IP '' de mon serveur. | qui doit me retourner une réponse affichant l'''adresse IP '' de mon serveur. | ||
- | Nous allons également faire une petite modification du fichier "/etc/hosts" pour nos futurs tests en local à l'aide de curl. | + | Nous allons également faire une petite modification du fichier ''/etc/hosts'' pour nos futurs tests en local à l'aide de curl. |
- | <note tip>L'intérêt de réaliser des tests en local puis à distance permet de faciliter la recherche en cas de problème.</note> | + | <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> |
À l'aide de l'éditeur [[doc:editeurs:nano|nano]] on ouvre le fichier ''/etc/hosts '' ainsi : | À l'aide de l'éditeur [[doc:editeurs:nano|nano]] on ouvre le fichier ''/etc/hosts '' ainsi : | ||
<code root>nano /etc/hosts</code> | <code root>nano /etc/hosts</code> | ||
- | Et on rajoute ces lignes où le nom de domaine : ''toto.fr '' est à remplacer par le **nom de domaine que vous avez acquis !!!** : | + | Et on rajoute ces lignes où le //nom de domaine// : ''toto.fr '' est à remplacer par le //nom de domaine// **que vous avez acquis !!!** : |
<file name hosts>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 | ||
Ligne 141: | Ligne 141: | ||
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> | + | <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> |
==== Serveur de bases de données ==== | ==== Serveur de bases de données ==== | ||
Ligne 152: | Ligne 152: | ||
MariaDB est un fork //(dérivé)// de MySQL. //(MySQL est devenu la propriété d'Oracle.)// | 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 [[doc:systeme:superutilisateur|'S'uper 'U'tilisateur root]]. | + | <code user> su</code> |
- | </code> | + | |
- | <note tip>[[:doc:systeme:su|Pour en savoir plus sur "su".]]</note> | + | |
=== Installation de MariaDB === | === Installation de MariaDB === | ||
- | <code root># On fait une mise à jour de la liste des paquets | + | On fait une [[doc:systeme:apt:apt|mise à jour de la liste des paquets]] : |
- | apt update | + | <code root>apt update</code> |
- | # et on en profite pour mettre à jour son système. | + | Et on en profite pour mettre à jour son système : |
- | apt full-upgrade | + | <code root>apt full-upgrade</code> |
- | # On lance l'installation de MariaDB. | + | On lance l'installation de MariaDB : |
- | apt install mariadb-server | + | <code root>apt install mariadb-server</code> |
- | # Un grand nombre de paquets supplémentaires sont proposés (plus d'une trentaine), c'est normal. On répond par 'O'ui. | + | Un grand nombre de paquets supplémentaires sont proposés (plus d'une trentaine), c'est normal. \\ |
- | </code> | + | On répond par 'O'ui. |
- | <note tip>[[:doc:systeme:apt:apt|Pour en savoir plus sur "apt".]]</note> | + | |
- | Sécurisons un peu notre installation de MariaDB. | + | Sécurisons un peu notre installation de MariaDB : \\ |
- | <code root># On lance un assistant prévu à cet effet. | + | On lance un assistant prévu à cet effet : |
- | mysql_secure_installation | + | <code root>mysql_secure_installation</code> |
- | # Il suffit alors de répondre aux questions. | + | Il suffit alors de répondre aux questions : |
- | # 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. | + | |
- | # On vous demande si vous souhaitez définir un mot de passe. On répond Oui (Y) et on le saisi par la suite. | + | **La première question** vous demande de : |
- | # (Ne soyez pas boulet, rappelez-vous en ou notez-le !) | + | * //rentrer le mot de passe actuel de root.// \\ Il n'y en a pas ! On laisse vide et on valide par ''Entrer'' du clavier. |
- | # [J'utiliserai $MDPmaria-root% les fois où nous aurons besoin de le renseigner tout au long de cette documentation.] | + | * //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.// |
- | # Question suivante : supprimer les utilisateurs anonymes ? Oui (Y). | + | <note important>(**Ne soyez pas boulet**, rappelez-vous en ou mieux notez-le avec [[doc:systeme:keepassx|keepassx]] par exemple !)</note> |
- | # Interdire les connexions distantes pour root ? Oui (Y). (Il ne pourra se connecter qu'en local. | + | <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> |
- | # Si vous trouvez ça étrange, passez sur le forum ou sur le salon irc pour demander des explications.) | + | |
- | # Avant-dernière question : Supprimer la base de données de test ? Oui (Y). | + | **Questions suivantes :** |
- | # Et dernière question : Recharger les droits ? Oui (Y). | + | * //Supprimer les utilisateurs anonymes ?// <code>Oui (Y)</code> |
- | # On se connecte à MariaDB en tapant | + | * //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.// |
- | mysql | + | **Avant-dernière question :** |
- | # Votre prompt (début de ligne) devrait à présent apparaître sous la forme : MariaDB [(none)]> | + | * //Supprimer la base de données de test ?// <code>Oui (Y)</code> |
- | # Dans MariaDB on saisi les commandes suivantes : (Changer $PMAmdp% pour le mot de passe que vous souhaitez | + | **Et dernière question :** \\ |
- | # et 'adminDB' par le nom d'utilisateur que vous souhaitez ) | + | * //Recharger les droits ?// <code>Oui (Y)</code> |
- | # Attention, le point virgule ';' en fin de ligne compte ! | + | |
- | CREATE USER 'adminDB'@'localhost' IDENTIFIED BY '$PMAmdp%'; | + | On se connecte maintenant à MariaDB en tapant : |
- | # Ce qui nous permet de créer un utilisateur MariaDB pour l'application PhpMyAdmin à venir. | + | <code root>mysql</code> |
- | # Puis on lui donne tous les droits. | + | * Votre prompt (début de ligne) devrait à présent apparaître sous la forme : ''MariaDB [(none)]> '' |
- | GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION; | + | * 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. \\ |
- | # On "réinitialise" pour que ce soit pris en compte | + | * Puis on lui donne tous les droits : \\ <code>GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION;</code> |
- | FLUSH PRIVILEGES; | + | * On //réinitialise// pour que ce soit pris en compte : <code>FLUSH PRIVILEGES;</code> |
- | # Enfin, on sort de MariaDB | + | * * Enfin, on sort de MariaDB : <code root>exit</code> |
- | exit | + | |
- | </code> | + | <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> |
- | <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> | + | |
==== 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]]. \\ | + | Là encore, nextcloud est compatible avec au moins deux serveurs web différents : |
- | 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...)// \\ | + | * [[https://httpd.apache.org/|Apache]] et |
- | Qu'est-ce que PHP ? PHP est un langage de programmation très populaire pour la réalisation de site internet dynamique. Les sites développés dans ce langage nécessitent d'être hébergés sur un serveur ayant PHP d'installé. Si vous voulez en savoir plus, direction [[https://fr.wikipedia.org/wiki/PHP|Wikipédia]] ! | + | * [[https://nginx.org/en/|Nginx]]. |
+ | 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...)// ;-) | ||
+ | |||
+ | === Qu'est-ce que PHP ? === | ||
+ | |||
+ | PHP est un langage de programmation très populaire pour la réalisation de site internet dynamique. \\ | ||
+ | Les sites développés dans ce langage nécessitent d'être hébergés sur un serveur ayant PHP d'installé. | ||
+ | |||
+ | <note tip>Si vous voulez en savoir plus, direction : [[https://fr.wikipedia.org/wiki/PHP|Wikipédia]] !</note> | ||
=== Apache2 et PHP7 === | === Apache2 et PHP7 === | ||
Là, on ne va pas s'embêter on va tout installer en même temps. //(Le serveur web Apache, PHP7 et ses modules.)// | Là, on ne va pas s'embêter on va tout installer en même temps. //(Le serveur web Apache, PHP7 et ses modules.)// | ||
- | <note warning>Pour les utilisateurs d'autres distributions non basées 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ées sur Debian : \\ la commande apt ne fonctionnera pas et les paquets peuvent se nommer autrement !</note> |
- | <code root> | + | <code root>apt install curl apache2 php7.0 php7.0-mysql php7.0-mbstring php7.0-gd php7.0-json php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip</code> |
- | 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 | + | En s'installant, Apache2 crée automatiquement un premier virtualhost et une page web. \\ |
- | </code> | + | Parfait, ça va nous permettre de tester rapidement si l'installation est correcte : \\ |
- | En s'installant, Apache2 créé automatiquement un premier virtualhost et une page web. \\ | + | Vérification de fonctionnement d'Apache2 en local en tapant : |
- | Parfait, ça va nous permettre de tester rapidement si l'installation est correcte : | + | <code user>curl http://localhost | grep title</code> |
- | <code user># Vérification de fonctionnement d'Apache2 en local en tapant : | + | Vous devriez avoir en retour : |
- | curl http://localhost | grep title | + | <code>Apache2 Debian Default Page: It works</code> |
- | # Vous devriez avoir en retour : <title>Apache2 Debian Default Page: It works</title> | + | |
- | </code> | + | |
- | //Si quelqu'un a un lien à soumettre concernant l'utilisation de curl.//FIXME | + | |
- | <note warning>Pour les utilisateurs d'autres distributions non basés sur Debian, les répertoires seront peut-être différents.</note> | + | |
- | <code root> | + | |
- | # On continue en testant la prise en charge de PHP | + | |
- | # On créé un fichier test.php contenant la fonction phpinfo() | + | |
- | echo "<?php phpinfo(); ?>" >> /var/www/html/test.php | + | |
- | </code> | + | |
- | <code user> | + | |
- | # On vérifie que Apache2 nous délivre correctement le fichier | + | |
- | curl http://localhost/test.php | grep title | + | |
- | # En retour on doit avoir : <title>phpinfo()</title><meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /></head> | + | |
- | </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 (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) :// \\ | + | |
- | {{/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 |
+ | |||
+ | <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) : \\ | ||
+ | \\ | ||
+ | **Illustration Apache 2** : \\ | ||
+ | \\ | ||
+ | {{/file-Reaa41b38b70c8a2493a241f602cf9b20.png}} | ||
+ | \\ \\ | ||
+ | **Illustration PHP** : \\ | ||
+ | \\ | ||
+ | {{/file-R96cfb8bce3a7c697d6ead5dbe92e369c.png}} | ||
+ | \\ | ||
+ | ==== 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... \\ | 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. \\ | Cette documentation ira donc à 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]]. | + | 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 ? == | + | === 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. | 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. | ||
Ligne 248: | Ligne 266: | ||
%%http://madb.toto.fr%% ou %%http://phpmyadmin.toto.fr%%. | %%http://madb.toto.fr%% ou %%http://phpmyadmin.toto.fr%%. | ||
- | == Qu'est-ce que PhpMyAdmin ? == | + | === Qu'est-ce que PhpMyAdmin ? === |
Nous avons installé il y a un instant le serveur de bases de données MariaDB. \\ | 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. | + | 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 : | + | 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'avec une interface graphique un simple clic sur le bouton 'Modifier' fera l'affaire. \\ | + | Alors qu'avec une interface graphique un simple clic sur le bouton ''Modifier'' fera l'affaire. |
- | L'interface graphique que l'on installera est [[https://www.phpmyadmin.net/|PhpMyAdmin]]. \\ | + | |
- | Il existe d'autres solutions... mais popularité bla bla bla. | + | L'interface graphique que l'on installera est : |
+ | * [[https://www.phpmyadmin.net/|PhpMyAdmin]] | ||
+ | Il existe d'autres solutions, mais popularité bla bla bla... ;-) | ||
<note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
- | <code root> | + | |
- | # L'idée est d'obtenir http://madb.toto.fr mais si "madb" ne vous plait pas, vous changez chaque fois que "madb" apparaît dans ce texte hein..! | + | L'idée est d'obtenir http://madb.toto.fr mais si "madb" ne vous plait pas, vous changez chaque fois que "madb" apparaît dans ce texte hein..! ^_^ |
- | # On commence par créer le dossier qui accueillera très bientôt phpmyadmin | + | - On commence par [[doc:systeme:mkdir|créer le dossier]] qui accueillera très bientôt phpmyadmin : <code root>mkdir /var/www/madb</code> |
- | mkdir /var/www/madb | + | - 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> |
- | # On duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau | + | - 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> |
- | cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madb.conf | + | - 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> |
- | # On créé un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage | + | |
- | ln -s /etc/apache2/sites-available/madb.conf /etc/apache2/sites-enabled/madb.conf | + | |
- | # Puis on modifie avec vim ou nano le fichier original du lien symbolique... (celui situé dans "/etc/apache2/sites-available/"...) | + | |
- | # 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 [[doc:editeurs:vim:vim|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 284: | 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> | + | |
<note tip>[[:doc:system:systemd|Pour en savoir plus sur "systemctl".]]</note> | <note tip>[[:doc:system:systemd|Pour en savoir plus sur "systemctl".]]</note> | ||
- | <code user> | + | |
- | # Et on teste | + | Et on teste : |
- | curl http://madb.toto.fr | + | <code user>curl http://madb.toto.fr</code> |
- | # On devrait avoir en retour : Vhost madb OK! | + | On devrait avoir en retour : |
- | curl http://toto.fr | grep title | + | <code>Vhost madb OK!</code> |
- | # Devrait encore nous donner : <title>Apache2 Debian Default Page: It works</title> | + | Et : |
- | </code> | + | <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 === | ||
Ligne 304: | Ligne 320: | ||
Ben... On va refaire presque tout pareil... | Ben... On va refaire presque tout pareil... | ||
<note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
- | <code root> | + | |
- | # 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... | + | 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 commence par créer le dossier qui accueillera très bientôt nextcloud | + | - On commence par créer le dossier qui accueillera très bientôt nextcloud : <code root>mkdir /var/www/nuage</code> |
- | mkdir /var/www/nuage | + | - 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 duplique le fichier de configuration du virtualhost par défaut pour en créer un nouveau | + | - 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> |
- | cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/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> |
- | # On créé un lien symbolique du nouveau fichier pour qu'il soit chargé par le serveur Apache à son redémarrage | + | |
- | ln -s /etc/apache2/sites-available/nuage.conf /etc/apache2/sites-enabled/nuage.conf | + | |
- | # 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 324: | 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... | + | 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 === | + | ==== Installation de let's encrypt ==== |
- | **Qu'est-ce que //Let's encrypt// ?** | + | === Qu'est-ce que //Let's encrypt// ? === |
L'introduction de [[https://fr.wikipedia.org/wiki/Let%27s_Encrypt|wikipédia]] est parfaite : \\ | 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. \\ | + | [[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 | + | |
+ | 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 création manuelle, | ||
- la validation, | - la validation, | ||
Ligne 357: | Ligne 357: | ||
- le renouvellement des certificats pour la sécurisation des sites internet. | - le renouvellement des certificats pour la sécurisation des sites internet. | ||
<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> | <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> | + | |
- | # On démarre sont installation | + | On démarre sont installation |
- | 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 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> |
- | # Il y a du monde ! Au moins, let's encrypt ne manquera de rien pour faire son job... | + | Il y a du monde ! Au moins, let's encrypt ne manquera de rien pour faire son job... |
- | # Et on le lance... | + | |
- | letsencrypt | + | Et on le lance : |
- | # En retour vous aurez quelque chose de similaire à : | + | <code root>letsencrypt</code> |
- | # Which names would you like to activate HTTPS for? | + | 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 | + | 1: madb.toto.fr |
- | # | + | 2: nuage.toto.fr</code> |
- | # Let's encrypt à 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) | + | Let's encrypt a automatiquement trouvé nos virtualhost. \\ |
- | # On accepte les Conditions "qu'on ne lit jamais"... (On tape A) | + | Appuyer sur ''entrer'' pour le qu'il s'occupe de tous virtualhost détectés. |
- | # Puis on nous demande si on utiliser exclusivement HTTPS ou non. Pour moi ça sera Oui touche 2 mais vous faites comme vous voulez. | + | - Entrez une adresse email valide si vous le souhaitez. (C'est préférable) |
- | # Please choose whether HTTPS access is required or optional. | + | - 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. |
- | # 1: Easy - Allow both HTTP and HTTPS access to these sites | + | <code> Please choose whether HTTPS access is required or optional. |
- | # 2: Secure - Make all requests redirect to secure HTTPS access | + | ------------------------------------------------------------------------------- |
- | # ------------------------------------------------------------------------------- | + | 1: Easy - Allow both HTTP and HTTPS access to these sites |
- | # Select the appropriate number [1-2] then [enter] (press 'c' to cancel): | + | 2: Secure - Make all requests redirect to secure HTTPS access |
- | # | + | ------------------------------------------------------------------------------- |
- | # Et automatiquement, let's encrypt va vous modifier la configuration de vos virtualhost et planifier l’obtention de nouveau certificats | + | Select the appropriate number [1-2] then [enter] (press 'c' to cancel):</code> |
- | # avant leur expirations, etc. | + | |
- | # Nous allons jeter un coup d'oeil à nos fichiers de configuration des virtualhosts. | + | Et automatiquement, let's encrypt va modifier la configuration de vos virtualhost et planifier l’obtention de nouveau certificats avant leur expirations, etc. |
- | ls -l /etc/apache2/sites-enabled/ | + | |
- | # Résultat : madb-le-ssl.conf | + | Nous allons maintenant jeter un coup d'oeil à nos fichiers de configuration des virtualhosts. |
- | # Résultat : nuage-le-ssl.conf | + | <code root>ls -l /etc/apache2/sites-enabled/</code> |
- | # Parfait ! Let's Encrypt nous a bien créé les fichiers ^^ | + | Résultat : |
- | # On test. (Soyez attentif, ce coup-ci je test avec http"S") | + | <code>madb-le-ssl.conf</code> |
- | curl https://madb.toto.fr | + | Résultat : |
- | # Retour : Vhost madb OK! | + | <code>nuage-le-ssl.conf</code> |
- | curl https://nuage.toto.fr | + | Parfait ! Let's Encrypt nous a bien créé les fichiers ^_^ |
- | # Retour : Vhost nuage OK! | + | |
- | </code> | + | 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ées sur Debian, les répertoires seront peut-être différents.</note> | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
- | <code root> | + | |
- | # On télécharge la dernière version de phpmyadmin. Pour ça, encore faut-il se rendre sur le site officiel : https://www.phpmyadmin.net | + | On télécharge la dernière version de phpmyadmin. Pour ça, encore faut-il se rendre sur le site officiel : |
- | # avec un navigateur et trouver le lien de téléchargement de la dernière version. | + | * https://www.phpmyadmin.net |
- | # A ce jour, sur la page d'accueil, premier bouton en haut à droite. (Que ce soit avec firefox, chrome ou autre logiquement : | + | avec un navigateur et trouver le lien de téléchargement de la dernière version. \\ |
- | # Clic droit -> copier l'adresse du lien pour le coller dans notre terminal précédé de "[[doc:reseau:wget|wget]]". Ce qui donnerai à l'heure actuelle : | + | À ce jour, sur la page d'accueil, premier bouton en haut à droite. (Que ce soit avec firefox, chrome ou autre logiquement : |
- | wget https://files.phpmyadmin.net/phpMyAdmin/4.7.3/phpMyAdmin-4.7.3-all-languages.zip | + | ''Clic droit'' -> ''copier l'adresse du lien'' pour le coller dans notre terminal précédé de [[doc:reseau:wget|wget]]. \\ |
- | # Une fois le téléchargement terminé, on décompresse l'archive obtenue dans un dossier nommé phma du répertoire courant. | + | Ce qui donnerait à l'heure actuelle : |
- | # (Attention à adapter la commande avec le nom du fichier que vous avez obtenu. | + | <code user>wget https://files.phpmyadmin.net/phpMyAdmin/4.7.3/phpMyAdmin-4.7.3-all-languages.zip</code> |
- | # Aujourd'hui "phpMyAdmin-4.7.3-all-languages.zip", "demain" le fichier se nommera "tartempion.zip"...) | + | Une fois le téléchargement terminé, on décompresse l'archive obtenue dans un dossier nommé ''phma'' du répertoire courant. |
- | unzip phpMyAdmin-4.7.3-all-languages.zip -d phma | + | <note important>Attention à adapter la commande avec le nom du fichier que vous avez obtenu. \\ |
- | # On copie le tout dans le dossier créé pour accueillir l'application. (Attention à remplacer "madb" si vous n'avez pas fait ce choix...) | + | Aujourd'hui c'est **phpMyAdmin-4.7.3-all-languages.zip**, demain le fichier se nommera autrement... **tartempion.zip**...</note> |
- | cp -r phma/phpMyAdmin-4.7.3-all-languages/* /var/www/madb/ | + | <code user>unzip phpMyAdmin-4.7.3-all-languages.zip -d phma</code> |
- | # On modifié le propriétaire du dossier madb et de ses enfants pour l'utilisateur système "www-data". (Utilisateur utilisé par Apache) | + | 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> |
- | chown -R www-data:www-data /var/www/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> |
- | # On modifie les droits pour le dossier "madb" et tous les sous dossiers du dossier "madb" | + | 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> |
- | find /var/www/madb -type d -exec chmod 755 {} + | + | On modifie les droits pour tous les fichiers enfants du dossier ''madb'' <code user>find /var/www/madb/ -type f -exec chmod 644 {} +</code> |
- | # On modifie les droits pour tous les fichiers enfants du dossier "madb" | + | 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> |
- | find /var/www/madb/ -type f -exec chmod 644 {} + | + | On ouvre le fichier avec l'éditeur nano : <code user>nano /var/www/madb/config.inc.php</code> |
- | # On duplique l’exemple de fichier de configuration de phpmyadmin en un fichier qui sera chargé. | + | |
- | cp /var/www/madb/config.sample.inc.php /var/www/madb/config.inc.php | + | |
- | # On ouvre le fichier avec l'éditeur nano ou vim | + | |
- | nano /var/www/madb/config.inc.php | + | |
- | </code> | + | |
<note tip>Pour en savoir plus "[[doc:systeme:tar|unzip]]", "[[:doc:systeme:find|find]]", "[[:doc:systeme:chown|chown]]" et "[[:doc:systeme:chmod|chmod]]".</note> | <note tip>Pour en savoir plus "[[doc:systeme:tar|unzip]]", "[[:doc:systeme:find|find]]", "[[:doc:systeme:chown|chown]]" et "[[:doc:systeme:chmod|chmod]]".</note> | ||
//Si quelqu'un a un lien concernant l'utilisation de "unzip".//FIXME\\ | //Si quelqu'un a un lien concernant l'utilisation de "unzip".//FIXME\\ | ||
\\ | \\ | ||
- | Et on change juste une ligne : | + | Et on change juste une ligne, on renseigne une clef qui sera utilisée pour crypter les Cookies du navigateur : |
<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%%). \\ |
+ | 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 === | === 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//. \\ |
+ | * Et on fini en cliquant tout en bas à droite sur ''Executer''. | ||
===== Installation de Nextcloud ===== | ===== Installation de Nextcloud ===== | ||
Ligne 449: | Ligne 459: | ||
* 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) | ||
- | * **OBSOLÈTE**Installation de l'application Nextant (Scan du contenu des documents .odt, .doc, .ods, .pdf, ...)**OBSOLÈTE** | + | * [ **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 | * Autres applications | ||
Ligne 456: | Ligne 466: | ||
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. \\ | 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** **OBSOLÈTE****Nextant** **OBSOLÈTE** et **Collabora** sont gourmandes en ressources !**</note> | + | **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. | + | 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é. | ||
- | 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 est de se rendre sur **le site officiel de Nextcloud** avec un navigateur. |
- | Pour trouver le lien de téléchargement, le plus simple est de se rendre sur le site officiel de Nextcloud avec un navigateur. | + | |
<note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> | ||
- | <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éée précédemment : **nuage** | ||
- | //(Voir illustration ci-dessous)// : \\ | + | - 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> |
- | {{/file-R69854c7f65c3220748f2e49e805f6914.png}} | + | - 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> | ||
- | Et on renseigne les informations demandées...\\ | + | A l'aide d'un navigateur, on se connecte via l'adresse : \\ |
- | **Nom d'utilisateur : ** Administrateur (Ou Toto... On met ce qu'on veut. // | + | %%https://nuage.nom_domaine%% \\ |
- | //Il s'agit ici d'un utilisateur Nextcloud et de rien d'autre.\\ | + | //Exemple//: %%https://nuage.toto.fr%% \\ |
- | <note important>**Ce n'est donc pas** un utilisateur système ni un utilisateur MariaDB !</note> | + | 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. |
- | 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 ce que vous voulez.)\\ | + | \\ **Voir illustration ci-dessous :** |
- | **Répertoire des données :** /var/www/nuage/data (Je n'évoquerai pas l'utilisation du répertoire autre que celui par défaut.)\\ | + | \\ \\ {{/file-R69854c7f65c3220748f2e49e805f6914.png}} \\ |
- | **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.)\\ | + | Et on renseigne les informations demandées : |
- | **Nom de la base de données :** nuage //(Normalement elle porte le même nom que l'utilisateur créé avec PhpMyAdmin.)//\\ | + | * **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. \\ |
- | **Hote de la base de données :** localhost \\ | + | * **Mot de passe :** $ADMIN-NCmdp% //(Vous mettez le passe ce que vous voulez.)// |
- | Enfin, on clique sur terminer l'installation. Et si tout a bien été renseigné, vous devriez obtenir le résultat suivant dans votre navigateur : \\ | + | * **Répertoire des données :** /var/www/nuage/data (Je n'évoquerai pas l'utilisation du répertoire autre que celui par défaut.) |
- | {{/file-R30f55a495a6e8f8fa44cf97ff2a1ba48.png}} {{/file-Re436e915bc143ffcc0b7fd2a242ca744.png}}\\ | + | * **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 ici 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 : \\ | ||
+ | \\ **Voir illustration ci-dessous :** \\ | ||
+ | {{/file-R30f55a495a6e8f8fa44cf97ff2a1ba48.png}}\\ | ||
+ | \\ **Voir illustration ci-dessous :** \\ | ||
+ | {{/file-Re436e915bc143ffcc0b7fd2a242ca744.png}}\\ | ||
- | <note warning>Si en parcourant l'interface, vous apercevez des avertissements dans : \\ | + | <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> |
- | Administration -> Paramètres de base \\ les cas seront traités dans un autre chapitre.</note> | + | |
=== Planification des tâches en fond === | === Planification des tâches en fond === | ||
Ligne 515: | Ligne 517: | ||
On sélectionne l'option //Cron//. \\ | On sélectionne l'option //Cron//. \\ | ||
Puis dans le terminal du serveur : | Puis dans le terminal du serveur : | ||
- | <note warning>Pour les utilisateurs d'autres distributions non basés sur Debian, les répertoires seront peut-être différents.</note> | + | <note warning>Pour les utilisateurs d'autres distributions non basées sur Debian, les répertoires seront peut-être différents.</note> |
- | <code root># On enregistre une tâche "cron" exécutée en tant qu'utilisateur système www-data | + | - 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> |
- | crontab -u www-data -e | + | - Il se pourrait qu'une question vous soit posée : |
- | # Il se pourrait qu'une question vous soit posée | + | - Retour possible : Select an editor. To change later, run 'select-editor'. |
- | # Retour possible : Select an editor. To change later, run 'select-editor'. | + | - Retour possible : 1. /bin/nano <---- easiest. |
- | # 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.) |
- | # Retour possible : 2. /usr/bin/vim.basic | + | - 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> |
- | # En faite, crontab vous demande quel éditeur souhaitez-vous utiliser. Tapez le numéro de l'éditeur souhaité. (Nano étant le plus simple.) | + | - 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> |
- | # Un fichier crontab temporaire va s'ouvrir. Nous n'avons qu'une ligne à ajouter</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) |
- | <note tip>[[:doc:systeme:crontab|Pour en savoir plus sur "crontab"]]</note> | + | Aug 23 13:30:01 nextcloud CRON[29252]: (www-data) CMD (php -f /var/www/nuage/cron.php)</code> |
- | <file name crontab> | + | - On sort de l'outil **tail** avec la combinaison de touches : ''CTRL'' ''c'' |
- | */15 * * * * php -f /var/www/nuage/cron.php | + | * 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... |
- | </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> | + | |
- | <note tip>[[:doc:systeme:tail|Pour en savoir plus sur "tail"]]</note> | + | |
Si on retourne dans l'interface (web) d'administration de Nextcloud, la //pastille// est passée au vert. ''Tâches de fond'' | 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) ==== | ==== 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. | + | À 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 Nextant et de Collabora. | + | 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. | + | <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> | 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> | ||
Ligne 564: | Ligne 546: | ||
On se rend dans l'interface de gestion des applications en cliquant en haut à droite sur l'engrenage et on sélectionne ''Applications''. | 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. | - 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.)// | + | - 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 ? === | === Qu'est-ce que Dashboard ? === | ||
Ligne 573: | Ligne 555: | ||
- Applications. ''Engrenage -> Applications'', //(je ne le répéterai plus)// :-) | - Applications. ''Engrenage -> Applications'', //(je ne le répéterai plus)// :-) | ||
- puis dans le volet de gauche sur ''Outils''. | - 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> | + | - 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. \\ | 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)//\\ | + | Cliquez dessus pour afficher le tableau de bord qui sera sûrement vide pour le moment. |
- | {{/file-Rfa4583c1fc855296b8cd9d9925dea660.png}} {{/file-R23ce68027af3fe6aa0f727d4de7a5786.png}} | + | |
+ | **Voir illustrations ci-dessous :** \\ \\ | ||
+ | \\ {{/file-Rfa4583c1fc855296b8cd9d9925dea660.png}} \\ | ||
+ | |||
+ | \\ {{/file-R23ce68027af3fe6aa0f727d4de7a5786.png}} \\ | ||
==== Installation de l'application Nextant ==== | ==== Installation de l'application Nextant ==== | ||
Ligne 618: | Ligne 605: | ||
- Lancement d'un scan et planification. | - Lancement d'un scan et planification. | ||
- | <note warning>**OBSOLÈTE FIN**</note> | + | <note warning>**OBSOLÈTE FIN !**</note> |
==== Installation du servlet Solr ==== | ==== 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 ? === | === Qu'est-ce que le servlet Solr ? === | ||
Ligne 675: | Ligne 665: | ||
</code> | </code> | ||
<note tip>[[:doc:systeme:sudo|Pour en savoir plus sur "sudo".]]</note> | <note tip>[[:doc:systeme:sudo|Pour en savoir plus sur "sudo".]]</note> | ||
+ | |||
+ | <note warning>**OBSOLÈTE FIN !**</note> | ||
==== Installation de Tesseract ==== | ==== Installation de Tesseract ==== | ||
+ | |||
+ | <note warning>[ **OBSOLÈTE** ]</note> | ||
=== Qu'est-ce que Tesseract ? === | === Qu'est-ce que Tesseract ? === | ||
+ | |||
Tesseract est un moteur de reconnaissance optique de caractère dit OCR. | Tesseract est un moteur de reconnaissance optique de caractère dit OCR. | ||
Ligne 704: | Ligne 699: | ||
Tout ce blabla pour ça ?\\ | Tout ce blabla pour ça ?\\ | ||
... | ... | ||
+ | |||
+ | <note warning>[ **OBSOLÈTE FIN** ]</note> | ||
==== installation de l'archive Nextant ==== | ==== installation de l'archive Nextant ==== | ||
Ligne 731: | Ligne 728: | ||
==== Activation et configuration de l'application ==== | ==== Activation et configuration de l'application ==== | ||
- | <note warning>**OBSOLÈTE**</note> | + | <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''.\\ | Dans Nextcloud (gestion des applications), nous pouvons activer l'application Nextant que vous trouverez dans la catégorie ''Fichiers''.\\ | ||
Ligne 749: | Ligne 746: | ||
=== Lancement d'un scan manuel === | === Lancement d'un scan manuel === | ||
- | <note warning>**OBSOLÈTE**</note> | + | <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) | ||
Ligne 836: | Ligne 833: | ||
//On s'en fout, officiellement on n'a pas d'autre choix que de l'installer !// :-P | //On s'en fout, officiellement on n'a pas d'autre choix que de l'installer !// :-P | ||
- | Bon pour faire court : | + | **Bon pour faire court** : \\ |
Docker offre aux développeurs la possibilité de distribuer les fruits de leur travail sous forme "d'image". \\ | Docker offre aux développeurs la possibilité de distribuer les fruits de leur travail sous forme "d'image". \\ | ||
Cette image contient le programme et ses dépendances. \\ | 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ée via Docker dans ce que l'on appelle un conteneur. \\ | + | 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. |
- | (Pour en savoir plus, je vous renvois vers : | + | |
- | * [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Wikipédia]].) | + | Pour en savoir plus, je vous renvoie vers : |
+ | * [[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Wikipédia]] | ||
<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> | <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> | + | |
- | # On installe la prise en charge de "https" pour le programme apt | + | - On installe la prise en charge de ''https'' pour le programme apt : <code root>apt install apt-transport-https</code> |
- | apt install apt-transport-https | + | - 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> |
- | # On télécharge et on installe la clef publique du dépôt de Docker | + | - [[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> |
- | curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - | + | - On met à jour la liste des paquets disponibles de nos dépôts : <code root>apt update</code> |
- | # On ajoute le dépôt de Docker à notre liste des dépôts | + | - On lance l'installation de Docker : <code root>apt install docker-ce</code> |
- | echo -e "\n# Depôt Docker\ndeb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list | + | - On peut vérifier l'installation via : <code root>docker version</code><code retour de la commande>17.06.1-ce</code> |
- | # On met à jour la liste des paquets disponibles de nos dépôts | + | - 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 : |
- | apt update | + | - Création d'un dossier ''docker.service.d'' : <code root>mkdir /etc/systemd/system/docker.service.d</code> |
- | # On lance l'installation de Docker | + | - Création du fichier "DeviceMapper.conf" : <code root>nano /etc/systemd/system/docker.service.d/DeviceMapper.conf</code> |
- | apt install docker-ce | + | - Et on entre les 3 lignes suivantes dans le fichier ''DeviceMapper.conf'' : <file name DeviceMapper.conf> |
- | # On peut vérifier l'installation via | + | |
- | docker version | + | |
- | # Retour : Version: 17.06.1-ce | + | |
- | # Par défaut sur Debian et Ubuntu, Docker s'installe de façon à utiliser le driver AUFS. | + | |
- | # Nous devons changer ce comportement pour que Collabora Online fonctionne. | + | |
- | # Création du dossier d'un dossier "docker.service.d" | + | |
- | mkdir /etc/systemd/system/docker.service.d | + | |
- | # Création du fichier "DeviceMapper.conf" | + | |
- | nano /etc/systemd/system/docker.service.d/DeviceMapper.conf | + | |
- | </code> | + | |
- | Et on rentre ces 3 lignes dans le fichier ''DeviceMapper.conf''. | + | |
- | <file name DeviceMapper.conf> | + | |
[Service] | [Service] | ||
ExecStart= | ExecStart= | ||
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd:// | ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd:// | ||
</file> | </file> | ||
- | <code root> | + | - 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> |
- | #On redémarre Docker de manière à ce qu'il prenne en charge la nouvelle configuration. | + | - 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 |
- | systemctl daemon-reload | + | - 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 |
- | systemctl restart docker | + | bd97b43c27e3: Downloading 15.2MB/46.93MB |
- | # Et on vérifie que le nouveau paramètre est bien pris en compte | + | 6960dc1aba18: Download complete |
- | docker info | + | 2b61829b0db5: Download complete |
- | # Retour 7° ligne : Storage Driver: devicemapper | + | ...</code> |
- | # On récupère l'image de Collabora Online Development Edition | + | - 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> |
- | docker pull collabora/code | + | |
- | # Le téléchargement s'effectue. (Patientez un peu, le tout pèse autour d'1 Go.) | + | |
- | # latest: Pulling from collabora/code | + | |
- | # bd97b43c27e3: Downloading 15.2MB/46.93MB | + | |
- | # 6960dc1aba18: Download complete | + | |
- | # 2b61829b0db5: Download complete | + | |
- | # ... | + | |
- | # Enfin on créé et on démarre le conteneur qui exécutera l'image téléchargé. | + | |
- | #(Remplacer "nuage" si besoin et le nom de domaine mais, gardez bien les "\\" avant chaque point...) | + | |
- | docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nuage\\.toto\\.fr' --restart always --cap-add MKNOD collabora/code | + | |
- | </code> | + | |
=== Création d'un virtualhost pour Collabora === | === Création d'un virtualhost pour Collabora === | ||
Ligne 894: | Ligne 869: | ||
Le virtualhost que nous allons créé est un peu particulier dans le sens où il n'aura pas de répertoire racine. | Le virtualhost que nous allons créé est un peu particulier dans le sens où il n'aura pas de répertoire racine. | ||
<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> | <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> | ||
- | <code root> | + | |
- | # Nous allons commencer par activer certains modules pour notre serveur web Apache | + | - 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 | + | - 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 proxy_wstunnel | + | - Copiez/collez l'intégralité de la configuration ci-dessous en n'oubliant pas d'adapter la deuxième ligne : \\ |
- | a2enmod proxy_http | + | Paramètre "ServerName". \\ (//Dans mon cas en exemple ce sera : %%bureau.toto.fr%%//) |
- | a2enmod ssl | + | |
- | # 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 en exemple 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 954: | Ligne 920: | ||
</VirtualHost> | </VirtualHost> | ||
</file> | </file> | ||
- | <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 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) | ||
- | 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 | ||
- | systemctl restart apache2 | ||
- | </code> | ||
- | On file ensuite dans la gestion des applications Nextcloud : \\ | + | - On lance Let's Encrypt : <code root>letsencrypt</code> Qui devrait nous trouver : |
- | - ''Applications'' → ''Bureautique et texte'' | + | - bureau.toto.fr |
- | - et on clique sur ''Activer'' (//Collabora//) | + | - 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. | + | 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 : \\ | + | - On entre l'adresse de Collabora : \\ |
- %%https://bureau.toto.fr%% (dans mon cas) \\ | - %%https://bureau.toto.fr%% (dans mon cas) \\ | ||
- et on décoche : \\ ''Utiliser le format OOXML...'' //si on le souhaite.// | - 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 fichiers seront proposés. \\ | + | À 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//), | - Cliquez sur l'un d'entre eux (//Ex: Nouvelle feuille de calcul//), | ||
- donnez lui un nom et | - donnez lui un nom et | ||
- appuyez sur la touche ''Entrer'' pour confirmer le nom du fichier. | - appuyez sur la touche ''Entrer'' pour confirmer le nom du fichier. | ||
- Une fois créé, cliquez dessus pour l'ouvrir. | - Une fois créé, cliquez dessus pour l'ouvrir. | ||
- | Collabora Online devrait prendre le relais pour l'édition du fichier. 8-) | + | - Collabora Online devrait prendre le relais pour l'édition du fichier. 8-) |
===== Autres applications ===== | ===== Autres applications ===== |