Picture of Ultimate Pi Home Server

Welcome reader.

First please note: This instructable can be done within a day, but a weekend is certainly recommended.

In this instructable I hope to teach you key skills involved with setting up and configuring a Linux Server. The knowledge used here can be applied to almost all PC architectures so if you don't own a Pi
(Why not dude?) or it's tied up in another project, any old or unused PC will work. In more detail the main skills taught will be:

  • Burning an ISO image to an SD for the Pi
  • Installing an OS
  • Setting up A web server
  • Setting up An SQL instance
  • Deploying a custom cloud network
  • Managing users for the cloud network
  • Setting up a SAMBA File sharing network, which will integrate into an established windows based home or office network
  • Controlling SAMBA users
  • Establishing a static IP whilst using a non-static IP internet connection
  • Using Webmin Console to install packages
  • Using Command line terminal to install packages
  • Carrying out basic commands such as rebooting (terminal)
  • Editing system files with Nano terminal based editor
  • Permanently mounting hard drives within the Linux file system table via webmin
  • Understanding the principal of the Port forwarding function on a home router
  • Setting up a web interfaced bit torrent manager
  • Being an overall IT nerd.

If you're interested then carry on reading. If not, give it a try; you may discover a new hobby.

As the above list demonstrates there's a lot to learn. I definitely feel this is a weekend project. I've followed this process several times and it takes a couple of days at least. Its good to take long breaks because your eyes may begin to become strained and you may suddenly become unenthusiastic about the whole thing.  This instructable offers functions of many different store purchasable products, such as:

The server we'll setup will cost far less than each of these services in the long run and only a fraction of the cost of the combined services. Setting up your own server is not only custom and cheap, its very rewarding. I will be a happy guy if somebody benefits from what this instructable contains or become inspired by what I have done. It took ages to plan and write this instructable. If you learn anything at all or feel this instructable is well written or well documented, please vote for me in the Weekend Projects Contest or the I could make that contest.

I would also like to point out that this is not a comprehensive tutorial on designing a server case. There are details of my case on step 3, however this guide is intended to be a comprehensive software tutorial. So if you get stuck or feel a step isn't too clear, just let me know and i'll be happy to help.

A few tips: Because this takes more than one day, don't just fall asleep and forget what you were planing on doing next. Instead have a pile f post-it notes. This way before you ZzZzzzz... you can jot down anything that needs doing during the next session. I had loads. All over the walls, floors, chairs, desks - you name it! Okay slight exaggeration, but on a serious note they do help. I did use a full stack.  Another tip would be to follow the steps on order. Don't just think "Hmm I like the sound of my own cloud network lets do that first!" The steps are in such an order that each before is most likely required for the current, if that makes sense. Just stick to the order, it'll make life easier. A final tip: don't be limited to what is taught here. Do Think of this as a base for inspiration. Adding more services such as those listed on the turnkey website is easily done using the search APT function within the Webmin Package manager.

Okay, Confused? Then let's learn...


 Caution! This instructable contains 30 steps. Proceed at your own risk. 

Remove these adsRemove these ads by Signing Up
1-40 of 270Next »


To anyone having issues with the Turnkey OS listed above, follow the link below and it will get you well on track to diving into this project.

basically, install raspbian and patch turnkey.

silesb2 days ago

User Password failure raspi-config

"There was an error running option2: Change User Password"

Help needed


silesb5 days ago

Eth0 works but I can not configure wlan0/ Also how do I enter the required password to reach my router? Help greatly appreciated



I was wondering if we can use Raspbian OS to run this project or do we really need the suggested OS (Turnkey).

Thanks for your input.

jed.chaos2 months ago

Everything was cool up until this point. Now I can't go any further. After performing this step I just get session closed. Typing: nano /etc/hosts doesn't do anything. Please help.

Fixed, I hooked up the monitor and keyboard to the Pi again. I escaped from the blue appliances menu and entered command line mode, where I was able to login using "root" and "mypassword". From here I could enter the "nano /etc/hosts" menu and change from "core" to "mynewname". Once doing this I was able to login again via ShellInABox.

Thank you so much!! Was having the same problem, now it is fixed.

AndyRReyna21 days ago

I'm having an issue installing OwnCloud. I get the following error:

Can anyone help? I have follewed the instructions to a "T"

owncloud error.JPG

