mercredi 31 août 2016

RPI et NAS

Aujourd'hui, je me décide à créer mon NAS avec ma RPI. Par contre, j'ai un vieux modèle (B) et donc OMV, on oublie un peu... Donc je passe par une Raspbian.


Et qu'est-ce que je fais alors, pour installer Raspbian ?

Ben, rien de très compliqué, je télécharge l'image sur le net, je la décompresse, je formate (en ext4) ma sd card pour ma RPI, je faisun petit df pour voir le nom de mon device, umount si elle est encore montée, puis
sudo dd if=Téléchargements/omv_2.2.5_rpi2_rpi3.img of=/dev/mmcblk0
par exemple, ce qui représente ici
if = source, of = dest. Attention, il faut retirer le nom de la partition, on ne veut que le device : /dev/mmcblk0 et pas /dev/mmcblk0p1 par exemple (partition1)
Bon, ça prend un moment, hein.... Même avec ma bécane pas trop mauvaise, parce que je pense que le temps d'écriture sur une sdcard est assez long de base... Bref, faut attendre, et on a le résultat à la fin du processus qui indique les rate, etc.

Et maintenant, alors, Raspbian est installée ??

En fait, oui. Techniquement, maintenant, je mets la sdcard dans le bidou de ma RPI, je la mets sous secteur, et la magie opère.

À partir de là, perso, je me connecte en ssh depuis mon poste ubuntu. Un petit nmap sur mon réseau pour connaître l'ip de la bête :
nmap 192.168.0.0/24 pour chez moi.

Le compte par défaut est pi, mdp raspberry : ils se sont pas trop fait chier... Ils auraient eu tort en même temps. Mais bon, faudra que je pense à changer ça ^^

Première chose à faire,
sudp apt-get update && sudo apt-get upgrade
le temps d'un petit café. Sisi, ça peut prendre un peu de temps.

Ici, perso, je vais d'ores et déjà réserver une adresse IP pour ma bestiole. Mais comme Raspbian a changé de procédure pour ça (contrôlé différemment) ben je préfère déléguer ça à mon routeur. Après tout, il fait tout plein de trucs, autant qu'il fasse ça... Ce sera 192.168.0.50 pour la RPI.

Montage du(des) disque(s)

Bon, maintenant, ce que je souhaite faire, moi, c'est mettre un disque dur sur le réseau en permanence. J'en ai un, très bon, mais petit, de 250 GB. Bon, c'est déjà pas mal pour mettre toutes les photos de la famille ainsi que les films que je souhaite garder ?! Ou n'importe quel fichier volumineux, quoi. Je pense ajouter un second disque, qui me permette de faire une sauvegarde régulièrement pour pas perdre tout ça... J'ai un second disque de 250 GB mais pas d'alim. pour le moment, faut que j'arrange ça.

