jeudi 8 mai 2014

Base Pi

Premier pense bête alors on va commencer tout doux, j'utilise pas mal les Rpi pour ma domotique maintenant parce que c'est pas cher ! Et pis c'est fiable (avant de refaire celui de mon garage, l'install avait 1 an de bon et loyaux service).

Un raspberry Pi alias Pi alias Rasp alias Rpi c'est ça http://www.raspberrypi.org/


Alors on va commencer par préparer le Rasp.

First Step : On installe Raspbian sur la carte SD, 8Go c'est bien mais 4Go suffisant.
Voir : http://www.raspberrypi.org/downloads/

Normalement le SSH est activé par défaut, donc on se connecte en SSH dessus (via Putty) :
Login : pi
MDP : raspberry

Première étape, mise à jour des paquets :
sudo apt-get update
Ensuite on mets les paquets à jour :
sudo apt-get upgrade
Avant toute modif via VI, on installe le paquet VIM
sudo apt-get install vim
Comme on ne veux pas garder le user Pi parce que c'est pas secure, on créé un nouvel utilisateur :
sudo adduser nom-d'utilisateur
Plein de question seront posée, on y répond si on veux, et on fini par mettre le mot de passe de ce compte.
Maintenant on va donner tous les droits équivalent au user Pi à notre nouveau nom.
Pour ça, on fait un
sudo vi /etc/group
Pour l'utilisation de Vi, on appuis sur "i" pour passer en mode insertion, on fait les modifs, et pous sauvegardé, on enchaine "Echap" puis ":wq".
On rajoute notre nouveau nom d'utilisateur à coté de Pi en séparant par une virgule.
Une fois que c'est, on se reconnecte avec notre nouvel utilisateur, et on vérifie que tout fonctionne, à savoir un
sudo vi /etc/group
Si on peux modifier ce fichier et sauvegarder, c'est que c'est bon (on peux tester de supprimer le login Pi sur un groupe).
Une fois que c'est fait, on va conserver un peu le user Pi histoire de ne pas se retrouver bloqué.
On passe à la configuration du Pi, on fait un
sudo raspi-config
On fait en premier l'option 1, à savoir "Expand Filesystem", ça permet de prendre toute la place sur la carte SD. Faire l'option 4 également "Internationalisation Options" qui va permettre de passer le Pi en Locale FR + timezone FR et Disposition clavier FR (donc les trois options du menu 4).

On fait un Back puis Finish et on reboot le Pi.
Suite au redémarrage, on se reconnecte en SSH sur le Pi avec le nouveau user.
On va maintenant modifier le comportement de SSH pour que le login "root" ne soit pas permis.
sudo vi /etc/ssh/sshd_config
Dans l'encart "# Authentication:" on passe le "PermitRootLogin" à no
On sauvegarde "Echap" puis ":wq".

On va maintenant changer le nom du Raspberry, pour cela on va modifier 2 fichier.
Le premier
sudo vi /etc/hosts
Où on remplace la dernière ligne à savoir
127.0.1.1       nouveau-nom
Puis
sudo vi /etc/hostname
Où l'on remplace par le nouveau nom.
A ce stade, nous n'avons plus besoin du user Pi, après toutes ces modifs, ça veux dire que les droits sont corrects.
Pour le supprimer :
sudo userdel pi
Voila pour la configuration de base, maintenant on va installer quelque truc indispensable à un Pi.
La suite AMP, Apache pour le serveur Web, Mysql pour la base de données (pas obligatoire), et PHP parce que c'est la classe.
sudo apt-get install apache2 php5 libapache2-mod-php5 php5-common php5-cgi php5-cli
Puis
sudo apt-get install mysql-server mysql-client php5-mysql
Une fois que tout est installé, on va modifier Apache :
sudo vi /etc/apache2/apache2.conf
Au premier blanc, on ajoute :
ServerName localhost
Puis on redémarre le service apache :
sudo /etc/init.d/apache2 restart
Ça permet d'enlever l'erreur d'apache au démarrage "Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName"

Maintenant on va donner les droits au nom d'utilisateur d'apache (www-data) et à votre utilisateur pour des simplifications lorsque nous allons créer le site WEB :

sudo chown www-data:www-data /var/www
sudo usermod -a -G www-data votre-utilisateur
sudo chmod -R 775 /var/www/
Pensez à modifier  votre-utilisateur par votre utilisateur.
Une fois que ça c'est fait, on va installer Postfix, pour pouvoir envoyer des mails en relais via un compte Gmail.

sudo apt-get install postfix
On va maintenant modifier la conf :
sudo vi /etc/postfix/main.cf
On rajoute où il y a de la place :
inet_protocols = ipv4
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
canonical_maps = hash:/etc/postfix/sender-canonical
relayhost =  [smtp.gmail.com]:587
 On modifie les alias de la machine :

 sudo vi /etc/aliases
Voila à quoi doit ressembler le fichier :
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
votre-utilisateur:root
root:votre-adresse-mail
Pensez à modifier votre-utilisateur par votre utilisateur et votre-adresse-mail par votre adresse mail sur laquelle vous voulez recevoir les notifications.

Maintenant on va configurer le compte Gmail avec lequel on va faire le relais :
sudo vi /etc/postfix/sasl_passwd
Le fichier doit ressembler à ça :
[smtp.gmail.com]:587 votre-adresse-mail@gmail.com:votre-mot-de-passe-mail
 Pensez à modifier votre-adresse-mail@gmail.com par votre adresse mail, et votre-mot-de-passe-mail par votre mot de passe de votre compte mail.

On va configurer avec quel @mail on va envoyer des message et suivant l'utilisateur.
sudo vi /etc/postfix/sender-canonical
 Le fichier doit contenir
root votre-adresse-mail@gmail.com
votre-utilisateur votre-adresse-mail@gmail.com
smmsp votre-adresse-mail@gmail.com
votre-utilisateur@nom-du-raspberry   votre-adresse-mail@gmail.com
postmaster  votre-adresse-mail@gmail.com
Pensez à modifier tous les champs.
Maintenant on compile tous les fichier créé :
sudo postalias /etc/postfix/sender-canonical
sudo postmap /etc/postfix/sasl_passwd
Puis on redémarre Postfix pour prendre en compte les modifications.
sudo /etc/init.d/postfix restart
On peux faire un test d'envoi de mail pour savoir si tout est OK en faisant :
mail  adresse-mail-destinataire
 on demande un Subject puis le contenu du message, et on termine par un point '.'
Ça ressemble à ça :
rasp@rasp ~ $mail xxxxx@gmail.com
Subject: test
blabla
.
Normalement ça devrait le faire.
Enfin, on va configurer le bash pour que dès qu'un user se connecte au Pi, ça envoi un mail.
sudo vi /home/votre-utilisateur/.bashrc
On rajoute à la fin :

# notification email de chaque connexion ssh
echo 'NOTIFICATION - Acces SSH sur le Raspberry nom-du-raspberry le:' `date` `who` | mail -s "NOTIFICATION - Connexion en Server via SSH depuis: `who | cut -d"(" -f2 | cut -d")" -f1`" adresse-mail-destinataire
Penser à modifier nom-du-raspberry et adresse-mail-destinataire
Voila pour moi c'est un Pi basique sur lequel on va pouvoir faire tout plein de chose.

Aucun commentaire:

Enregistrer un commentaire