Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pratique:informatique:pibox [08/08/2017 09:20] – [Dnsmasq] Zatalyzpratique:informatique:pibox [30/11/2020 10:36] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
 J'ai testé les logiciels "piratebox" et je n'ai pas aimé, ni en tant qu'utilisatrice, ni en tant qu'administratrice. Aussi je tente ma propre interprétation de la chose. J'ai testé les logiciels "piratebox" et je n'ai pas aimé, ni en tant qu'utilisatrice, ni en tant qu'administratrice. Aussi je tente ma propre interprétation de la chose.
  
 +Comme ça se base sur une raspberry pi, j'appelle ça une "pibox", c'est un peu moins inquiétant pour les gens que le terme //pirate//, mais c'est vraiment la même logique : un réseau sans fil auquel se connecter, un site web, de quoi partager des fichiers, discuter, le tout en local.
 ===== Installation du raspberry ===== ===== Installation du raspberry =====
  
 Voir [[pratique:informatique:raspberry]]. Voir [[pratique:informatique:raspberry]].
  
-===== Installation du serveur web ===== 
- 
-Raspberry étant un mini-machin, il faut préférer des outils légers. Ici, ce sera Lighttpd((Doc basique en français sur https://doc.ubuntu-fr.org/lighttpd)) plutôt qu'Apache ou Nginx. Et nous allons essayer d'éviter les bases de données et les gros logiciels. 
- 
-  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'autre ! 
-</wrap> 
- 
-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 :  
- 
-<code>sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php' 
-sudo chown -R www-data:www-data /var/www/html/info.php 
-</code> 
- 
-Accédez-y via l'adresse ''ip_de_ma_framboise/info.php''. 
  
 ===== Reconnaître la clé wifi ===== ===== Reconnaître la clé wifi =====
Ligne 167: Ligne 144:
 # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time           # 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,172.24.1.150,12h  dhcp-range=172.24.1.50,172.24.1.150,12h 
- 
 </code> </code>
-<WRAP center round help 60%> +<WRAP center round important 60%> 
-On garde ?  +À propos de l'option suivante : 
-  # Forward DNS requests to us. For Google : 8.8.8.8 +  # Redirect all in local 
-  server=172.24.1.1+  address=/#/172.24.1.1 
 + 
 +''#'' agit comme un joker, toutes les requêtes (même à mabanque.com) sont redirigées vers notre serveur local.  
 + 
 +Cela facilite le boulot lors du partage puisque toute adresse sera la "bonne", mais cela pose aussi des problèmes éthiques car c'est un DNS menteur qui permet le vol de cookies, d'identifiants...  
 + 
 +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'erreur.  
 + 
 +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'importance de ne pas se connecter à sa banque depuis un hôtel ou un fast-food...
 </WRAP> </WRAP>
 +
  
  
Ligne 182: Ligne 167:
 Enlever le commentaire devant ''net.ipv4.ip_forward=1'' Enlever le commentaire devant ''net.ipv4.ip_forward=1''
  
-<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. +
-</WRAP>+
 <code php> <code php>
 sudo su sudo su
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE   +iptables -A INPUT -i wlan0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-iptables -A FORWARD -i eth0 -wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT   +iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 80 -j ACCEPT 
-iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT</code>+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 > /etc/iptables/iptables.rules iptables-save > /etc/iptables/iptables.rules
 +</code>
  
 ==== Finitions ==== ==== Finitions ====
Ligne 207: 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'adresse (Dnsmasq) ==== +Raspberry étant un mini-machin, il faut préférer des outils légers. Ici, ce sera Lighttpd((Doc basique en français sur https://doc.ubuntu-fr.org/lighttpd)) plutôt qu'Apache ou NginxEt nous allons essayer d'éviter les bases de données et les gros logiciels.
-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'identifiants) donc... on évite de le faire. On peut cependant configurer le DNS local pour ajouter un "nom de domaine", afin de pouvoir donner une adresse comme "pibox.ici" à taper dans le navigateur, pour nos visiteurs. +  sudo apt-get install lighttpd php5-cgi php5-gd php5-imagick php5-curl php5-intl
  
-<WRAP center round todo 60%+<wrap round tip
-Mais je note un peu tout. +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'autre ! 
-</WRAP>+</wrap>
  
 +Activer les modules de php :
 +  sudo lighty-enable-mod fastcgi 
 +  sudo lighty-enable-mod fastcgi-php
  
-  sudo nano /etc/dnsmasq.conf+Et relancer le démon : 
 +  sudo service lighttpd force-reload
  
-Copier les informations suivantes :+Ajoutez ensuite l'utilisateur pi au groupe www-data et paramétrez les droits sur /var/www/html (dossier par défaut pour le web).
  
-  * ''address=/#/172.24.1.1'' le ''#'' agit comme un joker, tous les noms de domaine redirigent vers l'ip qui suit (ici, la notre).+<code php>sudo usermod -a -G www-data pi 
 +sudo chown -R www-data:www-data /var/www/ 
 +sudo chmod -R g+rwX /var/www/</code>
  
-La règle iptable suivante devrait tout rediriger sur l'ip ? pas certaine. 
-''-A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 192.168.2.1'' 
  
 +Pour voir si ça marche : 
  
 +<code>echo "<?php phpinfo(); ?>" > /var/www/html/info.php'
 +</code>
  
 +Accédez-y via l'adresse ''ip_de_ma_framboise/info.php''. À ne pas laisser, ça donne pas mal d'infos pour un éventuel attaquant (oui oui, je sais, vu la sécurité de l'ensemble...).
  
-<code> +==== CMS à installer ==== 
-address=/.pibox.ici/192.168.42.1 +À partir de là, tout ce qui s'installe sur un serveur web peut s'installer ici. 
-#dont use resolv.conf +
-no-resolv +
-#dont recheck resolv.conf for changes +
-no-poll+
  
-#overwrite dns.+Je conseille quelque chose comme [[https://github.com/jvaubourg/php-piratebox|php-piratebox]], qui fournit les services habituels d'une piratebox : chat, partage de fichiers. C'est bien fait, relativement léger, par contre il faut impérativement l'installer à la racine du site.
-#dhcp-authoritative+
  
-# If you don't want dnsmasq to read /etc/hostsuncomment the +Pour modifier la barre de menupar exemple pour ajouter des itemséditez ''/var/www/html/views/home.html.php'' et ajoutez un élément dans ce genre :
-# following line. +
-no-hosts +
-# or if you want it to read another fileas well as /etc/hosts, use +
-# this. +
-#addn-hosts=/etc/banner_add_hosts +
-## ^^^^^^  <- generated+
  
-</code>+<code php>  
 + 
 +<!-- ajout perso --><li class=""><a href="/images/"><?= _("Images") ?></a></li> 
 +<!-- fin du menu -->      </ul> 
 +      <form class="navbar-form navbar-right"></code> 
 + 
 +J'ai aussi installé [[http://www.photoshow-gallery.com/|Photoshow-gallery]], plus élégant pour naviguer dans les photos envoyées par les gens, en indiquant que le dossier "images" était le dossier de php-piratebox : 
 + 
 +<code php /var/www/html/images/config.php>$config->photos_dir   = "../public/uploads/Images/";</code> 
 + 
 +J'ai tenté d'installer Dokuwiki, mais il est déjà trop lourd pour le raspberry, ça rame vite. Si vous voulez une partie "site web", ce sera probablement aussi efficace d'adapter un des thèmes de [[https://html5up.net/|html5up]] (gabarits libres, responsives et superbes). 
 + 
 +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'appelle aussi "piratebox", mais le mot //pirate//, ça fait un peu peur, alors que c'est juste un endroit protégé. Il y a un réseau sans fil auquel se connecter, un site web, de quoi partager des fichiers, discuter. Le tout est basé sur une raspberry pi, un mini-ordinateur ; ce n'est pas très puissant, mais ça marche. 
 +</WRAP> 
 +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, parcourez et déposez des images, des photos... 
 + 
 +  * Réseau "Pibox" 
 +  * Adresse : pinata.local((En réalité peu importe, vu la configuration, tout redirige dessus.)) 
 + 
 +</WRAP> 
 +Ces deux textes sont en CC0, adaptez sans vous prendre la tête sur le droit.
  
 +=== Autres cms à voir  ===
 +  * [[http://wakaba.c3.cx/s/web/wakaba_kareha|Wakaba et Kareha]], en perl, pour un forum et un gestionnaire d'images. À tester
 +  * [[http://blog.slucas.fr/en/oss/calibre-opds-php-server|COPS, Calibre OPDS (and HTML) PHP Server]] : de quoi proposer une bibliothèque avec un soft qui a l'air relativement léger en comparaison de Calibre.
 +  * [[http://www.phorum.org/|Phorum]], un forum qui a l'air léger
 +  * [[http://stackp.online.fr/?p=28|Droopy]], script python utilisé par piratebox pour partager les fichiers.
  
 ===== Liens utiles (ou pas) ===== ===== Liens utiles (ou pas) =====
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/pibox.1502176812.txt.gz · Dernière modification : 30/11/2020 10:35 (modification externe)