Création d’un nas maison avec proxmox – Partie 2 Le partage de fichiers
Voici la deuxième partie sur la création d’un nas à partir d’une machine virtuelle sous proxmox. Dans cette partie nous allons aborder le partage de fichiers. Mes fichiers doivent être accessible depuis n’importe quel ordinateur de mon réseau local et n’importe quel système d’exploitation.
Deux serveurs de partage seront installés, NFS pour le partage en natif Linux et Samba pour les postes sous Windows.
Enfin l’installation d’un serveur ownCloud pour synchroniser mes documents, images, photos, musiques.
Avant de commencer la configuration du serveur de partage, j’ai modifié la méthode de montage des deux disques durs. En effet j’ai préféré faire un montage basé sur l’UUID pour m’y retrouver plus facilement. J’utilise un petit utilitaire compris dans le paquet util-linux afin d’identifier les différents disques durs.
root@elune:~# blkid /dev/sdb1: LABEL="serietv" UUID="5b8275e1-85cb-4406-ba7f-8c54d48d7978" TYPE="ext4" /dev/sdc1: LABEL="films" UUID="27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd" TYPE="ext4"
Il me reste plus qu’a modifier mon fstab pour que les disques soient montés au démarrage.
UUID=5b8275e1-85cb-4406-ba7f-8c54d48d7978 /media/5b8275e1-85cb-4406-ba7f-8c54d48d7978 ext4 defaults,nofail,acl,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2 UUID=27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd /media/27bd44d9-71aa-4b4a-9ed4-ab79e715d3fd ext4 defaults,nofail,acl,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2
Samba
Installation de samba sous Debian :
apt-get install samba
Ensuite toute la configuration se fait via le fichier smb.conf situé dans /etc/samba. Le fichier se découpe en deux parties, une pour la configuration générale du serveur, l’autre pour les différents partages.
Voici la configuration que j’utilise :
#======================= Global Settings ======================= [global] #Spécifie le groupe de travail workgroup = WORKGROUP #Description du serveur server string = %h server #pas de proxy dns proxy = no #Niveau de précision des log plus d'infos ici[->] log level = 1 #pas de log dévènement syslog = 0 #ou enregistrer le fichier de logs log file = /var/log/samba/log.%m #taille maximale du fichier max log size = 1000 #mot de passes chiffrés encrypt passwords = true smb password file = /etc/smbpasswd #niveau de sécurité : seul les utilisateurs avec un compte peuvent se connecter security = user #Permet de mapper les autorisation Unix vers windows, tous les fichiers créés à partir #d'un poste windows aura les autorisations linux 777 create mask = 0777 #pareil que create mask mais pour les dossiers directory mask = 0777 #améliore les transferts de fichiers use sendfile = yes aio read size = 16384 aio write size = 16384 #utilisaeurs sans mot de passe interdit null passwords = no #seul maître à bords local master = yes #pas de serveur de temps ni de support wins time server = no wins support = no
Passons maintenant à la configuration des partages :
En exemple la configuration d’un de mes partages.
#======================= Share Definitions ======================= [photos] path = /media/5b8275e1-85cb-4406-ba7f-8c54d48d7978/photos/ #invités interdit guest ok = no #lecture seule non read only = no #dossier navigable browseable = yes #hérite des différentes acl inherit acls = yes inherit permissions = no ea support = no store dos attributes = no printable = no #lorsqu'un dossier ou un fichiers est crée il hérite des autorisations suivantes create mask = 0755 force create mode = 0644 directory mask = 0755 force directory mode = 0755 hide dot files = yes
Le partages de fichiers samba est opérationnel. Seul les utilisateurs avec un compte sur le serveur pourrons accéder aux fichiers. Personnellement je n’utilise windows que pour les jeux, mais n’étant pas un extrémiste du libre, je tolère que mon entourage n’utilise pas le même système que moi. C’est alors plus facile pour échanger nos fichiers.
NFS – Network File System
NFS est un système de fichier réseau qui permet le partage entre machines UNIX. C’est le gros morceaux, car tous mes ordinateurs linux doivent pouvoir y accéder en lecture/écriture.
Installation.
apt-get install nfs-kernel-server
Ensuite les partages se configurent dans un seul fichier /etc/exports
/export/videos 192.168.66.0/24(rw,subtree_check,insecure,no_root_squash) 192.168.67.1(rw,subtree_check,insecure,no_root_squash)
- /export/videos : Nom du partage afficher lors de interrogation du serveur showmount -e IP_du_serveur_NFS
- 192.168.66.0/24 – j’autorise n’importe quels ordinateurs du réseau à se connecter au partage
- rw : accès en lecture/écriture
- subtree_check : vérification de l’arborescence
- insecure : permet au client de se connecter sur un port différent de celui par défaut le 1024, utile dans certains cas.
- no_root_squash : spécifie que le root de la machine sur laquelle le répertoire est monté possède les droits root sur le répertoire
Tous les partages sont configurés de la même façon.
Mon pc de salon qui est en Wi-Fi utilise mon nas, pour ne pas ouvrir mon réseau local, sur mon pare-feu j’ai créer un réseau dédié au Wi-Fi en 192.168.67.XX, avec uniquement des accès ciblés vers mon réseau local. C’est pour cela qu’en plus de plage Ip locale j’ai renseigné celle de mon pc de salon.
ownCloud – l’accès depuis internet
J’ai besoin d’avoir accès à certains documents hors de chez moi avec une mise à jour à chaque modifications. C’est là qu’intervient le célèbre ownCloud. Si vous voulez plus d’infos c’est par ici[angl].
De plus il offre la possibilité de synchroniser ses contacts, son calendrier, la musique en streaming, et pleins d’autre petites applications sympatiques.
Pour l’installer, toujours sous Debian, il suffit de suivre le mini-tuto du site officiel. Il permet d’ajouter les dépôts et de procéder à l’installation.
Les données hébergées doivent être sauvegardées, mais pas aussi fréquemment que les VM. J’ai donc ajouté un disque virtuel ou seront stockés mes fichiers owncloud. Ce disque sera sauvegardé une fois par semaine avec un historique dont je n’ai pas encore définit la durée, peut être 15 jours ou un mois en fonction de son évolution.
Il sera monté dans /home/olivier/owncloud et il servira pour le dossier data de owncloud.
Voici une capture d’écran lors de mon installation. Pour la base de données je préfère utiliser mon serveur MariaDB à la place de sqlite. C’est aussi une des raisons qui m’ont poussé à ne pas utiliser le plugin d’openmediavault qui impose l’utilisation de sqlite.
Ajout des droits pour l’utilisateur d’apache afin qu’il puisse utiliser le dossier data.
chown -R www-data:www-data /home/olivier/owncloud
Il me reste plus qu’a modifier la configuration de reverse proxy pour accéder au ownCloud depuis internet en ssl.
Conclusion
Mon nas est maintenant fonctionnel et prêt à accueillir mes fichiers. Mes fichiers sont disponibles partout où je suis, j’ai de la place pour le stockage multimédia, ils sont accessible via windows et Linux.
Dans la prochaine partie nous verrons comment sauvegarder et restaurer tout ce petit monde.