40 votes

Comment configurer Ubuntu Server en tant que NAS?

Je cherche à mettre en place un serveur Ubuntu en tant que NAS sans tête pour chez moi. J'aimerais y avoir un stockage de fichiers, ainsi qu'un centre central pour mes MP3 et mes images.

Quels sont les meilleurs packages disponibles pour gérer cela? Est-ce que quelqu'un peut poster un lien vers un bon tutoriel ou donner des conseils?

Une contrainte que j'ai est que cela doit être compatible avec Windows 7. Cela signifie que les partages et le streaming doivent fonctionner pour une machine Windows.

0voto

Publication de ceci afin de pouvoir le retrouver à l'avenir. Installation d'un Ubuntu Cloud VM (ajouter un disque supplémentaire de 1 To ou plus.)

Note : vous devez remplacer nom d'utilisateur par votre nom d'utilisateur.

Monter et formater le disque :

lsblk
sudo fdisk /dev/sdc
n
p
Entrez les valeurs par défaut pour le reste des options

Créer le système de fichiers

sudo mkfs -t ext4 /dev/sdc1

Créer un chemin de montage :

mkdir /home/username/data

Mettre à jour Fstab

sudo echo "/dev/sdc1 /home/username/data ext4 defaults 0 2" >> /etc/fstab

Installer les outils dont vous avez besoin :

sudo apt install vim screen htop sysstat curl wget
sudo apt install nfs-server samba

Mettre à jour les exports pour NFS (Je définis cela en fonction du sous-réseau, vous pouvez modifier si nécessaire)

sudo echo "/home/username/data 192.168.1.0/24(rw,no_root_squash)" >> /etc/exports
sudo exportfs -a

Créer une partage Cifs :

sudo vi /etc/samba/smb.conf
shift+g
o

Collez ce qui suit

[data]
comment = Data
browseable = yes
path = /home/username/data
guest ok = no
read only = no
create mask = 0700

Générer smbpasswd (Cela permettra aux hôtes Windows de se connecter via smb, à condition que nous les passons avec le compte nom d'utilisateur (sourire))

sudo smbpasswd -a nom d'utilisateur

Mettre à jour les autorisations si nécessaire :

sudo chown -R nom d'utilisateur:root /home/username/data

Télécharger des données (il s'agit d'un bon lot d'isos)

cd /home/username/data
wget -H -r --level=5 --restrict-file-names=windows --convert-links -e robots=off --no-check-certificate https://ftp.nluug.nl/os/Linux/distr/

0voto

Vijay Prema Points 456

J'ai créé un NAS basé sur Ubuntu avec un partage de fichiers basé sur Samba et Nextcloud et fonctionne sur Windows, Linux ou Mac. Je n'ai pas encore configuré un serveur de streaming "réel" (par exemple Plex), mais j'utilise Nextcloud qui est quelque chose comme un clone de Google Drive, ce qui permet de visualiser facilement des photos, de la musique et des vidéos via un navigateur web.

Mon NAS Ubuntu :

  • PC Intel NUC
  • Ubuntu Server 20.04 (sans interface graphique)
  • Disque externe RAID1 USB3 QNAP TR-002 (ce disque entier est partagé, partition ext4 chiffrée LUKS)
  • Samba (pour l'accès au partage de fichiers en réseau local)
  • Nextcloud (optionnel, pour l'accès cloud)
  • Firewall UFW (optionnel)
  • iDrive (optionnel pour la sauvegarde cloud de tous les disques, y compris le RAID USB3)

Configuration de Samba :

D'abord, j'ai principalement suivi ce guide pour configurer Samba pour les utilisateurs.

J'ai édité la configuration de samba (sudo nano /etc/samba/smb.conf) et effectué 2 modifications :

  1. Sous la section [global], j'ai ajouté inherit permissions=yes pour m'assurer que les autorisations pour les fichiers ajoutés sont correctes.
  2. Configurer mon dossier partagé en ajoutant à la fin comme suit :

    [mynas] comment = Le grand disque USB path = /media/usb0/ read only = no browsable = yes writable = yes create mask = 0640 directory mask = 0750 valid users = vijay hide files = /$RECYCLE.BIN/System Volume Information/thumbs.db/

N'oubliez pas de redémarrer Samba après les modifications :

sudo service smbd restart

Et si votre serveur a un pare-feu, n'oubliez pas de l'autoriser :

sudo ufw allow samba

Accès sur Linux : smb://192.168.1.2/mynas/

Accès sur l'Explorateur de fichiers Windows : \\192.168.1.2\mynas\

Dans mon cas, je dois me connecter en tant que "vijay" pour accéder aux partages, mais le mot de passe peut être enregistré sur le client de sorte qu'il n'est entré qu'à la première connexion.

Configuration de Nextcloud :

J'ai utilisé le paquet Snap qui est probablement le plus facile. J'évite généralement Snap, mais dans ce cas, cela a bien fonctionné. Vous pouvez également essayer Docker ou configurer manuellement si vous êtes un utilisateur avancé.

Pour la version Snap, j'ai simplement exécuté ce qui suit après l'installation pour autoriser l'accès au disque USB et aux ports :

sudo snap set nextcloud ports.http=81 ports.https=444
sudo snap connect nextcloud:removable-media

J'ai ensuite configuré un proxy inverse (Haproxy) et SSL pour un accès externe sécurisé via le web, mais cela dépasse le cadre de ce bref guide.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X