sudo mkdir /media/USBHDD1
me créé le répertoire de dest. de mon disque. Évidemment, là, c'est root qui en sera propriétaire, me semble-t-il...
Je branche le dd, et je fais un petit df pour connaître son ptit nom. Chez moi, ça donne 
pi@raspberrypi:~ $ df
...
/dev/sda2      243836924   73428 243763496   1% /media/pi/nas

 
Bon, /dev/sda2 donc.
(perso, j'ai dû faire un sudo umount avant, sinon, évidemment, si la partition est déjà montée, a marche pach...)

Ensuite, fichier de conf. Il faut éditer le fichier de fstab, pour monter la partition automatiquement au démarrage du bousin :


sudo nano /etc/fstab
puis ajouter la ligne
/dev/sda2 media/USBHDD1 auto noatime 0 0


Rendre le dd accessible sur le réseau

C'est là que ça se gâte un peu... Mais bon, ça n'a pas l'air très difficile avec samba.

D'abord, une install :
sudo apt-get install samba samba-common-bin
Après, faut configurer samba bien sûr.

Première chose, je créé les emplacements sur le dd :
sudo mkdir /media/USBHDD1/NAS1
sudo mkdir /media/USBHDD1/NAS1/Public
sudo mkdir /media/USBHDD1/NAS1/Music

Changer les autorisations sur le dd. Moi, c'est pas un problème si c'est au max :
sudo chmod 777 -R /media/USBHDD1

Il faut alors configurer samba. Comme beaucoup d'utilitaires sur Linux, on fait ça direct sur le fichier de config, qui se trouve là :
/etc/samba/smb.conf

Il est prudent de commencer par une petite sauvegarde de la conf. de base, en faisant un mv par ex :
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.old
On recréé un nouveau fichier de config :
sudo nano /etc/samba/smb.conf
dans lequel on va écrire tout ce qui nous faut, à savoir, dont voilà le fichier.

[global]
   workgroup = WORKGROUP
   server string = %h server
   netbios name = NAS1
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes

[Public]
   path =/media/USBHDD1/NAS1/Public
   read only = no
   locking = no
   guest ok = yes
   force user = pi

[Music]
   path =/media/USBHDD1/NAS1/Music
   read only = yes
   locking = no
   guest ok = yes
   force user = pi
 


Pour les explications, je garde un nom type windows pour le réseau (WORKGROUP), je dis à samba d'utiliser le dd NAS1, puis je donne des autorisations particulières à mes deux dossiers : Public et Music.
Public a toutes les autorisations, y compris pour les extérieurs. Sur Music, on ne peut que lire.

Après quoi, il faut redémarrer samba.
Il est possible de créer un dossier privé, pour ce faire, il faut ajouter les mentions nécessaires, comme par exemple :
[Private]
   browseable = no
   path = /media/USBHDD1/NAS1/Private
   writable = yes
   username = Arabella
   only user = yes
   create mode = 0600
   directory mask = 0700
 Le cas échéant, il faudra que l'utilisateur Arabella existe sur le linux hôte, et qu'il ait accès à samba : 
useradd fera l'affaire :

sudo useradd Arabella -m -G users  
-G -> group users... 
sudo passwd ***(ben un pass quoi)
lui donner les autorisations pour samba :
sudo smbpasswd -a ***
sudo chown Arabella:Arabella /media/USBHDD1/NAS1/Private
et redémarrer le serveur samba :

sudo /etc/init.d/samba restart

Le système redémarre. 
Depuis Ubuntu, je vois déjà mon réseau Workgroup.

Rendons à César... Je me suis largement inspirée de cette page : 
http://blog.idleman.fr/billet-invite-creer-un-nas-avec-le-raspberry-pi/

Et je compte bien le faire encore pour gérer la sauvegarde journalière. Mais d'abord, faut que je trouve un rack pour mon second HDD de 250 go ^^


Et puis si je veux ajouter une imprimante maintenant ?

Et bien, je commence par donner une ip fixe à ma raspbian.
Le truc, c'est que la procédure a un peu changé... 
Bon, j'ai bloqué une ip sur mon routeur pour la RPI. Il y a moyen de faire autrement, mais après deux essais infructueux et deux reboot initiaux, j'ai préféré éviter de cramer ma sd card direct.

Donc je dois installer cups :
sudo apt-get -y install cups

Il faut ajouter pi en user ayant droit 
sudo usermod -a -G lpadmin pi

On édite le fichier de conf :
sudo nano /etc/cups/cupsd.conf
il y a une ligne avec Listen localhost:631
qu'il faut bêtement remplacer par Port 631

Toutefois, perso, j'ai dû modifier d'autres lignes dans le fichier de conf :
En gros, dans toute la section 
# Restrict access to the server...

Order allow,deny
# add after
Allow all
j'ai ajouté des Allow all

et redémarrer le service :
sudo service cups restart


Logiquement, à partir de là, on peut accéder au serveur cups de cette façon :
http://ip_du_rapsberry:631

L'administration de l'imprimante se passe aussi sur cette page.

VOILÀ !!!

Et ptete qu'un antivirus, ce serait pas mal, dis donc ?

Oui, ben ClamAV ? AV gratuit et bien connu des utilisateurs Linux... Il est sur les dépôts debian (donc raspbian).

sudo apt-get install clamav-freshclam
clamav, c'est l'antivirus. Clamav-freshclam, je pense que c'est la bd d'AV.

Perso, j'ai baissé à 5 le nombre de mises à jour quotidiennes, en éditant le fichier de config, évidemment :
sudo nano /etc/clamav/freshclam.conf
et en modifiant la ligne 
checks 24
par
checks 5

Pour lancer un scan, c'est clamscan. Il y a des tas d'options différentes, et la liste est dispo avec la commande clamscan -h

Pour lancer le scan, je fais 
clamscan -i -r /
-i affiche les fichiers infectés durant le scan, 
-r est récursif. Ce serait dommage de se limiter à la racine...

Après, il est encore possible de prévoir un scan avec crontab.
Largement inspiré de http://www.canalgeek.fr/tuto-geek-installation-et-configuration-de-lantivirus-clamav-sur-debian/

Mais à noter : j'ai abandonné cette idée. L'analyse dure des heures (vraiment) et le résultat n'est pas très chouette. 

Du coup, j'ai fait un petit
sudo apt-get --purge remove clamav 

et je cherche une meilleure solution. 

J'ai désormais ajouté un deuxième DD, de 1 To. Celui-ci partitionné en 4 (mais je ne sais pas bien si ça me sera utile...).
Une partition de 500 Go pour y mettre ce qu'on veut...
Une partition de 250 pour faire la sauvegarde du premier dd, sisi... On sait jamais que ça plantoie, que je puisse récup quelque chose.
Deux autres partitions qui devraient ptete bien accueillir les recovery de mes Win$10.


Je décide donc dans un premier temps d'organiser la sauvegarde :
rsync (sur un autre billet)


UPDATE des années plus tard.

J'ai installé des trucs, viré d'autre sur ma raspi. Bref. Elle embarque un serveur php qui sert à rien,; et d'autres services totalement inutiles. 
Après avoir fait une sauvegarde, je mets tout ça à jour, et je vais nettoyer un peu les paquets...

dpkg -l

va lister les paquets existants. Je peux virer tout ceux que j'aime po.

Aucun commentaire:

Membres