Build Your Own NAS Appliance

Building your own requires hardware compatible with Ubuntu Server and some familiarity with a command-line interface. There is no graphical user interface after installation is complete. The following list of parts will handle a simple NAS appliance pretty easily.


HardwarePart NumberEstimated Cost
In-Win Development BM639 mini-ITX case with 160-watt power supplyIW-BM639.AD160TBL $56
Gigabyte motherboard with two gigabit network portsGA-J1900N-D3V 89
8gb Kingston ValueRAM DDR3L SODIMMKVR16LS11/8 77
3tb WD Green hard driveWD30EZRX 112
ASUS internal SATA DVD writerDRW-24B3ST 28
Total: $362

Request A NAS Appliance


Installation Instructions

This assumes you have some technical knowledge. Hardware may not always come with instructions that are clear if this is the first time you're building a computer.


Download the latest .ISO file from the Ubuntu web site and burn the image to a CD. After the computer is built, boot the computer from the CD to install Ubuntu Server.



The first few questions will be about language preferences and location. Then, you'll be asked for the computer's hostname. The default is ubuntu. It's best to keep it short and make sure it's unique on the network. The IP address is automatically assigned by a DHCP server.



Enter the first user's full name. In this example, NAS was used.



The lower-case username, nas, is automatically generated from the full name and you're given the opportunity to change it.



Create a password appropriate for the situation. A NAS appliance used for business purposes or to store sensitive information should have a strong password like a 3-word phrase with spaces, a capital letter on one of the words, and punctuation. If it's used on a home network for convenience, the password can be a little more relaxed.



If you used a weak password, you'll be asked if you're sure you want to use it.



You have the option of encrypting your home directory. If the shared files will be under the home directory for this user, this option will encrypt the shared files.



A time server will be contacted to check the clock. Make sure the time zone is correct.



When you get to the partitioning option, select the guided option to use the entire disk. This assumes you have no data on the disk you're using for the NAS appliance.



Select the disk to use. If there's more than one, be careful! This installation procedure will clear all existing data.



Write changes to disk to continue.



If you use an HTTP proxy to access the internet, enter the proxy information. Otherwise, leave it blank.



Select the option for updates. The default setting requires you to manually install updates.



Leave all the software unchecked in the software selection and continue with just the core of the system installed.



Make sure GRUB is installed, unless you already have another operating system on the same computer.



When the installation is done, remove the CD and continue. The computer will restart.



At the ubuntu login: prompt, log in using the username and password you entered during installation.



To update the list of available packages, use the sudo apt-get update command. You may be asked for a password since you're using sudo.



To upgrade to the latest versions of your installed software, use the sudo apt-get upgrade command. Using sudo right away, again, should not prompt you for a password. It'll list the packages to be upgraded and ask if you want to continue.



If you would like to log into Ubuntu Server using SSH, use the sudo apt-get install openssh-server command to install OpenSSH Server. It'll list the packages to be installed and ask if you want to continue.



Install Samba using the sudo apt-get install samba command. It'll list the packages to be installed and ask if you want to continue.



Add an SMB password for the nas user using the sudo smbpasswd -a nas command. To remove this password, use the sudo smbpasswd -x nas command. This is the password that will be used when accessing the NAS appliance from Windows.



Check your current directory using the pwd command to make sure you're in your home directory. Then, create a folder to share using the mkdir sharedfolder command. This will be used to create the share. Other shares can be created (mkdir anotherfolder, mkdir sharedpictures, etc.). Use the ls command to list the folders in the directory.



Use a text editor (vi, nano, etc.) to add the share information to the end of smb.conf. For example, the command sudo nano /etc/samba/smb.conf will open nano and the file for editing. When done editing with nano, press Ctrl+X to exit. You'll be asked to save changes.



The format for share information should be:

[Share Name]
path = /home/username/foldername
valid users = username, username
read only = no


If you want to use SSH to log into Ubuntu Server, use PuTTY or another SSH client and the hostname or the IP address of the NAS appliance. If no IP address was shown when you logged in, use the ifconfig command to display the network interface configuration and look for inet addr under eth0 or eth1 for the IP address.


To get to the shared folder from Windows, use Windows File Explorer to browse to the address of the NAS appliance (for example, \\ubuntu).



When you connect to the NAS appliance or try to open one of the shares, it may ask for the username (one of the valid users listed in smb.conf) and that user's SMB password.



Inside the share, you should be able to create folders and save files if read only is set to no in smb.conf. If you map the drive in Windows, you should also be able to see the available drive space without having to log in to Ubuntu Server and use the df command.



For more advanced information or to have a NAS appliance built for you, contact your tech.