# Installer OpenMediaVault sur un Raspberry Pi {{INLINETOC}} Une unité **NAS** (**N**etwork **A**ttached **S**torage) est un ordinateur connecté à un réseau. Les utilisateurs de **NAS** peuvent accéder à leur **NAS** quand/où qu'ils se trouvent, et l'administrateur du **NAS** peut lui fournir plus de services à l'aide de nombreux programmes différents. Les utilisations les plus courantes du **NAS** ou du serveur domestique sont : - Sauvegarde automatique des données - Gérer et partager mes données sur internet - Vidéos en streaming - Télécharger et gérer les Torrents - Hébergement d'un blog personnel **OpenMediaVault** est une solution de stockage en réseau (NAS) basée sur **Debian** qui prend en charge le Raspberry Pi. En utilisant ce logiciel, on peut facilement convertir un Raspberry Pi en un NAS puissant qui prend en charge une variété de services différents. Prêt à l'emploi, le logiciel **OpenMediaVault** prend en charge **FTP**, **SMB/CIFS**, le serveur multimédia **DAAP**, **RSync** et propose même une prise en charge intégrée des conteneurs **Docker**. Il est également possible d’installer de nombreux plugins pour améliorer **OpenMediaVault** peut être beaucoup plus facile à utiliser que d'essayer de configurer chaque service individuel sur votre Raspberry Pi, comme **SAMBA** et **FTP**. Pour exécuter **OpenMediaVault**, il faut utiliser un Raspberry Pi 2B ou plus récent. L'tilisation d'un Raspberry Pi 4 ou plus récent est conseillée en raison de ses capacités d'E/S améliorées. ## Préparation du système d'exploitation Pour installer **OpenMediaVault** sur une carte Odroid, il faut utiliser **Debian** ou **Armbian** pour les SBC ARM. Cela est dû au fait qu'OMV est un système très complexe, il faut donc utiliser un système d'exploitation vérifié et validé par l'équipe OMV. ### Odroïde-HC4 Par défaut, **Petitboot** est préinstallé dans la mémoire flash SPI du HC4. On peut configurer le dernier système **Debian** en utilisant son **Petitboot** intégré. Voici les étapes simples pour installer **Debian** à l'aide du programme d'installation netboot: - 1. Après avoir connecté un moniteur, allumer le HC4 sans carte SD. - 2. Dans l'interface **Petitboot**, sélectionner **Exit to shell** et entrer `netboot_default` sur le shell. Il n'y aura pas de sortie mais, après être sorti du shell avec `exit`. peut voir les nouveaux menus d'installation d'Ubuntu et Debian. - 3. Insérer une carte SD pour l'utiliser comme disque où installer sur le système d'exploitation. - 4. Sélectionner l'installation netboot et suivre les procédures d'installation. Après toutes les étapes, l'invite pour se connecter au nouveau système **Debian** doit apparaitre. - 5. Se connecter au système et entrer les commandes suivantes pour accorder le privilège « sudo » au compte d'utilisateur normal (Modifier odroid par le nom de l'utilisateur normal). ``` su - usermod -aG sudo odroid ``` Pour **Debain Buster** le script d'installation de **Openmediavault** impose une mise à jour du noyau et configure uboot, mais le chargeur de démarrage est **petitboot**. Pour pouvoir démarrer sur un noyau basé sur u-boot, il faut supprimer le chargeur **Petitboot** incompatible fourni avec la carte. Depuis **Petitboot**, aller sur « Exit to shell » puis taper ces commandes pour supprimer **Petitboot** :\\ `flash_eraseall /dev/mtd0`\\ `flash_eraseall /dev/mtd1`\\ `flash_eraseall /dev/mtd2`\\ `flash_eraseall /dev/mtd3`\\ \\ Cela videra la mémoire flash SPI et démarrera à partir de SD au prochain démarrage.\\ \\ Pour restaurer Petitboot sur la carte, Télécharger `spiupdate_odroidhc4_20201112.img` à partir du ce [[http://ppa.linuxfactory.or.kr/images/petitboot/odroidhc4/|lien]] puis flasher l'image sur la carte SD. Démarrer avec la carte SD tout en appuyant sur l'interrupteur jusqu'à ce que la LED bleue s'allume, puis la mémoire flash SPI sera restaurée. ### Odroïde-HC1/HC2 Dans le cas de HC1/HC2, il faut installer **Armbian**. **Armbian** est l'un des plus grands distributeurs d'OS pour SBC. Ils fournissent des versions de système d'exploitation dédiées pour presque toutes les cartes Odroid. Ils fournissent non seulement un système stable, mais également de nombreux outils pour maintenir le système. Ceux-ci seront très utiles pour les débutants Linux. Voici les étapes simples pour installer Armbian OS. - 1. Télécharger la dernière image du serveur Debian [[https://www.armbian.com/odroid-hc1|ici]] - 2. Flasher ce fichier image sur une carte SD à l'aide de **rpi-imager** - 3. Allumer HC1/HC2 après avoir inséré la carte SD préparée. ## Configuration du serveur Headless {{page>notes:headless-mode}} ## Installer OpenMediaVault Se Connecter à l'appareil via SSH. Pour accéder à l'interface Web d'OMV, il est indispensable de connaître l'adresse IP du serveur:\\ \\ - On peut utiliser un scanner de réseau comme **nmap** : `nmap -v -sn192.168.1.0/24`\\ - Ou plus simplement sur le système fraichement installé on peut utiliser la commande suivante pour récupérer l'adresse IP: `hostname -I` Dans Armbian, le compte **root** par défaut est **root/1234**.\\ \\ `ssh root@192.168.11.49`\\ Si cela n'est pas permis il faut utiliser le compte d'utilisateur normal. Remplacez le nom d'utilisateur par le vôtre.\\ \\ Dans les systèmes Armbian, il faut effectuer la configuration initiale juste après la connexion. Avant d'installer **OpenMediaVault**, mettre à jour les packages existants en exécutant la commande suivante. ``` sudo apt update sudo apt upgrade ``` **OpenMediaVault** fournit un script pour faciliter l'installation. On peut installer tous les fichiers et packages nécessaires à l'aide de quelques lignes de commande simples. ``` wget -O omv_install.sh https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install chmod +x omv_install.sh sudo ./omv_install.sh ``` On peut également exécuter la commande en une seule ligne pour télécharger le script d'installation **OpenMediaVault** et l'envoyer directement dans **bash**: ``` wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash ``` Ce processus peut prendre un certain temps car le script doit installer de nombreux packages requis par le logiciel **OpenMediaVault**. Une fois le processus d'installation terminé, il est recommandé de redémarrer votre Raspberry Pi, en exécutant la commande suivante. ``` sudo reboot ``` ## Configuration d'OpenMediaVault Avec l'adresse IP du Raspberry Pi, accéder à l'adresse suivante dans une navigateur: ``` http://[RASPBERRYPIIPADDRESS] ``` Lors du chargement de l'interface Web **OpenMediaVault**, il sera demandé de se connecter pour pouvoir continuer. Le nom d'utilisateur par défaut est **admin** et le mot de passe par défaut est **openmediavault**. Une fois connecté, on est accueilli par le tableau de bord **OpenMediaVault**. Depuis ce tableau de bord, on peut contrôler divers éléments du logiciel **OpenMediaVault**. ### Modification du mot de passe OpenMediaVault par défaut L'une des premières choses à faire est de changer le mot de passe du compte administrateur **OpenMediaVault**. Le laisser par défaut permettra à n'importe qui d'y accéder rapidement. Pour modifier le mot de passe: - cliquer sur l'option `Paramètres généraux` dans le menu de gauche. - cliquer sur l'onglet `Mot de passe administrateur Web` - dans cet onglet, saisir le mot de passe souhaité. - Une fois terminé, cliquer sur le bouton `Enregistrer` pour enregistrer le nouveau mot de passe. ### Création d'un dossier partagé Dans cette section, on va voir comment créer un dossier partagé dans le logiciel **OpenMediaVault** sur le Raspberry Pi (un dossier partagé sera un emplacement sur le disque accessible via les différents protocoles de partage de fichiers): Pour commencer on va monter un système de fichiers externe dans **OpenMediaVault** (on utilise un lecteur portable de 1 To sur le Raspberry Pi). - ajouter un système de fichiers sur lequel le dossier partagé existera - dans la barre latérale, cliquer sur l'option `Systèmes de fichiers` - rechercher le système de fichiers dans le tableau et cliquez dessus. - une fois le système de fichiers sélectionné, cliquer sur le bouton `Monter` La prochaine étape consiste à créer un dossier partagé qui existe sur le système de fichiers nouvellement ajouté: - accéder à la page des paramètres des dossiers partagés en cliquant sur l'option `Dossiers partagés` dans la barre latérale. - sur cette page, cliquer sur le bouton `Ajouter`. Ce bouton fera apparaître une boîte de dialogue qui permettra de créer un dossier partagé. - à l'aide de ce formulaire, indiquer les informations du dossier partagé: - indiquer dans le premier champ, le nom du partage à définir. Ce sera également automatiquement défini comme nom du dossier. - indiquer dans le deuxième champ, le périphérique sur lequel on veut créer ce dossier - indiquer dans le troisième champ, le chemin d'accès au dossier partagé. Ce sera automatiquement le nom de partage de dossier. - définir dans le quatrième et dernier champ, les autorisations à appliquer au dossier, telles que le groupe d'utilisateurs qui doit être en mesure de lire et d'écrire dans le dossier. - Une fois tous les champs renseignés, cliquer sur le bouton **Enregistrer** en bas de l'écran. On doit maintenant avoir créé avec succès un dossier partagé sur le système de fichiers attaché. ### Activation de RSYNC Pour permettre l'utilisation du serveur **RSYNC** intégré il faut créer un fichier `/etc/rsyncd.conf` (même vide c'est sans importance):\\ \\ `touch /etc/rsyncd.conf`\\ `chmod 660 /etc/rsyncd.conf` Dans cette section, on va voir le processus d'activation du serveur **RSYNC** - dans la barre latérale, sous l'en-tête `Services`, cliquer sur `RSYNC`. - dans cette page, aller dans `Modules`: - ajouter des dossiers partagés, - sélectionner le nom d'utilisateur et le groupe sur lesquels seront mappé les fichiers, - ajouter un nom d'utilisateur de serveur et un mot de passe ( ce n'est pas le compte et le mot de passe linux, il sert uniquement pour les modules), - une fois que tout est configuré, cliquer sur le bouton `Enregistrer` (les paramètres du serveur sont envoyés dans ce fichier `/etc/rsyncd.conf`). - aller dans `Paramètres` pour activer le démon **RSYNCD** (on peut modifier le port d'écoute du démon et ajouter des directives de configuration supplémentaires). ### Activation de SAMBA/CIFS Dans cette section, on va voir le processus d'activation de **SMB/CIFS** et comment ajouter un partage: - dans la barre latérale, sous l'en-tête `Services`, cliquer sur `SMB/CIFS`. - dans cette page, cliquer sur le bouton `Activer` pour activer la prise en charge de **SMB/CIFS** sur le Raspberry Pi. - une fois activé, cliquer sur le bouton `Enregistrer` pour continuer. Avec **SMB/CIFS** désormais activé sur le Raspberry Pi, on peut ajouter un partage. (Les dossiers partagés ne sont pas automatiquement partagés sur les différents services) Pour ajouter un partage SMB: - cliquer sur l'onglet `Partages` - dans cet onglet, cliquer sur le bouton `Ajouter` - dans la boîte de dialogue « Ajouter un partage » qui s'ouvre, il faut prendre en compte plusieurs éléments: - **Dossier partagé**: sélectionner le dossier dans la liste des dossiers partagés disponibles. - **option Public**: en utilisant cette option, on indique si les utilisateurs non authentifiés peuvent accéder au partage (invités). - **option Lecture seule**: en utilisant cette option, on indique que les utilisateurs ne peuvent lire que le contenu du dossier partagé et non le modifier. - une fois que tout est configuré, cliquer sur le bouton `Enregistrer`. A certain moment, il est possible qu'une barre jaune suivante apparaître en haut de l'écran:\\ \\ `Pour que toutes nos modifications prennent effet, nous devons cliquer sur le bouton « Appliquer ».`\\ \\ Il faut donc appuyer sur le bouton `Appliquer` ### Ajout de nouveaux utilisateurs Dans cette section, ov va voir le processus d'ajout de nouveaux utilisateurs dans l'interface Web **OpenMediaVault**: - sous `Gestion des droits d'accès` dans la barre latérale, cliquer sur l'option `Utilisateur` - une fois dans ce menu, cliquer sur le bouton `Ajouter` - dans la boîte de dialogue qui s'affiche, on peut spécifier les différents détails pour le nouvel utilisateur, tels que son nom d'utilisateur et son mot de passe - une fois les informations entrées, cliquer sur le bouton `Enregistrer` ## Ajout de OMV-Extra.org Via l’ajout de plugins on peu également apporter des nouvelles fonctionnalité à OMV (serveur web type LAMP, Seedbox, DLNA / DAAP, gestion de librairie e-book via Calibre…) Dans les versions actuelles, le dépot de base n’est pas très fournit. Il faut donc en ajouter quelques un. Pour cela, le plus simple est d'installer **omv-extras.org**: - Télécharger le package correspondant à la version sur le site OMV-Extra.org - ensuite dans l’interface via le navigateur (hostname ou IP), cliquer sur `Système > Plugins > télécharger` - faire `Browse / Parcourir` pour charger le package téléchargé puis valider par `OK` - patienter puis dans la liste chercher `OpenMediaVault-Extrasorg x.x.x` - cocher puis faire `installer` - après le rechargement de la page, on doit avoir accès à nouveau menu `OMV-Extra.org` - on peut maintenant cocher tous les repos qui intéresse via les onglets `Primaire / Secondaire` et `Custom` Certains plugins non officiel peuvent bloquer le redémarrage. On peut aussi faire l’install en ligne de commande (CLI via Putty en SSH):\\ \\ `wget http://omv-extras.org/debian/pool/main/o/openmediavault-omvextrasorg/openmediavault-omvextrasorg_0.x.xx_all.deb`\\ `dpkg -i openmediavault-omvextrasorg_0.x.xx_all.deb`\\ `apt-get update` Si après avoir installé des plugins non compatible avec la version d’OMV l’interface web n’est plus accessible et que cette dernière vous “insulte” avec des messages d’erreurs du type: ``` Error #0: exception ‘Exception’ with message ‘Failed to open file js/omv/NavigationPanel.js.’ in /usr/share/php/openmediavault/htmlpage.inc:42 Stack trace: #0 /usr/share/php/openmediavault/htmlpage.inc(49): OMVHtmlPage->scanFiles(‘js/omv/Navigati…’, Array) #1 /usr/share/php/openmediavault/htmlpage.inc(70): OMVHtmlPage->scanFiles(‘js/omv/module/a…’, Array) #2 /usr/share/php/openmediavault/htmlpage.inc(186): OMVHtmlPage->scanDir(‘js/omv/module/a…’, Array, true) #3 /usr/share/php/openmediavault/htmlpage.inc(112): OMVWebGui->getJavascriptIncludes() #4 /var/www/openmediavault/index.php(37): OMVHtmlPage->render() #5 {main} ``` Pas de panique, il suffit de supprimer depuis la console tous les plugins externes avec ce petit script qui résout le problème : ``` wget http://filebin.ca/skiDELUVNpl -O omv-0.5-upgrade-cleaning_v0.7.6.sh chmod +x omv-0.5-upgrade-cleaning_v0.7.6.sh ./omv-0.5-upgrade-cleaning_v0.7.6.sh ``` Opération réalisé par ce script : - Supprime tous les plugins externes. (Purge Website et omv-plugins.org) - Renomme les fichiers **.js** dans `$OMV\_DOCUMENTROOT_DIR/js/omv/module/` et `admin/` - Déplace tous les fichiers **.deb** et **local.list** dans `/var/cache/whatever` - Déplace **old-omvplugins.org-lists** et **jhmillers.list**