Les Cartels du PI
Ce wiki a été archivé en 2018.
Le nouveau wiki se trouve à: ressources.labomedia.org Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia. |
Les Cartels du PI |
---|
Pour modifier la page utiliser l'onglet Modifier avec formulaire.
Résumé | Proposer un gestion de Cartel sous forme de code QR via un portail captif. |
---|---|
Auteur(s) | François-marie BILLARD |
Licence | CC-BY-SA 3 |
Date de création | 20 janvier 2016 |
Sommaire
Intentions / Contexte
Proposer des informations sur les œuvres exposées, sous la forme de pages web accessibles en local sur un portail captif, via un spot WIFI en flashant un code QR.
Principe de fonctionnement
Dans le cadre d'un modèle de test, une carte Raspberry Pi équipée d'un adaptateur wifi fournira les services suivants :
- spot wifi et adresse IP (hostapd et Dnsmasq)
- serveur web light httpd
- CMS Spip pour le site internet.
- une base de données : SQLITE
Besoins / Compétences
- Raspberry PI
- Carte wifi USB
- Connaissances Linux pour l'installation des paquets et l'édition des fichiers de configurations.
- Connaissance de SPIP.
- Création et adaptation des codes QR.
Documentation
L'ensemble est basé sur une distribution raspbian Jessie lite sur raspberryII avec un adaptateur wifi TL-WN722N.
INSTALLATION :
Partie réseau.
Antenne WIFI
lsusb Bus 001 Device 004: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n lsmod Module Size Used by arc4 1972 2 ath9k_htc 62678 0 ath9k_common 26119 1 ath9k_htc ath9k_hw 469847 2 ath9k_common,ath9k_htc ath 22870 3 ath9k_common,ath9k_htc,ath9k_hw mac80211 622304 1 ath9k_htc cfg80211 499834 4 ath,ath9k_common,mac80211,ath9k_htc rfkill 22491 1 cfg80211
Présence de l'interface wlan0
ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr e8:de:27:a5:ad:a9 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:49 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:9998 (9.7 KiB)
configuration de l'interface wlan0
sudo nano /etc/network/interfaces wlan0 auto iface wlan0 inet static address 192.168.2.1
Modèle:Attention il ne doit y avoir qu'une seule déclaration wlan0 Rappel dans l'éditeur nano : CTRL-x pour sauvegarder et quitter
Relancer la configuration de l'antenne WIFI par sudo ifdown wlan0 puis sudo ifup wlan0
Installation de hostapd et dnsmasq
sudo apt-get install hostapd
indiquez dans fichier de configuration du lancement de hostapd ou se trouve le fichier de configuration hostapd.conf
sudo nano /etc/default/hostapd
Vérifier la présence de DAEMON_CONF="/etc/hostapd/hostapd.conf", par defaut il y a
- DAEMON_CONF=""
puis configuration proprement dites de hostapd comme point d'accès Wifi
sudo nano /etc/hostapd/hostapd.conf
et y placer les paramètres indiqués ci-dessous pour un réseau ouvert sans clef :
#Nom de l'interface réseau utilisée interface=wlan0 #Nom du réseau wifi créé ssid=EXPOSITION # Rôle à préciser hw_mode=g #Canal de communication channel=6 # Rôle à préciser auth_algs=1 # Rôle à préciser wmm_enabled=0
Relance du service et test de la présence du réseau
sudo service hostapd start
depuis un terminal (Téléphone, tablette ou autre) avec le wifi vous devez voir le réseau EXPOSITION
DHCP ET le reste
Installation du paquet dnsmasq
sudo apt-get install dnsmasq
Configuration dans le fichier dnsmasq.conf
sudo nano /etc/dnsmasq.conf
Cette configuration doit permettre de distribuer des adresses entre 192.168.2.100 et 108 avec un bail de 24h00.
# Configuration file for dnsmasq. # #ce serveur DNS est valable pour toutes les requetes address=/#/192.169.1.1 listen-address=192.168.2.1 domain-needed expand-hosts bogus-priv dhcp-authoritative #spécifie ou se trouve le fichier contenant les adresses des DNS supplémentaires. resolv-file=/etc/resolv_conf.conf cache-size=256 # plage dynamique 192.168.2.100 à 192.168.2.108,24h dhcp-range=192.168.2.100,192.168.2.200,24h
NON A REVOIR Il faut alors créer le fichier /etc/resolv_conf.conf et y placer dedans
name-server=192.168.1.2 TEST de dnsmasq
sudo service dnsmasq start
depuis un terminal avec le wifi en demandant une connexion vous devez obtenir une adresse IP.
Configuration du nom de domaine
Modification du hostname
sudo nano /etc/hostname
expositions
modification de /etc/hosts
sudo nano /etc/hosts
127.0.0.1 expositions 192.168.2.1 expositions 192.168.2.1 www.expositions
Partie serveur WEB et CMS.
sudo apt-get install lighttpd
TEST dans le navigateur du terminal mobile accedez à l'adresse wlan0 de votre PI. Rappel ifconfig wlan0 sur le PI. Vous devez obtenir la page d'accueil de lighttpd placeholder page
Installation de sqlite et php et pour activer le module cgi pour php
sudo apt-get install sqlite3 sudo apt-get install php5-common php5-cgi php5-gd php5-sqlite sudo lighty-enable-mod fastcgi sudo lighty-enable-mod fastcgi-php
Configuration de lighttpd
Ajout d'un certificat SSL
sudo mkdir /var/www/html/certificat openssl req -new -x509 -keyout server.pem -out /var/www/html/certificat/server.pem -days 3650 -nodes
Ajout de l'usage du certificat dans light /etc/httpd.conf
#CERTIFICATION SSL $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/var/www/html/certificat/server.pem" } #REDIRECTION WEB DE TOUTES LES REQUETES POUR PORTAIL CAPTIF $HTTP["host"] =~ "(.*)" { $HTTP["host"] !~ "(expositions)$" { url.redirect = ( "^/(.*)" => "http://expositions" ) } }
installation de SPIP via spip loader
ATTENTION la configuration implique de couper dnsmasq et hostapd pour la suite/
wget http://www.spip.net/spip-dev/INSTALL/spip_loader.php sudo mv ./spip_loader.php /var/www/html/ sudo chown www-data:www-data /var/www/html/spip_loader.php sudo chmod +x /var/www/html/spip_loader.php
puis Changement de mode pour le répertoire /var/www/html
sudo chmod 777 /var/www/html /etc/init.d/lighttpd restart
INSTALLATION DE SPIP
dans un navigateur accéder à la page IP_PI/spip_loader.php
Sélection du français
Installation du serveur de fichier vsftpd
A revoir pour création de deux utilisateurs dont un est réservé à l'utilisation du protocole FTP.
sudo apt-get install vsftpd
modifier le fichier de configuration /etc/vsftpd.conf avec ceci
#Interdiction des utilisateurs anonymes. anonymous_anable=NO #Autorisation d'écriture write_enable=YES #Changement de repértoire local local_root=/var/www/html
SAUVEGARDE DE LA CARTE SD :
sudo dd if=/dev/mmcblk0 of=~/imageDeMaCarte.img
Liens utiles :
Pour vsftpd
http://howto.gumph.org/content/setup-virtual-users-and-directories-in-vsftpd/
pour Hostapd http://fspot.org/plk/piratebox-raspberry-pi.html
Création d'un certificat pour HTTPS:
http://dev.petitchevalroux.net/linux/generation-certificat-ssl-pour-https-linux.229.html
Lighttpd et SSL
http://dev.petitchevalroux.net/linux/lighttpd-ssl-linux.237.html
Autre à trier
http://www.chicoree.fr/w/DNS_et_DHCP_dans_Dnsmasq
http://elinux.org/RPI-Wireless-Hotspot
https://www.etud.insa-toulouse.fr/wiketud/Raspberry_Pi_comme_point_d'acc%C3%A8s_wifi_au_VPN
http://fspot.org/plk/piratebox-raspberry-pi.html
http://www.andrewoberstar.com/blog/2012/12/30/raspberry-pi-as-server-dns-and-dhcp
Evolutions :
avec un esp8266 : http://dominicm.com/esp8266-configure-access-point/ http://www.projetsdiy.fr/wemos-d1-mini-esp8266-test/ https://primalcortex.wordpress.com/2015/08/21/nodemcu-and-i2c-how-to-start-and-using-the-pcf8574a-i2c-port-expander-on-esp-01-board/