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édenteProchaine révisionLes deux révisions suivantes | ||
pratique:informatique:pibox [07/08/2017 18:50] – [Liens utiles (ou pas)] Zatalyz | pratique:informatique:pibox [08/08/2017 11:21] – [CMS à installer] Zatalyz | ||
---|---|---|---|
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 [[pratique: | ||
- | ===== Installation du serveur web ===== | ||
- | |||
- | Raspberry étant un mini-machin, | ||
- | |||
- | sudo apt-get install lighttpd php5-cgi php5-gd php5-imagick php5-curl php5-intl | ||
- | |||
- | <wrap round tip> | ||
- | 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 | ||
- | sudo lighty-enable-mod fastcgi-php | ||
- | |||
- | Et relancer le démon : | ||
- | sudo service lighttpd force-reload | ||
- | |||
- | Pour voir si ça marche : | ||
- | |||
- | < | ||
- | sudo chown -R www-data: | ||
- | </ | ||
- | |||
- | Accédez-y via l' | ||
===== Reconnaître la clé wifi ===== | ===== Reconnaître la clé wifi ===== | ||
Ligne 54: | Ligne 31: | ||
* hostapd va générer le réseau sans fil auquel se connecter. | * 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. | + | * 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' | + | * iptables-persistent permet de relancer la même configuration iptable d'un redémarrage à l' |
Il faut aussi tripatouiller dhcpcd, installé et configuré de base. Il suffit de lui dire d' | Il faut aussi tripatouiller dhcpcd, installé et configuré de base. Il suffit de lui dire d' | ||
Ligne 67: | Ligne 44: | ||
On va configurer wlan0 | On va configurer wlan0 | ||
sudo ifdown wlan0 | sudo ifdown wlan0 | ||
+ | sudo nano / | ||
- | Éditer | + | Éditez-le pour qu'il ressemble |
- | + | ||
- | Il doit ressembler | + | |
< | < | ||
Ligne 91: | Ligne 67: | ||
Relancer dhcpcd pour que tout soit pris en compte. | Relancer dhcpcd pour que tout soit pris en compte. | ||
- | sudo service dhcpcd | + | sudo service dhcpcd |
Et ensuite, donnez son adresse ip statique à wlan0 : | Et ensuite, donnez son adresse ip statique à wlan0 : | ||
Ligne 100: | Ligne 76: | ||
==== Hostapd ==== | ==== Hostapd ==== | ||
+ | Modifiez le ficher de configuration d' | ||
+ | |||
+ | sudo nano / | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Cette configuration est particulière car elle ne demande pas de mot de passe pour se connecter. C'est un wifi ouvert ! | Cette configuration est particulière car elle ne demande pas de mot de passe pour se connecter. C'est un wifi ouvert ! | ||
Ligne 115: | Ligne 94: | ||
# canal de fréquence Wi-Fi (1-14) | # canal de fréquence Wi-Fi (1-14) | ||
channel=6 | channel=6 | ||
- | # Beacon interval in kus (1.024 ms) | + | </ |
+ | |||
+ | Ce qui suit peut aussi s' | ||
+ | <code php># Beacon interval in kus (1.024 ms) | ||
beacon_int=100 | beacon_int=100 | ||
# DTIM (delivery trafic information message) | # DTIM (delivery trafic information message) | ||
Ligne 124: | Ligne 106: | ||
rts_threshold=2347 | rts_threshold=2347 | ||
# Fragmentation threshold; 2346 = disabled (default) | # Fragmentation threshold; 2346 = disabled (default) | ||
- | fragm_threshold=2346 | + | fragm_threshold=2346</ |
- | </ | ||
Pour le driver, suivant la carte wifi, cela peut être '' | Pour le driver, suivant la carte wifi, cela peut être '' | ||
Ligne 148: | Ligne 130: | ||
<code bash / | <code bash / | ||
- | interface=wlan0 | + | # Redirect all in local |
- | listen-address=172.24.1.1 # Explicitly specify the address to listen on | + | address=/#/172.24.1.1 |
- | bind-interfaces | + | # Use interface wlan0 |
- | server=172.24.1.1 | + | interface=wlan0 |
- | domain-needed | + | # Explicitly specify the address to listen on |
- | bogus-priv # Never forward addresses in the non-routed address spaces. | + | 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, | dhcp-range=172.24.1.50, | ||
- | # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time | ||
</ | </ | ||
+ | <WRAP center round important 60%> | ||
+ | À propos de l' | ||
+ | # Redirect all in local | ||
+ | address=/#/ | ||
+ | |||
+ | ''#'' | ||
+ | |||
+ | Cela facilite le boulot lors du partage puisque toute adresse sera la " | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Vu ce à quoi je destine la pibox, je prends le risque de me faire gronder par un sysadmin de passage. Sachez cependant que lorsque vous vous connectez sur un réseau (quel qu'il soit), un administrateur peu scrupuleux peux enregistrer tout ce que vous faites passer. D'où l' | ||
+ | </ | ||
+ | |||
+ | |||
==== Donner de l'ipv4 et gérer iptable ==== | ==== Donner de l'ipv4 et gérer iptable ==== | ||
Ligne 164: | Ligne 167: | ||
Enlever le commentaire devant '' | Enlever le commentaire devant '' | ||
- | <WRAP center round help 60%> | + | |
- | Là, j'ai un doute, je crois que ça fait un pont vers internet, et ça, on a pas trop besoin... Mais bon, ça marche. | + | |
- | </ | + | |
<code php> | <code php> | ||
sudo su | sudo su | ||
- | iptables | + | iptables -A INPUT -i wlan0 -m conntrack --ctstate RELATED, |
- | iptables -A FORWARD | + | iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 80 -j ACCEPT |
- | iptables -A FORWARD | + | iptables -A INPUT -i wlan0 -p udp -m udp --dport 53 -j ACCEPT |
+ | iptables -A INPUT -i wlan0 -p udp -m udp --dport 67:68 -j ACCEPT | ||
+ | iptables -A INPUT -i wlan0 -j DROP | ||
iptables-save > / | iptables-save > / | ||
+ | </ | ||
==== Finitions ==== | ==== Finitions ==== | ||
Ligne 189: | Ligne 193: | ||
Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! | Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! | ||
+ | ===== Installation du serveur web ===== | ||
- | ==== Améliorer l' | + | Raspberry étant un mini-machin, |
- | Taper une adresse du style "172.24.1.1" ce n'est pas vraiment intuitif... | + | |
- | Bien qu'il soit possible de faire un DNS menteur qui redirige toute demande du navigateur vers notre pi-serveur, cela pose des problèmes éthiques (possibilité de vol de cookies, d' | + | sudo apt-get install lighttpd php5-cgi php5-gd php5-imagick php5-curl php5-intl |
+ | <wrap round tip> | ||
+ | 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 copier les informations suivantes | + | Et relancer le démon |
+ | sudo service lighttpd force-reload | ||
- | address=/.pibox.ici/192.168.42.1 | + | Ajoutez ensuite l' |
+ | <code php>sudo usermod -a -G www-data pi | ||
+ | sudo chown -R www-data: | ||
+ | sudo chmod -R g+rwX / | ||
- | < | ||
- | #dont use resolv.conf | ||
- | no-resolv | ||
- | #dont recheck resolv.conf for changes | ||
- | no-poll | ||
- | #overwrite dns.. | + | Pour voir si ça marche : |
- | # | + | |
- | + | ||
- | # If you don't want dnsmasq to read /etc/hosts, uncomment the | + | |
- | # following line. | + | |
- | no-hosts | + | |
- | # or if you want it to read another file, as well as /etc/hosts, use | + | |
- | # this. | + | |
- | # | + | |
- | ## ^^^^^^ | + | |
+ | < | ||
</ | </ | ||
+ | Accédez-y via l' | ||
+ | ==== CMS à installer ==== | ||
+ | À partir de là, tout ce qui s' | ||
+ | |||
+ | Je conseille quelque chose comme [[https:// | ||
+ | |||
+ | Pour modifier la barre de menu, par exemple pour ajouter des items, éditez ''/ | ||
+ | |||
+ | <code php> | ||
+ | |||
+ | <!-- ajout perso -->< | ||
+ | <!-- fin du menu --> | ||
+ | <form class=" | ||
+ | |||
+ | J'ai aussi installé [[http:// | ||
+ | |||
+ | <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, | ||
+ | |||
+ | </ | ||
+ | Ces deux textes sont en CC0, adaptez sans vous prendre la tête sur le droit. | ||
===== Liens utiles (ou pas) ===== | ===== Liens utiles (ou pas) ===== | ||
- | + | Disons que ça m'a servi à en arriver là. | |
- https:// | - https:// | ||
- http:// | - http:// | ||
Ligne 233: | Ligne 268: | ||
- https:// | - https:// | ||
- https:// | - https:// | ||
+ | - http:// | ||
+ | - http:// | ||
===== Pour trouver plus d' | ===== Pour trouver plus d' |