NOTE: These instructions were made for Raspberry Pi 3. From my experience these will not work on a Raspberry Pi that does not have ARM7.

Have you always wanted your own NAS, but don’t want to spend the money on it? Have an old Pi laying around and don’t know what to do with it? You have many old harddrives laying around and always have to sift trough them to get the correct files?

Install OpenMediaVault, a NAS solution with a heap of services (ssh, ftp, smb, torrent clients, …) and tons of plugins. While a Pi is not designed for running a NAS, it is very well capable of doing so.

NOTE: if you are having trouble, refer to the video that explains all this in more detail.

Let’s stat with a standard installation of raspbian jessie (I choose jessie lite, without desktop environment). Flash it on your SD card as usual. With the new release of jessie, ssh is disabled by default. Put a file called “ssh” (no file-extension) on the FAT32 partition of your SD card (see here for more info).

The boot partition on a Pi should be accessible from any machine with an SD card reader, on Windows, Mac, or Linux. If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file. SSH can still be turned on or off from the Raspberry Pi Configuration application or raspi-config ; this is simply an additional way to turn it on if you can’t easily run either of those applications. – http://raspberrypi.org

Installation

NOTE: during the installation process the ssh access for the user pi will be disabled.

If you log out of your ssh session during the installation you don’t have a way of going back in over ssh. Access will be restored from the OMV GUI.

Now we can start installing OMV. Put the below scripts in 2 different .sh files in the home folder of the pi user (/home/pi). Note that you may need to add execution permission to the scripts – using chmod chmod +x one.sh

cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list deb http://packages.openmediavault.org/public erasmus main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus main ## Uncomment the following line to add software from the proposed repository. # deb http://packages.openmediavault.org/public erasmus-proposed main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-proposed main ## This software is not part of OpenMediaVault, but is offered by third-party ## developers as a service to OpenMediaVault users. # deb http://packages.openmediavault.org/public erasmus partner # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus partner EOF 1 2 3 4 5 6 7 8 9 10 11 cat << EOF >> / etc / apt / sources . list . d / openmediavault . list deb http : //packages.openmediavault.org/public erasmus main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus main ## Uncomment the following line to add software from the proposed repository. # deb http://packages.openmediavault.org/public erasmus-proposed main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-proposed main ## This software is not part of OpenMediaVault, but is offered by third-party ## developers as a service to OpenMediaVault users. # deb http://packages.openmediavault.org/public erasmus partner # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus partner EOF

export LANG=C export DEBIAN_FRONTEND=noninteractive export APT_LISTCHANGES_FRONTEND=none apt-get update apt-get upgrade apt-get --allow-unauthenticated install openmediavault-keyring apt-get update apt-get --yes --force-yes --auto-remove --show-upgraded \ --no-install-recommends \ --option Dpkg::Options::="--force-confdef" \ --option DPkg::Options::="--force-confold" \ install postfix openmediavault # Initialize the system and database. dpkg-reconfigure openmediavault omv-initsystem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 export LANG = C export DEBIAN_FRONTEND = noninteractive export APT_LISTCHANGES_FRONTEND = none apt - get update apt - get upgrade apt - get -- allow - unauthenticated install openmediavault - keyring apt - get update apt - get -- yes -- force - yes -- auto - remove -- show - upgraded \ -- no - install - recommends \ -- option Dpkg :: Options :: = "--force-confdef" \ -- option DPkg :: Options :: = "--force-confold" \ install postfix openmediavault # Initialize the system and database. dpkg - reconfigure openmediavault omv - initsystem

This will add the repository to your sources, install some dependencies and initialize OMV. (original source)

Execute it with:

sudo ./one.sh sudo ./two.sh 1 2 sudo . / one . sh sudo . / two . sh

NOTE: Script one should NEVER be executed again. This will cause problems in your sources file.

Now you can navigate to the IP address of your pi (ifconfig command)using a browser (no port is required, OMV runs by default on port 80).

Usage

Default login credentials are admin:openmediavault. You can now connect to the gui and experience OMV in all its glory. Format your external drives to a file format for Linux. OMV can handle this the best by default and it will increase your speed drastically. (note that only Linux based computers can read this by default.)

After OMV has picked up your drive, you have to mount the file system. If you are having issues, have OMV format your filesystem by manually unmounting the drive, creating a new filesystem via the GUI and mount it.

Once that is done you are free to create folders, configure them for samba, manage your users and so much more.

OMV-Extras

Enhance your OMV experience using a bunch of plugins. omv-extras is the best library for all of them.

Download the .deb file of OMV-extras. In the plugins section choose upload, and upload your .deb file. Install the openmediavault-omvextrasorg plugin which will allow you to have access to all the plugins you would ever need! (note that you may need to click “check” after installing to ensure the plugins are being picked up).

Conclusion

You now have a PiNAS. A Raspberry Pi running NAS software which allows you to manage your shared folders on your network, manage user access and so much more!