Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:nextcloud [24/08/2017 14:32] Hassassin [Corrections et optimisations] |
doc:reseau:nextcloud [24/08/2017 20:54] Hassassin [L'installation de Nextcloud] |
||
---|---|---|---|
Ligne 73: | Ligne 73: | ||
ping toto.fr | ping toto.fr | ||
# doit me retourner une réponse affichant l'adresse IP de mon serveur</code> | # doit me retourner une réponse affichant l'adresse IP de mon serveur</code> | ||
+ | Nous allons également faire une petite modification du fichier "/etc/hosts" pour nos futur tests en local à l'aide de curl. L'intérêt de réaliser des tests en local puis à distance permet de facilité la recherche en cas de problème. | ||
+ | <code root> | ||
+ | # A l'aide de l'éditeur nano ou vim ou ouvre le fichier /etc/hosts | ||
+ | nano /etc/hosts | ||
+ | # L'éditeur nano est plus simple à appréhender pour un débutant et l'aide se trouve en bas de l'écran. | ||
+ | # Le sigle ^ signifie qu'il faut maintenir la touche du clavier CTRL. Quitter = ^X = CTRL + X | ||
+ | </code> | ||
+ | Et on rajoute ces lignes : | ||
+ | <file name hosts> | ||
+ | # Remplacer toto.fr par votre nom de domaine | ||
+ | # Remplacer madb, nuage et bureau par les nom que vous allez utiliser pour accéder à votre base de données, nextcloud et collabora. | ||
+ | # Exemple si vous avez acquis le nom de domaine : "tartempion.org" et que vous voulez accéder à nextcloud via l'adresse "https://cloud.tartempion.org", il vous faudra changer "nuage.toto.fr" en "cloud.tartempion.org". | ||
+ | 127.0.0.1 toto.fr | ||
+ | 127.0.0.1 madb.toto.fr | ||
+ | 127.0.0.1 nuage.toto.fr | ||
+ | 127.0.0.1 bureau.toto.fr | ||
+ | </file> | ||
==== Installation d'un serveur de bases de données ==== | ==== Installation d'un serveur de bases de données ==== | ||
Ligne 192: | Ligne 209: | ||
echo "Vhost madb OK!" >> /var/www/madb/index.php | echo "Vhost madb OK!" >> /var/www/madb/index.php | ||
# On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) | # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) | ||
- | systemctl apache2 restart | + | systemctl restart apache2 |
</code> | </code> | ||
<code user> | <code user> | ||
Ligne 230: | Ligne 247: | ||
echo "Vhost nuage OK!" >> /var/www/nuage/index.php | echo "Vhost nuage OK!" >> /var/www/nuage/index.php | ||
# On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) | # On redémarre le serveur Apache (pour qu'il prenne en charge le virtualhost créé) | ||
- | systemctl apache2 restart | + | systemctl restart apache2 |
</code> | </code> | ||
<code user> | <code user> | ||
Ligne 262: | Ligne 279: | ||
# Entrez une adresse email valide si vous le souhaitez. (C'est préférable) | # Entrez une adresse email valide si vous le souhaitez. (C'est préférable) | ||
# On accepte les Conditions "qu'on ne lit jamais"... (On tape A) | # On accepte les Conditions "qu'on ne lit jamais"... (On tape A) | ||
- | # Et automatiquement, let's encrypt va vous modifier la configuration de vos virtualhost, planifier l’obtention de nouveau certificats | + | # Puis on nous demande si on utiliser exclusivement HTTPS ou non. Pour moi ça sera Oui touche 2 mais vous faites comme vous voulez. |
+ | # Please choose whether HTTPS access is required or optional. | ||
+ | # ------------------------------------------------------------------------------- | ||
+ | # 1: Easy - Allow both HTTP and HTTPS access to these sites | ||
+ | # 2: Secure - Make all requests redirect to secure HTTPS access | ||
+ | # ------------------------------------------------------------------------------- | ||
+ | # Select the appropriate number [1-2] then [enter] (press 'c' to cancel): | ||
+ | # | ||
+ | # Et automatiquement, let's encrypt va vous modifier la configuration de vos virtualhost et planifier l’obtention de nouveau certificats | ||
# avant leur expirations, etc. | # avant leur expirations, etc. | ||
+ | # Nous allons jeter un coup d'oeil à nos fichiers de configuration des virtualhosts. | ||
+ | ls -l /etc/apache2/sites-enabled/ | ||
+ | # Résultat : madb-le-ssl.conf | ||
+ | # Résultat : nuage-le-ssl.conf | ||
+ | # Parfait ! Let's Encrypt nous a bien créé les fichiers ^^ | ||
+ | # On test. (Soyez attentif, ce coup-ci je test avec http"S") | ||
+ | curl https://madb.toto.fr | ||
+ | # Retour : Vhost madb OK! | ||
+ | curl https://nuage.toto.fr | ||
+ | # Retour : Vhost nuage OK! | ||
</code> | </code> | ||
- | //A cette étape, n'ayant pas fait l'acquisition du nom de domaine toto.fr (faut pas déconner...) ni d'aucun autre nom de domaine, j'ai inévitablement comme réponse de Let's encrypt : Name does not end in a public suffix. Donc si quelqu'un avait une remarque ou modification à faire, qu'il ne s'en prive pas. De plus, n'ayant pas les fichiers *.conf des virtualhost de modifiés, j'ai un doute sur les "Header set ..." à appliquer pour obtenir une installation dites sécurisée via les scanners du type https://observatory.mozilla.org // FIXME | + | |
==== Installation de PhpMyAdmin ==== | ==== Installation de PhpMyAdmin ==== | ||
Ligne 326: | Ligne 361: | ||
unzip nextcloud-12.0.2.zip -d ./nc | unzip nextcloud-12.0.2.zip -d ./nc | ||
# On copie les fichiers décompressés dans le dossier du virtualhost prévu pour accueillir nextcloud. (Dans mon cas "nuage".) | # On copie les fichiers décompressés dans le dossier du virtualhost prévu pour accueillir nextcloud. (Dans mon cas "nuage".) | ||
- | cp -r ./nc/nextcloud /var/www/nuage | + | cp -r ./nc/nextcloud/* /var/www/nuage |
# On copie également les deux fichiers cachés (fichiers commençant par un point : .fichier) | # On copie également les deux fichiers cachés (fichiers commençant par un point : .fichier) | ||
cp ./nc/nextcloud/.htaccess /var/www/nuage/.htaccess | cp ./nc/nextcloud/.htaccess /var/www/nuage/.htaccess | ||
Ligne 452: | Ligne 487: | ||
# Retour : Service solr installed. | # Retour : Service solr installed. | ||
# Retour : solr.service - LSB: Controls Apache Solr as a Service | # Retour : solr.service - LSB: Controls Apache Solr as a Service | ||
+ | # Appuyer sur la touche "Q" du clavier à la fin de l'installation | ||
</code> | </code> | ||
<note tip>Solr installe également une interface de gestion web disponible par défaut via http://toto.fr:8983. A vous de sécuriser l'accès à cette interface avec "iptables" par exemple. Procédure qui n'aurait pas de sens à être décrite dans cette documentation. L'utilisation d'iptables mérite que l'on se documente correctement : [[:doc:reseau:iptables|iptables : pare-feu, routage et filtrage de paquets]]\\ | <note tip>Solr installe également une interface de gestion web disponible par défaut via http://toto.fr:8983. A vous de sécuriser l'accès à cette interface avec "iptables" par exemple. Procédure qui n'aurait pas de sens à être décrite dans cette documentation. L'utilisation d'iptables mérite que l'on se documente correctement : [[:doc:reseau:iptables|iptables : pare-feu, routage et filtrage de paquets]]\\ | ||
Ligne 577: | Ligne 613: | ||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - | curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - | ||
# On ajoute le dépôt de Docker à notre liste des dépôts | # On ajoute le dépôt de Docker à notre liste des dépôts | ||
- | echo -e "# Depôt Docker\ndeb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list | + | echo -e "\n# Depôt Docker\ndeb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list |
# On met à jour la liste des paquets disponibles de nos dépôts | # On met à jour la liste des paquets disponibles de nos dépôts | ||
apt update | apt update | ||
Ligne 585: | Ligne 621: | ||
docker version | docker version | ||
# Retour : Version: 17.06.1-ce | # Retour : Version: 17.06.1-ce | ||
+ | # Par défaut sur Debian et Ubuntu, Docker s'installe de façon à utiliser le driver AUFS. | ||
+ | # Nous devons changer ce comportement pour que Collabora Online fonctionne. | ||
+ | # Création du dossier d'un dossier "docker.service.d" | ||
+ | mkdir /etc/systemd/system/docker.service.d | ||
+ | # Création du fichier "DeviceMapper.conf" | ||
+ | nano /etc/systemd/system/docker.service.d/DeviceMapper.conf | ||
+ | </code> | ||
+ | Et on rentre ces 3 lignes dans le fichier "DeviceMapper.conf". | ||
+ | <file name DeviceMapper.conf> | ||
+ | [Service] | ||
+ | ExecStart= | ||
+ | ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd:// | ||
+ | </file> | ||
+ | <code root> | ||
+ | #On redémarre Docker de manière à ce qu'il prenne en charge la nouvelle configuration. | ||
+ | systemctl daemon-reload | ||
+ | systemctl restart docker | ||
+ | # Et on vérifie que le nouveau paramètre est bien pris en compte | ||
+ | docker info | ||
+ | # Retour 7° ligne : Storage Driver: devicemapper | ||
# On récupère l'image de Collabora Online Development Edition | # On récupère l'image de Collabora Online Development Edition | ||
docker pull collabora/code | docker pull collabora/code | ||
Ligne 593: | Ligne 649: | ||
# 2b61829b0db5: Download complete | # 2b61829b0db5: Download complete | ||
# ... | # ... | ||
- | # Enfin on créé et on démarre le conteneur qui exécutera l'image téléchargé. (Remplacer "nuage" si besoin...) | + | # Enfin on créé et on démarre le conteneur qui exécutera l'image téléchargé. |
+ | #(Remplacer "nuage" si besoin et le nom de domaine mais, gardez bien les "\\" avant chaque point...) | ||
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nuage\\.toto\\.fr' --restart always --cap-add MKNOD collabora/code | docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nuage\\.toto\\.fr' --restart always --cap-add MKNOD collabora/code | ||
</code> | </code> | ||
Ligne 604: | Ligne 661: | ||
a2enmod proxy_http | a2enmod proxy_http | ||
a2enmod ssl | a2enmod ssl | ||
- | # En activant "proxy", "proxy_wstunnel" et "proxy_http devrait" devraient s'activer également mais on le déclare quand même histoire de... | ||
# ssl devrait déjà être activé si vous avez bien suivi cette documentation. Activez-le de nouveau si vous voulez être sûr... | # ssl devrait déjà être activé si vous avez bien suivi cette documentation. Activez-le de nouveau si vous voulez être sûr... | ||
# Puis on créé un nouveau fichier de configuration pour notre nouveau virtualhost. | # Puis on créé un nouveau fichier de configuration pour notre nouveau virtualhost. | ||
Ligne 664: | Ligne 720: | ||
# 2: madb.toto.fr | # 2: madb.toto.fr | ||
# 3: nuage.toto.fr | # 3: nuage.toto.fr | ||
- | # On répond à toutes les question que letsencrypt nous pose. | + | # On répond à toutes les questions que letsencrypt nous pose. |
- | # On active le virtualhost bureau. (Ici bureau car mon fichier se nomme bureau.conf) | + | # Première question on fait Entrer pour que Let's Encrypt traite tous les virtualhosts trouvés. ("bureau" devrait apparaître.) |
+ | # Do you want to expand and replace this existing certificate with the new certificate? | ||
+ | # On choisis d'étendre : Touche "E" puis entrer. | ||
+ | # On active le virtualhost "bureau". (Ici "bureau" car mon fichier d'origine se nomme bureau.conf) | ||
a2ensite bureau | a2ensite bureau | ||
# "a2ensite bureau" revient à faire : ln -s /etc/apache2/sites-available/bureau.conf /etc/apache2/sites-enabled/bureau.conf | # "a2ensite bureau" revient à faire : ln -s /etc/apache2/sites-available/bureau.conf /etc/apache2/sites-enabled/bureau.conf |