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 17:42] smolski [Préparation] |
doc:reseau:nextcloud [24/04/2023 16:58] lagrenouille [Préparation] |
||
---|---|---|---|
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 188: | Ligne 188: | ||
On se connecte maintenant à MariaDB en tapant : | On se connecte maintenant à MariaDB en tapant : | ||
- | <code root>mysql</code> | + | <code root>mysql</code> ou <code root>mariadb</code> |
* Votre prompt (début de ligne) devrait à présent apparaître sous la forme : ''MariaDB [(none)]> '' | * Votre prompt (début de ligne) devrait à présent apparaître sous la forme : ''MariaDB [(none)]> '' | ||
- | * 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. \\ | + | * 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. \\ |
* Puis on lui donne tous les droits : \\ <code>GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION;</code> | * Puis on lui donne tous les droits : \\ <code>GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION;</code> | ||
* On //réinitialise// pour que ce soit pris en compte : <code>FLUSH PRIVILEGES;</code> | * 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> |
- | <code root>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 ?// \\ C'est simplement que **MariaDB** garde une compatibilité maximum avec ce qui a été créé initialement pour **MySQL** !</note> | ||
Ligne 215: | Ligne 215: | ||
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>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> | + | <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> |
En s'installant, Apache2 crée automatiquement un premier virtualhost et une page web. \\ | En s'installant, Apache2 crée automatiquement un premier virtualhost et une page web. \\ | ||
Parfait, ça va nous permettre de tester rapidement si l'installation est correcte : \\ | Parfait, ça va nous permettre de tester rapidement si l'installation est correcte : \\ | ||
Ligne 233: | Ligne 233: | ||
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. | 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. | + | Dans un navigateur, en tapant l'adresse du serveur. \\ |
Exemples : | Exemples : | ||
* %%http://toto.fr%% et | * %%http://toto.fr%% et | ||
Ligne 257: | Ligne 257: | ||
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 ? === | ||
Ligne 283: | Ligne 284: | ||
- 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 : <code root>cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madb.conf</code> | ||
- 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> | - 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 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, ben... ça revient au même :-P | ||
- | <code root>nano /etc/apache2/sites-available/madb.conf</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 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 305: | Ligne 305: | ||
<code root>systemctl restart apache2</code> | <code root>systemctl restart apache2</code> | ||
- | <note tip>[[:doc:system:systemd|Pour en savoir plus sur "systemctl".]]</note> | + | <note tip>[[:doc:systeme:admin:systemd|Pour en savoir plus sur "systemctl".]]</note> |
Et on teste : | Et on teste : | ||
<code user>curl http://madb.toto.fr</code> | <code user>curl http://madb.toto.fr</code> | ||
- | On devrait avoir en retour : <code>Vhost madb OK!</code> | + | On devrait avoir en retour : |
+ | <code>Vhost madb OK!</code> | ||
Et : | Et : | ||
<code user>curl http://toto.fr | grep title</code> | <code user>curl http://toto.fr | grep title</code> | ||
- | Devrait encore nous donner : | + | Devrait nous donner : |
<code><title>Apache2 Debian Default Page: It works</title></code> | <code><title>Apache2 Debian Default Page: It works</title></code> | ||
Ligne 320: | Ligne 321: | ||
<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> | ||
- | 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> |
- | <code root>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> |
- | <code root>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 | + | |
- | <code root>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> | + | |
ServerName nuage.toto.fr | ServerName nuage.toto.fr | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
Ligne 336: | 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> |
- | + | - 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> |
- | <code root>echo "Vhost nuage OK!" >> /var/www/nuage/index.php</code> | + | - 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éé) | + | |
- | <code root>systemctl restart apache2</code> | + | |
- | + | ||
- | Et on test | + | |
- | <code user>curl http://nuage.toto.fr</code> | + | |
- | On devrait avoir en retour : Vhost nuage OK! | + | |
- | <code user>curl http://toto.fr | grep title</code> | + | |
- | Devrait encore nous donner : | + | |
- | <code><title>Apache2 Debian Default Page: It works</title></code> | + | |
==== Installation des certificats SSL ==== | ==== Installation des certificats SSL ==== | ||
Ligne 372: | Ligne 358: | ||
<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> | ||
- | # On démarre sont installation | + | On démarre sont installation |
- | <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 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... | + | |
- | <code root>letsencrypt | + | Et on le lance : |
+ | <code root>letsencrypt</code> | ||
En retour vous aurez quelque chose de similaire à : | En retour vous aurez quelque chose de similaire à : | ||
<code>Which names would you like to activate HTTPS for? | <code>Which names would you like to activate HTTPS for? | ||
Ligne 416: | Ligne 403: | ||
<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 468: | 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 475: | 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 534: | 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 583: | 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 592: | 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 637: | 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 694: | 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 723: | 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 750: | 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 768: | 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 855: | 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 913: | 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 973: | 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 ===== | ||
Ligne 1092: | Ligne 1035: | ||
''Administration'' -> ''Flux d'activités'' | ''Administration'' -> ''Flux d'activités'' | ||
===== Corrections et optimisations ===== | ===== Corrections et optimisations ===== | ||
+ | |||
==== Nextcloud ==== | ==== Nextcloud ==== | ||
+ | |||
Suite à l'installation, vous avez peut-être constaté les messages suivants dans l'interface d'administration : | 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. | * **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. | ||
- | <code root># On édite le fichier de configuration principal d'Apache | + | - On édite le fichier de configuration principal d'Apache : <code root>nano /etc/apache2/apache2.conf</code><file name apache2.conf> |
- | nano /etc/apache2/apache2.conf | + | |
- | </code> | + | |
- | <file name apache2.conf> | + | |
# A partir de la ligne 170 nous trouvons | # A partir de la ligne 170 nous trouvons | ||
#<Directory /var/www/> | #<Directory /var/www/> | ||
Ligne 1106: | Ligne 1048: | ||
# On modifie "AllowOverride None" pour "AllowOverride All" | # On modifie "AllowOverride None" pour "AllowOverride All" | ||
</file> | </file> | ||
- | <code root> | + | - Et on redémarre Apache : <code root>systemctl restart apache2</code> |
- | # Et on redémarre Apache | + | * **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 :-) |
- | systemctl restart apache2 | + | # On installe "memcached" le module pour PHP |
- | </code> | + | <code root>apt install memcached php-memcached |
- | * **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 :-) | + | |
- | <code root># On installe "memcached" le module pour PHP | + | |
- | apt install memcached php-memcached | + | |
# On édite le fichier de configuration de Nextcloud (Rempacer par "nuage" par le nom de votre dossier.) | # On édite le fichier de configuration de Nextcloud (Rempacer par "nuage" par le nom de votre dossier.) | ||
- | nano /var/www/nuage/config/config.php | + | <code root>nano /var/www/nuage/config/config.php |
</code> | </code> | ||
<file name config.php> | <file name config.php> | ||
Ligne 1120: | Ligne 1059: | ||
# Autrement on la rajoute juste après : 'installed' => true, mais à ce moment là, true doit être deux apostrophes : '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. | # Attention chaque ligne doit se terminer par une virgule. | ||
- | # Et ");" doit boucler le fichier. | + | # Et ");" doit boucler le fichier. \\ 'memcache.local' => '\OC\Memcache\Memcached', |
- | 'memcache.local' => '\OC\Memcache\Memcached', | + | |
</file> | </file> | ||
- | <code root> | + | - Et on redémarre Apache : <code root>systemctl restart apache2</code> |
- | # Et on redémarre Apache | + | |
- | systemctl restart apache2 | + | **Le PHP OPcache n'est pas correctement configuré. \\ |
- | </code> | + | 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. |
- | * **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> | <code root> | ||
# On ouvre le fichier de configuration de PHP | # On ouvre le fichier de configuration de PHP |