Try tu run "sudo chmod 770 *" and "chown your_user:your_user *" on that folder from shell login with user on which you run that owncloud server. (obviously "your_user" is your's user name on raspi, default pi)

root already has ownership. In fact, I uninstalled Owncloud and recreated all databases. I mkdir new folder with the chmod of 0770 but yet still getting same error. I'm Puzzled to say the least . Any Thoughts???

I have done that and still getting same results. I'm leaning towards the NTFS drive. Perhaps I should covert it to Fat32 and see what happens.

BrianF41 month ago

I tried this on a Pi B+ model and nothing... not even a twitch... Will not boot or do anything. Ethernet lights are out and it just sits there.

Tried 2 different class 10 cards and using a 2a power supply..

Anyone else have this issue?

ChuyA BrianF41 month ago

It booted with me once, but then when it got to the first question, "Enter your password" it froze and hasn't booted since.

BrianF4 ChuyA1 month ago

It sucks because this is the only Howto I found that tells you how to setup both a web AND file server on the same Pi.

ChuyA BrianF41 month ago
Since I last commented, I created a usable image for us and whoever needs it. I will comment back once I extract my image. Should be this weekend.
BrianF4 ChuyA1 month ago

Thank you!!

ChuyA BrianF427 days ago

Okay, I finally finished. Please test this out and let me know if it works for you.

BrianL8 ChuyA20 days ago

Does this image allow input devices? also, where on that site do i find the download?

ChuyA BrianL820 days ago
Click on "image". The word is a hyperlink. Under image is (my complete image). All this image is, is the latest raspberry pi os with owncloud, mysql, etc. Its also optimized. Took me about 2 weeks to get past all the problems lol I appreciate any feedback.
BrianL8 ChuyA20 days ago

tried downloading it twice now. when i unzip i get a corrupted image error. once with the native download manager, and the second with a free download manager.

ChuyA BrianL820 days ago
Okay, going to check on this tonight. Ill report back after. Thanks
BrianL8 ChuyA19 days ago

" CRC failed in "owncloud.img". File is broken." was the actual error twice, but thank you for helping me out so far.

BrianL8 BrianL820 days ago

CRC failed in "owncloud.img". File is broken.

raf802 BrianF427 days ago

I had the same issue. I opened the config txt file on the sd card and removed the # on the first option (hdmi safe mode) and I got it working.

raf802 raf80227 days ago

And I have just found that it does not recognise any input device -.-

dev131 month ago

Nice, well written article.

I tried to follow the steps, went upto step6, and the Pi B+ I have (installing OS)

B+ does not recognise the keyboard at all...I am stuck at enter password screen.

jrogers36 dev1323 days ago

I also had that problem, try a different power source, I think it doesnt have enough power to supply to the keyboard. Try plugging in a phone charger to a wall socket

colinkhalid8 months ago

You can solve the network config error by editing the /etc/network/interfaces file just after you copy the image to your SD card while it is still in the card reader attached to your PC. As root or administrator open the /etc/network/interfaces file and add the following the the top of the file # UNCONFIGURED INTERFACES

After this put the SD in the RPi and all should be well

information found here

This was THE ANSWER! Thank you.

So now, after I have the possibility to edit the interfaces file via the network settings menu, what should I enter to be officially headless? DHCP or static? If static, should I also set this ip on my router by the Pi's MAC address?

"Just input logical answers" LOL this incstructable tells us how to unwrap and then skip this part TROLOLOL:D

mstruble shmaic5 months ago

Did you ever find a solution to this problem?

I can't seem to find a way to open up the /etc/network/interfaces file while the SD card is plugged into my PC. Nor what the proper information to put under the DHCP / Static fields when that comes up.

Any help would be appreciated!

Im also struggling to find the /etc/network/interfaces file any help would be greatly appreciated and Im sure even if I solve this others would find it useful :)

vevector28 days ago

Thanks for the great guide, really simple to follow through, although some errors! I had a lot of trouble getting the onCloud service to work, so some refinement might be needed there, and you forgot to mention the extraction of the NoPI package before the cd.

Also, at the beginning you instructed us to ignore the SSL/ HTTPS warning in our browser, saying we would fix that later, however you never returned to the topic. Can you recommend any web sources for info about this?

El_Axelinio1 month ago

is anyone else having problems with adding the Samba share to a next work drive?
im gettin windows cannot access \\(my servers man)\(share mane).
dose anyone have any ideas why?
everything else is working like a dream, just not this.

(my servers name)*
(share name)*

payte2 months ago

I did this instructable and it was great!

One question: Does anyone know how to update owncloud after finishing this instructable? The version on webmin (for me) is 4.0.4 (I think) and I wanted to update to 7.0.2 so I could add more apps. Please help!

Thank you!

jmenezes payte1 month ago

Try "sudo apt-get update owncloud" with out the quotation marks of course and then type your login/admin password and you should be set. If not then use "sudo apt-get update owncloud-server" Make sure to kill the instance of owncloud first!

Good luck! :)

Hi all, I'm having a couple of problems with the install late in the game.....

1. I can't get Transmission to work; I've got it installed on the Pi, I've got everything configured, but when I try and upload a file from my laptop to the Pi using the Transmission web GUI, nothing uploads and I eventually get an error message saying that the file couldn't be uploaded. I've got it listening on port 51413 and it's listed as Open, and I've got port forwarding checked, both in the Settings --> Network tab.

2. I've got the NoIP software installed on the Pi, but when I try to go to, nothing happens and I get an error message saying the webpage isn't available.

I'm so close/within spitting distance of having everything up and running and I don't want to quit now. If anyone's got any ideas on what I'm doing wrong/how to fix it, it'd be greatly appreciated!

More information:

1. I made sure to chmod 777 the target download folder, still didn't do anything as far as Transmission success.

2. When I tried uploading a file from my laptop to my Pi using qBittorrent, I got the following message:

09/09/2014 09:26:35 - Unable to decode torrent file: '/tmp/qBT-XM7094.torrent'

09/09/2014 09:26:35 - This file is either corrupted or this isn't a torrent.

Am I just trying to transfer plain old files when they should be a different type? I've tried moving .jpgs, .odts, etc.

Whelp, I made a 'test' file, Test.torrent, and tried uploading that, but still no go........

Some progress: I dl'd the torrent for OpenOffice to my laptop and then used both qBittorrent and Transmission to try uploading that to my Pi; a download/transfer progress bar showed up on both, but it just hung and nothing else happened/didn't actually download to my Pi. So I think I've got at least my initial problem with file type solved.

1-40 of 270Next »