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 " | ||
+ | |||
+ | " |