Update installation_brique_fr.md

This commit is contained in:
julien@vaubourg.com 2015-09-27 00:55:54 +02:00 committed by YunoHost
parent b98892f0a2
commit 1712b878d3

View file

@ -11,115 +11,94 @@ Site du projet **La Brique Internet** : http://labriqueinter.net/
## Prérequis
Une **Brique Internet complète**, soit :
* Une board [A20-OLinuXino-LIME](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware) ou [A20-OLinuXino-LIME2](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware)
* Une carte microSD (on utilise des [Trasncend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO) pour des raisons de performance/stabilité)
* Une antenne WiFi [MOD-WIFI-R5370-ANT](https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370-ANT/) (seule version testée jusquà présent chez nous)
* Un adaptateur secteur pour alimenter la brique ([chinois](https://www.olimex.com/Products/Power/SY0605E-CHINA/) ou [européen](https://www.olimex.com/Products/Power/SY0605E/)). Lalimentation via USB semble peu stable.
* Un câble Ethernet/RJ-45 pour brancher la Brique à son routeur
* Un mini-serveur [A20-OLinuXino-LIME](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware) ou [A20-OLinuXino-LIME2](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware).
* Une carte micro-SD (des [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO) pour des raisons de performance/stabilité).
* Une antenne WiFi [MOD-WIFI-R5370-ANT](https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370-ANT/) (non-libre) ou [AR9271](http://fr.aliexpress.com/item/Atheros-AR9271-Chip-150Mbps-Mini-USB-Wifi-Adapter-with-5dBi-Antenna/32344771975.html) (libre, mais limitée à 7 connexions simultanées maximum).
* Un adaptateur secteur [européen](https://www.olimex.com/Products/Power/SY0605E/) pour alimenter la brique. Lalimentation via USB semble peu stable.
* Un câble Ethernet/RJ-45 pour brancher la Brique à son routeur.
**+ un ordinateur sous UNIX**
Et évidemment, **un ordinateur sous UNIX (e.g. GNU/Linux).**
---
Linstallation sarticule en deux parties : les étapes réalisables sans avoir besoin de lutilisateur, et les étapes de configuration pour lesquelles la présence de lutilisateur est recommandée.
Lordre des étapes est important :-)
Lordre des étapes est important.
## Étapes préliminaires
1. Télécharger limage à partir de https://repo.labriqueinter.net, valider son checksum, puis la décompresser.
1. Télécharger l[image](http://repo.labriqueinter.net/labriqueinternet_latest_jessie.img.tar.xz), la décompresser, puis valider son *checksum* (en comparant la valeur de retour de la dernière commande avec [celle sur le site](http://repo.labriqueinter.net/SHA512SUMS)) :
2. Copier l'image sur la carte à l'aide de `dd` (la commande, pas le patron du bistro den face)
```bash
sudo dd if=labriqueinternet_XX-XX-XXXX_jessie.img of=/dev/sdX bs=1M
% cd /tmp/
% wget http://repo.labriqueinter.net/labriqueinternet_latest_jessie.img.tar.xz
% tar xf labriqueinternet_latest_jessie.img.tar.xz
% sha512sum labriqueinternet_latest_jessie.img
```
3. **Uniquement pour le modèle LIME2** : Monter la carte SD et changer le lien de base donnée des pilotes dans `/boot` :
2. Identifier le nom de la carte micro-SD en tapant la commande `ls -1 /sys/block/`, en insérant la carte micro-SD (éventuellement à l'aide d'un adaptateur) dans son ordinateur, puis en retapant la commande `ls -1 /sys/block/`. Le nom de la carte micro-SD correspond à la ligne qui apparaît en plus après la seconde saisie (e.g. *sdb* ou *mmcblk0*).
3. Copier l'image sur la carte (remplacer *SDNAME* par le nom trouvé lors de l'étape précédente) :
```bash
sudo mount /dev/sdX1 /mnt
cd /mnt/boot/
sudo rm board.dtb
sudo ln -sf /boot/dtb/sun7i-a20-olinuxino-lime2.dtb board.dtb
sudo dd if=/tmp/labriqueinternet_latest_jessie.img of=/dev/SDNAME bs=1M
```
4. Mettre la carte SD dans une Brique, brancher le câble Ethernet et lalimentation. Elle démarre normalement toute seule, et les LEDs du port Ethernet se mettent à clignoter au bout de 10 secondes maximum.
4. **Uniquement pour le modèle LIME2** : Monter la carte micro-SD et changer le lien symbolique suivant :
```bash
% sudo mount /dev/SDNAME /mnt/
% cd /mnt/boot/
% sudo rm board.dtb
% sudo ln -sf /boot/dtb/sun7i-a20-olinuxino-lime2.dtb board.dtb
```
5. Mettre la carte micro-SD dans une Brique, brancher le câble Ethernet et lalimentation. Elle démarre normalement toute seule, et les LEDs du port Ethernet se mettent à clignoter au bout de 10 secondes maximum.
<div class="alert alert-warning" markdown="1">
Le premier démarrage peut mettre une grosse minute car la partition est redimensionnée et la board redémarrée automatiquement.
Le premier démarrage peut mettre une grosse minute car la partition est redimensionnée et le serveur est redémarré automatiquement.
</div>
5. Récupérer ladresse IP locale de la Brique, soit avec une commande comme `arp-scan --local | grep -P '\t02'`, soit via l'interface du routeur listant les clients DHCP, soit en branchant un écran en HDMI à la Brique. Pour info, l'adresse MAC des boards A20-OLinuXino-LIME commence par `02`.
6. Récupérer ladresse IP locale de la Brique, soit avec une commande comme `arp-scan --local | grep -P '\t02'`, soit via l'interface du routeur listant les clients DHCP, soit en branchant un écran en HDMI à la Brique.
<div class="alert alert-info" markdown="1">
Admettons que ladresse IP locale de la Brique soit **192.168.4.2**
</div>
6. Se connecter en SSH en root à la Brique, le mot de passe est **olinux** par défaut. Le changer par un mot de passe temporaire à modifier avec lutilisateur par la suite.
7. Se connecter en SSH en root à la Brique, le mot de passe est **olinux** par défaut (un changement de mot de passe sera demandé à la première connexion) :
```bash
ssh root@192.168.4.2
```
7. Mettre à jour le système (environ 10 minutes), et pré-installer les paquets qui seront nécessaires aux applications **vpnclient** et **hotspot**. Cette pré-installation n'est pas du tout indispensable puisque si ces éléments n'étaient pas présents, YunoHost les installerait au moment de l'installation des applications.
```bash
apt-get update && apt-get upgrade
apt-get install openvpn sipcalc hostapd iw dnsmasq firmware-linux-free firmware-linux-nonfree firmware-realtek firmware-ralink
% ssh root@192.168.4.2
```
---
**Plus détapes pourront sans doute être automatisées dans cette partie à lavenir.**
---
8. Mettre à jour le système (environ 10 minutes) :
```bash
% sudo apt-get update && sudo apt-get dist-upgrade
```
## Étapes de configuration
1. Assembler la Brique, la brancher sur le routeur, la démarrer, récupérer son IP locale et le nom de domaine désiré par lutilisateur.
<div class="alert alert-info" markdown="1">
Ici nous installons la Brique de **michu.nohost.me** qui a pour IP locale **192.168.4.2**
Ici nous installons la Brique de **michu.nohost.me** (à remplacer par le nom de domaine choisi).
</div>
2. Mettre à jour le fichier `/etc/hosts` de son ordinateur client pour pouvoir accéder à la Brique en local via **michu.nohost.me** (important pour la configuration des applications **vpnclient** et **hotspot**).
Ajouter à la fin du fichier :
1. Mettre à jour le fichier `/etc/hosts` de son ordinateur client pour pouvoir accéder à la Brique en local via **michu.nohost.me**, en ajoutant à la fin :
```bash
192.168.4.2 michu.nohost.me
```
3. Procéder à la [postinstallation](/postinstall_fr) en se connectant à la Brique sur https://michu.nohost.me. Lutilisateur pourra lui-même saisir le mot de passe dadministration qu'il souhaite lors de cette étape.
2. Procéder à la [postinstallation](/postinstall_fr) en se connectant à la Brique sur https://michu.nohost.me (accepter l'exception de sécurité du certificat).
<div class="alert alert-info" markdown="1">
**Note :** il est possible de réaliser cette étape en ligne de commande via SSH en exécutant `yunohost tools postinstall`
</div>
4. Se connecter en SSH et changer le mot de passe **root** (potentiellement par le même mot de passe que ladministration pour éviter la complexité).
```bash
ssh root@michu.nohost.me
passwd root
```
5. **Solution temporaire** : la création des répertoires utilisateur ne se fait pas automatiquement dans cette image YunoHost pour la Brique. Il convient donc d'ajouter un script qui s'exécutera à la création des utilisateurs YunoHost et qui sen assurera.
En SSH sur la Brique :
```bash
mkdir -p /usr/share/yunohost/hooks/post_user_create
cat > /usr/share/yunohost/hooks/post_user_create/06-create_userdir <<EOF
#!/bin/bash
user=\$1
sudo mkdir -p /var/mail/\$user
sudo chown -hR vmail:mail /var/mail/\$user
/sbin/mkhomedir_helper \$user
EOF
```
6. **Créer le premier utilisateur** : se rendre dans linterface dadministration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe dadministration puis se rendre dans **Utilisateurs** > **Nouvel utilisateur**.
3. **Créer le premier utilisateur** : se rendre dans linterface dadministration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe dadministration puis se rendre dans **Utilisateurs** > **Nouvel utilisateur**.
<div class="alert alert-info" markdown="1">
Il faudra entrer un **nom dutilisateur** sans majuscule/espace/tiret, un **nom/prénom/pseudo** en deux parties (obligatoires, merci LDAP) qui correspondra au nom qui apparaîtra sur les futurs emails de lutilisateur, ainsi qu'un **quota demail** éventuel et un **mot de passe** (*à ne pas confondre avec le mot de passe dadministration dans ce cas*).
</div>
7. **Installer lapplication VPN Client** : se rendre dans **Applications** > **Installer**, et entrer `https://github.com/labriqueinternet/vpnclient_ynh` dans le champs **URL** du formulaire **Installer une application personnalisée** tout en bas de la page.
4. **Installer lapplication VPN Client** : se rendre dans **Applications** > **Installer**, et entrer `https://github.com/labriqueinternet/vpnclient_ynh` dans le champs **URL** du formulaire **Installer une application personnalisée** tout en bas de la page.
8. (optionnel) **Restreindre laccès à lapplication VPN Client** : se rendre dans **Applications** > **VPN Client** > **Accès** et sélectionner lutilisateur précédemment créé, de sorte que les futurs potentiels nouveaux utilisateurs ne puissent pas modifier les paramètres daccès VPN.
5. (optionnel) **Restreindre laccès à lapplication VPN Client** : se rendre dans **Applications** > **VPN Client** > **Accès** et sélectionner lutilisateur précédemment créé, de sorte que les futurs potentiels nouveaux utilisateurs ne puissent pas modifier les paramètres daccès VPN.
9. **Configurer lapplication VPN Client** : se connecter à l**interface utilisateur** (ici https://michu.nohost.me/yunohost/sso/) et entrer les identifiants de lutilisateur précédemment créé. Vous devriez voir apparaître **VPN Client** dans votre liste dapplication :
6. **Configurer lapplication VPN Client** : se connecter à l**interface utilisateur** (ici https://michu.nohost.me/yunohost/sso/) et entrer les identifiants de lutilisateur précédemment créé. Vous devriez voir apparaître **VPN Client** dans votre liste dapplication :
<div><a title="screenshot_vpnclient" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png">
<img style="border-radius: 5px; border: 5px solid #eee; max-width: 800px" src="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png" />
</a></div>
De manière générale, il convient bien sûr déditer les paramètres en fonction de son fournisseur daccès VPN.
Chez Neutrinet, nous éditons, dans **Advanced**, le template de configuration pour y ajouter trois directives spécifiques :
De manière générale, il convient bien sûr déditer les paramètres en fonction de son fournisseur daccès VPN. Ce dernier devra vous fournir des certificats et/ou des identifiants ainsi qu'un préfixe délégué IPv6. Pour Neutrinet, dans **Advanced**, il faudra également ajouter trois directives spécifiques :
<pre><code>resolv-retry infinite
ns-cert-type server
topology subnet</code></pre>
@ -127,20 +106,14 @@ topology subnet</code></pre>
**Attention** : le redémarrage du service, déclenché par le bouton **Save and reload**, peut mettre quelques minutes.
</div>
10. **Installer lapplication Hotspot** : s'assurer que lantenne WiFi est bien branchée, et répéter les étapes **7**, **8** et **9** en installant à laide de l'URL `https://github.com/labriqueinternet/hotspot_ynh`
7. **Installer lapplication Hotspot** : s'assurer que lantenne WiFi est bien branchée, et répéter les étapes **4**, **5** et **6** en installant à laide de l'URL `https://github.com/labriqueinternet/hotspot_ynh` :
<div><a title="screenshot_hotspot" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png">
<img style="border-radius: 5px; border: 5px solid #eee; max-width: 800px" src="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png" />
</a></div>
11. **TESTER** : la Brique devrait être accessible via lIP publique que sa connexion VPN lui procure. Si lutilisateur a opté pour un nom de domaine en **.nohost.me**, patienter quelques minutes que son IP se propage sur le serveur DNS de YunoHost. Si lutilisateur a opté pour son propre nom de domaine, cest le moment de [configurer ses enregistrements DNS](/dns_config_fr) correctement chez son registrar.
Si tout se passe bien côté **hotspot**, un réseau WiFi du nom choisi par lutilisateur à létape 10 devrait être visible, et devrait vous router tout bien vers lInternet.
Il est possible de regarder lIP avec laquelle on sort sur Internet [ici](http://ip.yunohost.org) (ou via `curl ip.yunohost.org` depuis le serveur)
---
**Les problèmes proviennent majoritairement de la configuration VPN. Il convient de vérifier les paramètres côté client *et* serveur VPN en cas de pépin.**
---
8. **TESTER** : la Brique devrait être accessible via lIP publique que sa connexion VPN lui procure. Si lutilisateur a opté pour un nom de domaine en **.nohost.me**, patienter quelques minutes que son IP se propage sur le serveur DNS de YunoHost. Si lutilisateur a opté pour son propre nom de domaine, cest le moment de [configurer ses enregistrements DNS](/dns_config_fr) correctement chez son registrar.
Si tout se passe bien côté **hotspot**, un réseau WiFi du nom choisi par lutilisateur à létape 7 devrait être visible, et devrait vous router tout bien vers lInternet.
Il est possible de regarder lIP avec laquelle on sort sur Internet : [IPv6](http://ip6.yunohost.org) / [IPv4](http://ip.yunohost.org).
# Étapes supplémentaires <small>(pour une Brique idéale)</small>
@ -158,8 +131,8 @@ rm /etc/cron.d/yunohost-dyndns
echo "* * * * * root /sbin/ifconfig tun0 > /dev/null 2>&1 || systemctl restart ynh-vpnclient" > /etc/cron.d/restart-vpn
```
* **Arrêter le service Amavis** : *(**EDIT**: en fait Amavis est branché à SpamAssassin, donc ça enlève l'antispam, ce qui est pénible)*
Amavis est un antivirus qui soccupe de regarder si les pièces jointes des emails ne sont pas vérolées. Il est très lourd et tombe souvent en panne sur des petites machines comme la Brique. Pour arrêter Amavis, éditer le fichier `/etc/postfix/main.cf` et commenter la ligne 90 (normalement) :
* **Arrêter le service Amavis** :
Amavis est un antivirus qui soccupe de regarder si les pièces jointes des emails ne sont pas vérolées. Il est très lourd et tombe souvent en panne sur des petites machines comme la Brique. Pour arrêter Amavis (ce qui arrêtera aussi l'antispam), éditer le fichier `/etc/postfix/main.cf` et commenter la ligne 90 (normalement) :
```bash
#content_filter = amavis:[127.0.0.1]:10024
```
@ -177,7 +150,7 @@ systemctl stop amavis
systemctl disable amavis
```
* **Arrêter le service postgrey** : Postgrey est un mécanisme antivirus qui est assez peu efficace, et surtout assez pénible. Il refuse les emails en premier lieu lorsque quils proviennent dune source inconnue. Un serveur email de spam ne fait pas toujours leffort de renvoyer le spam une seconde fois. Pour arrêter postgrey, il faut édité le fichier `/etc/postfix/main.cf` et commenter la ligne relative à postgrey (ligne 132) :
* **Arrêter le service postgrey** : Postgrey est un mécanisme antivirus qui est assez peu efficace, et surtout assez pénible. Il refuse les emails en premier lieu lorsque quils proviennent dune source inconnue. Un serveur email de spam ne fait pas toujours leffort de renvoyer le spam une seconde fois. Pour arrêter postgrey, il faut éditer le fichier `/etc/postfix/main.cf` et commenter la ligne relative à postgrey (ligne 132) :
```bash
smtpd_recipient_restrictions =
permit_mynetworks,
@ -194,16 +167,16 @@ Une fois le fichier éditer, redémarrer le service postfix :
systemctl restart postfix
```
* **Mettre à jour la configuration SSH** : par défaut, la connexion en tant que **root** est possible sur la Brique. Pour ne garder que la connexion en tant qu**admin** (qui est sudoer), il convient déditer le `/etc/ssh/sshd_config` et de remplacer passer **PermitRootLogin** à **without-password**.
* **Mettre à jour la configuration SSH** : par défaut, la connexion en tant que **root** est possible sur la Brique. Pour ne garder que la connexion en tant qu**admin** (qui est sudoer), il convient déditer le `/etc/ssh/sshd_config` et de passer **PermitRootLogin** à **without-password**.
* **Configurer le reverse DNS** : pour sassurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. En tant que FAI associatif, cest un service faisable, autant en profiter !
* **Configurer le reverse DNS** : pour sassurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. En tant que FAI associatif, cest un service faisable, autant le demander !
* **Configurer le DKIM** : avec un SPF et un PTR bien configurés dans les DNS, les emails envoyés par la Brique ne devraient pas être considérés comme spam. Ceci dit, GMail et dautres dégraderont considérablement le spamscore si le DKIM nest pas configuré également.
Cette opération est longue mais à considérer pour avoir un serveur email irréprochable en production. Plus de renseignement sur [la page de documentation appropriée](/dkim_fr).
* **Installer Roundcube** via linterface dadministration YunoHost et tester lenvoi/réception demail.
* **Installer dautres applications** et les découvrir avec lutilisateur pour l'accompagner (c'est toujours sympa \o/).
* **Installer dautres applications** et les découvrir.
---
@ -211,6 +184,4 @@ Cette opération est longue mais à considérer pour avoir un serveur email irr
* **Attention à la RAM** : sur le modèle A20-OLinuXino-LIME, les **512 Mo** partent vite. Les applications PHP ne sont pas très gourmandes, mais Searx et Etherpad Lite sont par exemple à installer avec des pincettes.
* **Glances ne fonctionne pas** sur limage *labriqueinternet_04-06-2015_jessie.img*, ce qui rend longlet **État du serveur** inaccessible dans linterface dadministration de YunoHost. Une mise à jour future du noyau sera à prévoir pour corriger le problème.
* Attention à bien veiller à ce que les répertoires utilisateurs soient bien créés (étape 5.) dans `/var/mail` et `/home/`, sans quoi plusieurs bugs seront observables dans linterface dadministration (erreurs 500 en pagaille).
* **Glances ne fonctionne pas** sur limage *labriqueinternet_04-06-2015_jessie.img*, ce qui rend longlet **État du serveur** inaccessible dans linterface dadministration de YunoHost. Une mise à jour future du noyau sera à prévoir pour corriger le problème.