Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:pibox [28/06/2017 18:50] – Zatalyz | pratique:informatique:pibox [30/11/2020 10:36] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| J'ai testé les logiciels " | J'ai testé les logiciels " | ||
| + | Comme ça se base sur une raspberry pi, j' | ||
| ===== Installation du raspberry ===== | ===== Installation du raspberry ===== | ||
| + | Voir [[pratique: | ||
| - | Voir aussi https:// | ||
| - | Télécharger [[https:// | + | ===== Reconnaître la clé wifi ===== |
| + | Il faut une carte wifi à ajouter et le bon driver pour la faire tourner. La carte (ou clé) wifi doit supporter le mode AP, ce qu'on peut voir avec la commande '' | ||
| - | sudo umount /dev/sdX | + | Dans mon cas, j'ai une clé usb wifi Hercule, bien prise en charge sous linux et qui propose le mode AP. Pour connaître le modèle : '' |
| - | sudo dd bs=4M if=2017-04-10-raspbian-jessie-lite.img of=/dev/sde | + | |
| - | Mettre la carte SD dans le raspberry, le brancher avec un écran, un clavier, ethernet et l' | + | lsusb |
| + | Bus 001 Device 004: ID 06f8:e010 Guillemot Corp. HWGUSB2-54-LB | ||
| - | Ça démarre, plus ou moins vite. Identifiant '' | + | Un petit tour ensuite sur la database des périphériques usb de Debian : https:// |
| - | On va vite changer ça en lançant la commande | + | |
| - | | + | |
| - | qui s' | + | |
| - | sudo rqspi)config | + | |
| - | Cela lance un chouette programme. En premier le clavier : Localisation Options > Change Keyboard Layout > generic 105-key > other > french > french. Ou comme vous préférez, on peut aussi le passer | + | Vérifiez que votre carte wifi est bien wlan0 avec '' |
| - | Ensuite les locales | + | ===== Transformer la Raspberry en accès wifi ===== |
| + | <WRAP center round info 60%> | ||
| + | À noter : je ne cherche pas à sécuriser le réseau donc la configuration d' | ||
| + | </WRAP> | ||
| - | Sélectionner '' | + | Quelques logiciels à installer |
| + | sudo apt-get install hostapd dnsmasq iptables-persistent | ||
| - | Maintenant on peut passer | + | * hostapd va générer le réseau sans fil auquel se connecter. |
| + | * dnsmasq sert à la fois à gérer la partie dhcp et la partie dns : il va donner des adresses ip aux machines qui se connectent et servir de DNS. | ||
| + | * iptables-persistent permet de relancer la même configuration iptable d'un redémarrage à l' | ||
| - | Permettre l' | + | Il faut aussi tripatouiller dhcpcd, installé et configuré de base. Il suffit de lui dire d'ignorer wlan0, car nous allons configurer ce dernier avec une adresse statique. |
| - | Pendant qu'on est là, donnez un hostname sympa pour le réseau (l'une des options de base). | + | sudo nano /etc/dhcpcd.conf |
| + | Ajouter au fichier, tout au début : | ||
| + | denyinterfaces wlan0 | ||
| + | |||
| - | Une option pour que le système prenne toute la place disponible sur la carte : Advanced Options > Expand Filesystem | + | ==== Interface, wlan0 ==== |
| + | On va configurer wlan0 | ||
| + | sudo ifdown wlan0 | ||
| + | sudo nano / | ||
| - | Après ça on va reboot, afin de prendre en compte ce qu'on a fait. | + | Éditez-le pour qu'il ressemble à cela (commentez le reste) : |
| - | Nous avons droit à un message d' | + | < |
| - | sudo passwd | + | source-directory / |
| - | sudo passwd pi | + | |
| - | Mettez un bon mot de passe et mémorisez-le. | + | |
| - | Nous allons tout de suite configurer ssh : | + | auto lo |
| - | sudo nano / | + | iface lo inet loopback |
| - | + | ||
| - | On change le port (tout sauf 22), on s' | + | |
| - | Port 222 | + | iface eth0 inet manual |
| - | PermitRootLogin no | + | |
| - | AllowUsers pi | + | |
| - | Et un petit redémarrage de ssh pour prendre ça en compte. | + | allow-hotplug wlan0 |
| - | sudo service ssh restart | + | iface wlan0 inet static |
| + | address 172.24.1.1 | ||
| + | | ||
| + | network 172.24.1.0 | ||
| + | broadcast 255.0.0.0 | ||
| - | Ensuite on envoie sa propre clé sur le raspberry : | + | </code> |
| - | ssh-copy-id -p 222 -i ~/.ssh/ | + | |
| - | Pour trouver l' | + | Relancer dhcpcd |
| - | Dernière chose et pas des moindres... la mise à jour du système... c'est long car la bestiole n'est pas puissante. Allez prendre une pause, c'est le moment. | + | sudo service dhcpcd restart |
| - | | + | Et ensuite, donnez son adresse ip statique à wlan0 : |
| + | | ||
| + | | ||
| + | | ||
| - | ==== Personnalisations cosmétiques en plus ==== | ||
| - | Je n'aime pas le message par défaut quand on se connecte en ssh. Il se change dans ''/ | + | ==== Hostapd ==== |
| + | Modifiez | ||
| - | Je sais que ce n'est pas " | + | sudo nano / |
| - | sudo su | + | <WRAP center round important 60%> |
| - | nano /root/ | + | Cette configuration |
| + | </WRAP> | ||
| - | Décommenter/ | ||
| < | < | ||
| - | export LS_OPTIONS=' | + | # interface wlan du Wi-Fi |
| - | eval " | + | interface=wlan0 |
| - | alias ls='ls $LS_OPTIONS' | + | # nl80211 avec tous les drivers Linux mac80211 |
| - | alias ll='ls $LS_OPTIONS | + | driver=nl80211 |
| - | alias l='ls $LS_OPTIONS | + | # Nom du spot Wi-Fi |
| - | + | ssid=PiBox | |
| - | # Autocompletion | + | # mode Wi-Fi (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) |
| - | if [ -f / | + | hw_mode=g |
| - | . / | + | # canal de fréquence Wi-Fi (1-14) |
| - | fi | + | channel=6 |
| </ | </ | ||
| + | Ce qui suit peut aussi s' | ||
| + | <code php># Beacon interval in kus (1.024 ms) | ||
| + | beacon_int=100 | ||
| + | # DTIM (delivery trafic information message) | ||
| + | dtim_period=2 | ||
| + | # Maximum number of stations allowed in station table | ||
| + | max_num_sta=255 | ||
| + | # RTS/CTS threshold; 2347 = disabled (default) | ||
| + | rts_threshold=2347 | ||
| + | # Fragmentation threshold; 2346 = disabled (default) | ||
| + | fragm_threshold=2346</ | ||
| - | ===== Installation du serveur web ===== | ||
| - | Raspberry étant un mini-machin, | ||
| - | sudo apt-get install lighttpd php5-cgi php5-gd php5-imagick php5-curl php5-intl | + | Pour le driver, suivant la carte wifi, cela peut être '' |
| - | <wrap round tip> | + | Éditer ensuite |
| - | Tous ces modules ne vous seront pas forcément utiles, il y a surtout php5-cgi qui compte, mais le reste me sert souvent dans les CMS que j'aime utiliser donc : léger d'un coté, plein de l' | + | |
| - | </ | + | |
| - | Activer les modules de php : | + | * ''/ |
| - | | + | |
| - | sudo lighty-enable-mod fastcgi-php | + | |
| - | Et relancer le démon : | ||
| - | sudo service lighttpd force-reload | ||
| - | Pour voir si ça marche | + | Ensuite on teste si la configuration est bonne : |
| + | sudo / | ||
| + | S'il y a des warning et des erreurs, corriger. | ||
| + | Sinon, une autre machine ayant le wifi devrait voir apparaître le réseau wifi PiBox (ou le nom que vous lui avez donné) et peut s'y connecter. | ||
| - | < | + | ==== Dnsmasq ==== |
| - | sudo chown -R www-data:www-data / | + | Sauvegarder le fichier de configuration d' |
| - | </ | + | |
| - | Accédez-y via l' | + | sudo mv /etc/dnsmasq.conf / |
| + | sudo nano / | ||
| + | <code bash / | ||
| + | # Redirect all in local | ||
| + | address=/#/ | ||
| + | # Use interface wlan0 | ||
| + | interface=wlan0 | ||
| + | # Explicitly specify the address to listen on | ||
| + | listen-address=172.24.1.1 | ||
| + | # Bind to the interface to make sure we aren't sending things elsewhere | ||
| + | bind-interfaces | ||
| + | # Don't forward short names | ||
| + | domain-needed | ||
| + | # Never forward addresses in the non-routed address spaces. | ||
| + | bogus-priv | ||
| + | # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time | ||
| + | dhcp-range=172.24.1.50, | ||
| + | </ | ||
| + | <WRAP center round important 60%> | ||
| + | À propos de l' | ||
| + | # Redirect all in local | ||
| + | address=/#/ | ||
| - | ===== Transformer la Raspberry en accès wifi ===== | + | '' |
| - | Il faut une carte wifi à ajouter et le bon driver pour la faire tourner. La carte (ou clé) wifi doit supporter le mode AP, ce qu'on peut voir avec la commande | + | |
| - | Dans mon cas, j'ai une clé usb wifi Hercule, bien prise en charge sous linux et qui propose | + | Cela facilite le boulot lors du partage puisque toute adresse sera la " |
| - | lsusb | + | Une autre solution consiste à mettre un nom de domaine sur son serveur, que nos visteurs doivent taper, sinon ils n'ont qu'une page d' |
| - | Bus 001 Device 004: ID 06f8:e010 Guillemot Corp. HWGUSB2-54-LB | + | |
| - | Un petit tour ensuite sur la database des périphériques usb de Debian : https:// | + | Vu ce à quoi je destine |
| + | </WRAP> | ||
| - | sudo apt-get install firmware-ralink | ||
| - | Ensuite on installe les outils qui vont servir à faire du réseau : | ||
| - | sudo apt-get install dnsmasq hostapd | ||
| - | * dnsmasq va attribuer des ip aux appareils qui se connectent | + | ==== Donner de l' |
| - | * hostapd va générer | + | Ok, l'ipv4 c'est mort, tout ça, mais vu le réseau |
| - | Il faut commencer par configurer les interfaces réseaux. Vérifiez que votre carte wifi est bien wlan0 avec '' | + | sudo nano /etc/sysctl.conf |
| + | Enlever le commentaire devant | ||
| - | Éditez (après avoir sauvegardé une copie de l' | ||
| - | < | + | < |
| - | # Include files from / | + | sudo su |
| - | source-directory | + | iptables -A INPUT -i wlan0 -m conntrack --ctstate RELATED, |
| - | + | iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 80 -j ACCEPT | |
| - | auto lo | + | iptables -A INPUT -i wlan0 -p udp -m udp --dport 53 -j ACCEPT |
| - | iface lo inet loopback | + | iptables -A INPUT -i wlan0 -p udp -m udp --dport 67:68 -j ACCEPT |
| - | iface eth0 inet manual | + | iptables |
| - | iface wlan0 inet manual | + | iptables-save > /etc/iptables/iptables.rules |
| </ | </ | ||
| - | Alternative qui semble marcher, et qui donne une adresse statique | + | ==== Finitions ==== |
| - | < | + | Relancez les services |
| + | sudo service hostapd start | ||
| + | sudo service dnsmasq start | ||
| + | sudo service networking start | ||
| - | # Include files from / | + | Vérifiez que tout tourne sans erreur |
| - | source-directory / | + | sudo service hostapd status |
| + | sudo service dnsmasq status | ||
| + | sudo service networking status | ||
| - | auto lo | + | Connectez-vous depuis votre autre machine sur le réseau PiBox, puis rendez-vous sur 172.24.1.1/ |
| - | iface lo inet loopback | + | |
| - | iface eth0 inet manual | + | |
| - | allow-hotplug wlan0 | + | Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! |
| - | iface wlan0 inet static | + | |
| - | address 192.168.300.1 | + | |
| - | netmask 255.255.255.0 | + | |
| - | </ | + | |
| - | Relancer le démon : | + | ===== Installation du serveur web ===== |
| - | sudo service networking restart | + | |
| - | Configuration de hostapd | + | Raspberry étant un mini-machin, |
| - | <code / | + | sudo apt-get install lighttpd php5-cgi php5-gd php5-imagick php5-curl php5-intl |
| - | # interface wlan du Wi-Fi | + | |
| - | interface=wlan0 | + | |
| - | # nl80211 avec tous les drivers Linux mac80211 | + | <wrap round tip> |
| - | driver=nl80211 | + | Tous ces modules ne vous seront pas forcément utiles, il y a surtout php5-cgi qui compte, mais le reste me sert souvent dans les CMS que j'aime utiliser donc : léger d'un coté, plein de l' |
| + | </ | ||
| - | # Nom du spot Wi-Fi | + | Activer les modules de php : |
| - | ssid=PiBox | + | sudo lighty-enable-mod fastcgi |
| + | sudo lighty-enable-mod fastcgi-php | ||
| - | # mode Wi-Fi (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g) | + | Et relancer le démon : |
| - | hw_mode=g | + | sudo service lighttpd force-reload |
| - | # canal de fréquence Wi-Fi (1-14) | + | Ajoutez ensuite l' |
| - | channel=6 | + | |
| - | # Wi-Fi ouvert, pas d' | + | <code php>sudo usermod |
| - | auth_algs=1 | + | sudo chown -R www-data: |
| + | sudo chmod -R g+rwX / | ||
| - | # Beacon interval in kus (1.024 ms) | ||
| - | beacon_int=100 | ||
| - | # DTIM (delivery trafic information message) | + | Pour voir si ça marche : |
| - | dtim_period=2 | + | |
| - | # Maximum number of stations allowed in station table | + | < |
| - | max_num_sta=255 | + | |
| - | + | ||
| - | # RTS/CTS threshold; 2347 = disabled | + | |
| - | rts_threshold=2347 | + | |
| - | + | ||
| - | # Fragmentation threshold; 2346 = disabled (default) | + | |
| - | fragm_threshold=2346 | + | |
| </ | </ | ||
| - | Relancer le démon : | + | Accédez-y via l' |
| - | sudo service hostpad restart | + | |
| - | ==== Jusqu' | + | ==== CMS à installer |
| - | Installer | + | À partir de là, tout ce qui s' |
| - | root# apt-get install isc-dhcp-server | + | |
| - | (PAS dhcpcd ; à désactiver) | + | Je conseille quelque chose comme [[https:// |
| - | Configurer le serveur | + | Pour modifier la barre de menu, par exemple pour ajouter des items, éditez ''/ |
| - | https:// | + | <code php> |
| - | (Remplacer l'IP du serveur | + | <!-- ajout perso -->< |
| + | <!-- fin du menu --> </ | ||
| + | <form class=" | ||
| - | Activer le serveur: | + | J'ai aussi installé [[http:// |
| - | update-rc.d isc-dhcp-server defaults | + | |
| - | === Vieux machins qui marchent pas === | + | <code php / |
| + | J'ai tenté d' | ||
| + | Voici le texte que j'ai mis pour expliquer la démarche sur la Pibox | ||
| + | <WRAP center round box 90%> | ||
| + | Ceci est une pibox. C'est un petit réseau local, sans FAI, sans contrôle, sans pub. Ce genre de dispositif s' | ||
| + | </ | ||
| + | Et voici le texte à côté de la Pibox, imprimé : | ||
| + | <WRAP center round box 90%> | ||
| + | Pibox : espace de libre échange numérique. Sur un réseau local non relié à Internet, partagez des fichiers, | ||
| + | discutez anonymement, | ||
| + | * Réseau " | ||
| + | * Adresse : pinata.local((En réalité peu importe, vu la configuration, | ||
| - | Ajout à la fin (sans enlever | + | </ |
| - | 192.168.300.1 | + | Ces deux textes sont en CC0, adaptez sans vous prendre |
| - | 192.168.300.1 | + | |
| - | Erreur | + | === Autres cms à voir === |
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| - | Depuis l' | + | ===== Liens utiles |
| - | ==== | + | Disons que ça m' |
| - | Configuration de dnsmasq après avoir copié le fichier de base dans ''sudo nano / | + | - https://doc.ubuntu-fr.org/hostapd |
| - | < | + | |
| - | interface=wlan0 | + | |
| - | dhcp-range=192.168.200.100, | + | |
| - | </ | + | |
| - | + | ||
| - | Relancer le démon : | + | |
| - | | + | |
| - | + | ||
| - | + | ||
| - | systemctl daemon-reload | + | |
| - | de temps en temps ? | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | À ce stade, le réseau apparait, mais ça ne se connecte pas... | + | |
| - | + | ||
| - | tutos utiles : | + | |
| - | - hostpad sur unbuntu | + | |
| - http:// | - http:// | ||
| - http:// | - http:// | ||
| - https:// | - https:// | ||
| - https:// | - https:// | ||
| + | - https:// | ||
| + | - https:// | ||
| + | - https:// | ||
| + | - http:// | ||
| + | - http:// | ||
| + | |||
| + | ===== Pour trouver plus d' | ||
| + | Une recherche sur " | ||
| + | |||
| + | " | ||