Dans cet article, je décris la mise en place de plusieurs services sur un raspberry pi, tels que:
- serveur FTP
- Serveur Samba
- serveur de téléchargement
1) installation et préparation du raspberry
- Après avoir téléchargé Raspbian “wheezy” sur http://www.raspberrypi.org/downloads
installez le sur votre carte SD avec un logiciel comme "disk imager" : http://sourceforge.net/projects/win32diskimager/
- Optionnel: pensez a utiliser l'option de partitionnement si votre carte fait plus de 2 giga (expendrootfs)
- au démarrage, après avoir installé le service ssh, commencez par configurer l'adressage réseau de votre futur serveur "multi-tâches"
#/vi /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.0.253 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.254
et au besoin, renseignez l'adresse du serveur DNS:
vi /etc/resolv.conf
nameserver 192.168.0.254
- mise a jour
#sudo apt-get update
puis
#sudo apt-get upgrade
2) FTP server
- installation et configuration vsftpd
#apt-get install vsftpd
- Edition du fichier de configuration
#vi /etc/vsftpd.conf
Configurer le à votre sauce ;)
par prudence je sauvegarde toujours une copie du fichier de config de chaque service
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.old
- Creation d'un utilisateur
#sudo adduser "nom d'utilisateur"
- Creer un dossier
#sudo mkdir storage
- Monter le disque dur externe
Vérifier le nom du disque qui a été attribué dynamiquement:
#cat /var/log/kern.log
(il doit être dans la liste tout en bas...)
- puis monter le
#sudo mount /dev/sda1 /media/storage
- le contenu du disque dur est maintenant accessible a l'emplacement :
#cd /media/storage
- pour le monter à chaque démarrage:
#sudo vi /etc/fstab
- puis rajouter la ligne:
/dev/sda1 /media/storage ntfs-3g defaults,rw,umask=000,gid=1001 0 0
!!!!!!!!!!!!!!!!!umask=000 équivaut a un chmod 777!!!!!!!!!!!!!!!
(ntfs-3g si votre disque est en format ntfs)
- Si vous n'avez pas ntfs-3g, installer le:
#apt-get install ntfs-3g
En simple ntfs, vous n'aurez pas les droits d'écriture...
pour tout savoir sur le fichier fstab : http://doc.ubuntu-fr.org/mount_fstab
- vérifier la config:
#mount -a
3) Samba server
#apt-get install samba
#apt-get install samba-common-files
- puis même manip que le serveur ftp:
#cp /etc/samba/smb.conf /etc/samba/smb.conf.old
le fichier compte 3 parties principales:
- La section [global] définit des paramètre généraux sur le serveur
- La section [homes] définit le partage d'un répertoire personnel
- La section [printers] définit les imprimantes partagées par le serveur
mon fichier de config:
[global] # même nom de groupe que celui sous Windows (Voisinage réseau) workgroup = WORKGROUP # aucun compte invité guest account = nobody ; # accès multi-utilisateur share modes = yes ; # Adresse IP de la carte réseau du serveur # et masque de sous-réseau interfaces = 10.194.2.100/255.255.255.0 # emplacement du fichier printcap (imprimantes sur le serveur Linux) printcap = /etc/printcap # partage de toutes les imprimantes définies dans printcap load printers = yes # fichier journal de Samba log level = 1 log file = /var/log/samba/log.%m # mode de sécurité : (user / share / server) security = user # restreindre l'accès a certains sous-réseaux hosts allow = 15.144. 127. # empecher l'accès à certaines machines hosts allow = 15.144. EXCEPT 155.144.179.2
La section [homes] permet de définir l'accès au répertoire personnel de chaque utilisateur. Voici un exemple de section :
[HOMES] # commentaire visible depuis le voisinage reseau comment =Répertoire personnel # affichage de la ressource pour tous browseable = no # possibilité d'écrire sur la ressource writable = yes create mask = 0750
Il est possible de définir une accès personnalisé à n'importe quel répertoire de la machine en créant une section portant le nom que le veut donner à la ressource. Celui-ci contiendra entre autres un paramètre pathdonnant le chemin d'accès à la ressource.
Voici un exemple de section personnalisée :
[STORAGE] comment = storage path = /media/storage browseable = yes valid users = thanatos public = no read only = no printable = no create mask = 0700 directory mask = 0700
4) Serveur de téléchargement
- Connecter vous en SSH sur votre Serveur Raspberry :
- On va commencer par installé les dépendances :
# sudo apt-get install python python-crypto python-pycurl python-openssl python-imaging mercurial tesseract-* spidermonkey-bin
- Puis on installe le paquet liblept3 :
# cd /tmp
# sudo wget http://ftp.de.debian.org/debian/pool/main/l/leptonlib/liblept3_1.69-3.1_armhf.deb
# sudo dpkg -i liblept3_1.69-3.1_armhf.deb
# rm liblept3_1.69-3.1_armhf.deb
- Installation de Pyload
On va télécharger le le package
# sudo wget http://download.pyload.org/pyload-v0.4.9-all.deb
# sudo dpkg -i pyload-v0.4.9-all.deb
# rm sudo pyload-v0.4.9-all.deb
- Et configuration
On lance le logiciel puis on passe donc à la configuration de celui-ci :
# cd /usr/share/pyload/
# ./pyLoadCore.py
Choose your language : fr
Continuer la configuration ? [o]
Modifier le dossier de configuration ? [n]
Mettre en place la configuration de base ? [o]
Nom d’utilisateur : pyload
Mot de passe : votre mot de passe
Enable remote access : [o]
Langage : fr
Dossier de téléchargement : /opt/Downloads/
Téléchargements parallèle maximum : 3
Utiliser reconnexion ? [n]
Paramétrer ssl ? [n]
Souhaitez vous configurer l’interface web ? [o]
Activer l’interface web ? [o]
Adresse d’écoute (adresse de votre Pi) : x.x.x.x (ip locale si vous voulez joindre le serveur de l'exterieur
Port : 8000
et enfin:
# sudo service pyload restart
5) Sauvegarde de votre serveur raspberry:
Après tous ces efforts, rien ne vaut une bonne sauvegarde ;)
La manip est assez simple, il suffit d'éteindre votre serveur.
#sudo init 0
Retirer votre carte mémoire connecter la sur votre pc, et lancer
win32 disk imager
Sauvegarder votre image (load).
Et voila
6 ) FAQ
Serveur de téléchargement:
Problème: La page web est inaccessible
Solution: Vérifier votre fichier de configuration #/usr/share/pyload/module/config/default.conf
Plus de détails sur ce site http://pyload.org/configuration