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 12:10] – [Astuces en plus] Zatalyz | pratique:informatique:pibox [08/08/2017 09:41] – [Installation du serveur web] Zatalyz | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
===== Installation du raspberry ===== | ===== Installation du raspberry ===== | ||
+ | Voir [[pratique: | ||
- | Voir aussi https:// | ||
- | |||
- | Télécharger [[https:// | ||
- | |||
- | sudo umount /dev/sdX | ||
- | 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' | ||
- | |||
- | Ça démarre, plus ou moins vite. Identifiant '' | ||
- | |||
- | On va vite changer ça en lançant la commande | ||
- | sudo raspi-config | ||
- | 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 en bépo. Attention le clavier va rester en qwerty sur cette session. Le plus simple sera de redémarrer à la fin. | ||
- | |||
- | Ensuite les locales : Localisation Options > Change Locale | ||
- | |||
- | Sélectionner '' | ||
- | |||
- | Maintenant on peut passer aux fioritures. | ||
- | |||
- | Permettre l' | ||
- | |||
- | Pendant qu'on est là, donnez un hostname sympa pour le réseau (l'une des options de base). | ||
- | |||
- | Une option pour que le système prenne toute la place disponible sur la carte : Advanced Options > Expand Filesystem | ||
- | |||
- | Après ça on va reboot, afin de prendre en compte ce qu'on a fait. | ||
- | |||
- | Nous avons droit à un message d' | ||
- | sudo passwd | ||
- | sudo passwd pi | ||
- | Mettez un bon mot de passe et mémorisez-le. | ||
- | |||
- | Nous allons tout de suite configurer ssh : | ||
- | sudo nano / | ||
- | | ||
- | On change le port (tout sauf 22), on s' | ||
- | |||
- | Port 222 | ||
- | PermitRootLogin no | ||
- | AllowUsers pi | ||
- | |||
- | Et un petit redémarrage de ssh pour prendre ça en compte. | ||
- | sudo service ssh restart | ||
- | |||
- | Ensuite on envoie sa propre clé sur le raspberry : | ||
- | ssh-copy-id -p 222 -i ~/ | ||
- | |||
- | Pour trouver l' | ||
- | |||
- | 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 apt-get update && sudo apt-get upgrade -y && sudo reboot | ||
- | |||
- | ==== Personnalisations cosmétiques en plus ==== | ||
- | |||
- | Je n'aime pas le message par défaut quand on se connecte en ssh. Il se change dans ''/ | ||
- | |||
- | Je sais que ce n'est pas " | ||
- | sudo su | ||
- | nano / | ||
- | |||
- | Décommenter/ | ||
- | < | ||
- | export LS_OPTIONS=' | ||
- | eval " | ||
- | alias ls='ls $LS_OPTIONS' | ||
- | alias ll='ls $LS_OPTIONS -l' | ||
- | alias l='ls $LS_OPTIONS -lA' | ||
- | |||
- | # Autocompletion | ||
- | if [ -f / | ||
- | . / | ||
- | fi | ||
- | </ | ||
- | |||
- | |||
- | ===== 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 127: | Ligne 23: | ||
===== Transformer la Raspberry en accès wifi ===== | ===== Transformer la Raspberry en accès wifi ===== | ||
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
- | Cette partie est une traduction libre et adaptée de https:// | + | À noter : je ne cherche pas à sécuriser le réseau donc la configuration d' |
- | + | ||
- | À noter : je ne cherche pas à sécuriser le réseau donc la configuration d' | + | |
</ | </ | ||
Quelques logiciels à installer pour créer un " | Quelques logiciels à installer pour créer un " | ||
- | sudo apt-get install hostapd | + | sudo apt-get install hostapd |
* 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. | ||
- | * isc-dhcp-server | + | * dnsmasq sert à la fois à gérer la partie |
- | * iptables-persistent | + | * iptables-persistent |
- | ==== DHCP ==== | + | 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. |
- | Éditez | + | |
- | Commenter les lignes suivantes : | + | sudo nano /etc/dhcpcd.conf |
- | < | + | Ajouter au fichier, tout au début : |
- | #option domain-name " | + | |
- | #option domain-name-servers ns1.example.org, | + | |
- | </code> | + | |
- | + | ||
- | Décommenter/ajouter ceci : | + | |
- | < | + | |
- | authoritative; | + | |
- | + | ||
- | subnet 192.168.42.0 netmask 255.255.255.0 { | + | |
- | | + | |
- | option broadcast-address 192.168.42.255; | + | |
- | option routers 192.168.42.1; | + | |
- | default-lease-time 600; | + | |
- | max-lease-time 7200; | + | |
- | option domain-name " | + | |
- | option domain-name-servers 8.8.8.8, 8.8.4.4; | + | |
- | } | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | Éditez ensuite ''/ | + | |
- | | + | |
==== Interface, wlan0 ==== | ==== Interface, wlan0 ==== | ||
- | On va configurer wlan0 pour qu'il soit | + | On va configurer wlan0 |
sudo ifdown wlan0 | sudo ifdown wlan0 | ||
+ | sudo nano / | ||
- | Éditer | + | Éditez-le pour qu'il ressemble |
- | + | ||
- | Il doit ressembler | + | |
< | < | ||
Ligne 184: | Ligne 56: | ||
allow-hotplug wlan0 | allow-hotplug wlan0 | ||
- | |||
iface wlan0 inet static | iface wlan0 inet static | ||
- | address | + | address |
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
+ | network 172.24.1.0 | ||
+ | broadcast 255.0.0.0 | ||
</ | </ | ||
+ | |||
+ | Relancer dhcpcd pour que tout soit pris en compte. | ||
+ | |||
+ | sudo service dhcpcd restart | ||
Et ensuite, donnez son adresse ip statique à wlan0 : | Et ensuite, donnez son adresse ip statique à wlan0 : | ||
- | sudo ifconfig wlan0 192.168.42.1 | + | |
+ | sudo ifup wlan0 | ||
+ | | ||
==== 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 211: | Ligne 93: | ||
# 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 220: | Ligne 105: | ||
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 237: | Ligne 122: | ||
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. | 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. | ||
- | ==== Finitions | + | ==== Dnsmasq |
- | Relancez les services | + | Sauvegarder le fichier de configuration d' |
- | sudo service hostapd start | + | |
- | sudo service isc-dhcp-server start | + | |
- | Vérifiez que tout tourne sans erreur : | + | |
- | | + | sudo nano / |
- | sudo service isc-dhcp-server status | + | |
- | et faites qu'ils démarrent automatiquement : | + | <code bash / |
- | sudo update-rc.d hostapd enable | + | # 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=/#/ | ||
- | Connectez-vous depuis votre autre machine sur le réseau PiBox, puis rendez-vous sur 192.168.42.1/ | + | ''#'' |
- | Redémarrez | + | 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' | ||
- | ==== Améliorer l' | + | 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 |
- | Taper une adresse du style " | + | </ |
- | 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' | ||
- | <WRAP center round todo 60%> | + | ==== Donner de l'ipv4 et gérer iptable ==== |
- | Ça ne va plus, de nouveau. À noter que " | + | Ok, l'ipv4 c'est mort, tout ça, mais vu le réseau on s'en moque. |
- | </ | + | |
+ | sudo nano / | ||
+ | Enlever le commentaire devant '' | ||
- | sudo apt-get install dnsmasq | ||
- | sudo mv / | ||
- | sudo nano / | ||
- | Et copier les informations suivantes | + | <code php> |
+ | sudo su | ||
+ | iptables -A INPUT -i wlan0 -m conntrack --ctstate RELATED, | ||
+ | iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 80 -j ACCEPT | ||
+ | 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 > / | ||
+ | </ | ||
- | address=/ | + | ==== Finitions ==== |
+ | Relancez les services : | ||
+ | sudo service hostapd start | ||
+ | sudo service dnsmasq start | ||
+ | sudo service networking start | ||
+ | Vérifiez que tout tourne sans erreur : | ||
+ | sudo service hostapd status | ||
+ | sudo service dnsmasq status | ||
+ | sudo service networking status | ||
- | < | + | Connectez-vous depuis votre autre machine sur le réseau PiBox, puis rendez-vous sur 172.24.1.1/ |
- | #dont use resolv.conf | + | |
- | no-resolv | + | |
- | #dont recheck resolv.conf for changes | + | |
- | no-poll | + | |
- | #overwrite dns.. | + | Redémarrez la Raspberry, vérifiez que ça marche toujours... c'est bon ? Parfait ! |
- | # | + | |
- | + | ||
- | # 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. | + | |
- | # | + | |
- | ## ^^^^^^ | + | |
- | + | ||
- | </ | + | |
+ | ==== Paramétrer l' | ||
+ | <code php>sudo usermod -a -G www-data pi | ||
+ | sudo chown -R www-data: | ||
+ | sudo chmod -R g+rwX / | ||
===== Liens utiles (ou pas) ===== | ===== Liens utiles (ou pas) ===== | ||
- | + | Disons que ça m'a servi à en arriver là. | |
- | - hostpad sur unbuntu | + | - https:// |
- http:// | - http:// | ||
- http:// | - http:// | ||
Ligne 303: | Ligne 205: | ||
- https:// | - https:// | ||
- https:// | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - http:// | ||
+ | - http:// | ||
- | ===== Astuces en plus ===== | + | ===== Pour trouver |
- | Une fois que c'est fais, pour sauvegarder la carte SD et ne pas tout recommencer, on met la carte sur son ordi puis | + | Une recherche sur " |
- | dd if=/dev/sdh | gzip -v6 | dd of=/media/dossier/ | + | |
- | gzip va compresser l' | + | |
- | + | ||
- | Pour mettre cette version compressée sur une nouvelle carte sd : | + | |
- | sudo umount / | + | |
- | sudo zcat / | + | |
- | '' | + | |
+ | " |