60
(/files/deriv/FVQ/YDJS/HKPXB5RM/FVQYDJSHKPXB5RM.LARGE.jpg) (/files/deriv/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg) About This Instructable License: 106,768 views 921 favorites (/member/DrWilson/) DrWilson (/member/DrWilson/) Follow Student, Manchester UK. Usually i'm making things - electronics, computer programming, woodwork, DIY and construction. Follow me for awesome stuff. 146 Bio: (/id/Super-Delicious-Chocolate- Sponge-Sandwich) (/id/Extreme-Loft-Conversion) More by DrWilson Ultimate Pi Home Server by DrWilson (/member/DrWilson/) (/contest/icouldmakethat/) + Collection Download (/id/Ultimate-Pi-Based-Home-Server/?download=pdf) 30 Steps Favorite (/id/Ultimate-Pi-Based-Home-Server/) (/) let's make share what you make > (/about/submit.jsp) (/) Explore (/tag/type-id/) Create (/about/submit.jsp) Contests (/contest/) Community (/community/) Login (/you/)

Ultimate Pi Home Server

Embed Size (px)

Citation preview

Page 1: Ultimate Pi Home Server

(/files/deriv/FVQ/YDJS/HKPXB5RM/FVQYDJSHKPXB5RM.LARGE.jpg)

(/files/deriv/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg)

About This Instructable

License:106,768 views

921 favorites

(/member/DrWilson/)

DrWilson(/member/DrWilson/)

Follow

Student, Manchester UK. Usually i'mmaking things - electronics, computerprogramming, woodwork, DIY andconstruction. Follow me for awesome stuff.

146

Bio:

(/id/Super-Delicious-Chocolate-Sponge-Sandwich)

(/id/Extreme-Loft-Conversion)

More by DrWilson

Ultimate Pi Home Server by DrWilson (/member/DrWilson/) (/contest/icouldmakethat/)

+ Collection Download (/id/Ultimate-Pi-Based-Home-Server/?download=pdf) 30 Steps Favorite (/id/Ultimate-Pi-Based-Home-Server/)

(/)

let's make

share what you make >

(/about/submit.jsp)

(/)

Explore (/tag/type-id/) Create (/about/submit.jsp) Contests (/contest/) Community (/community/)Login (/you/)

Page 2: 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 PiInstalling an OSSetting up A web serverSetting up An SQL instanceDeploying a custom cloud networkManaging users for the cloud networkSetting up a SAMBA File sharing network, which will integrate into an established windows basedhome or office networkControlling SAMBA usersEstablishing a static IP whilst using a non-static IP internet connectionUsing Webmin Console to install packagesUsing Command line terminal to install packagesCarrying out basic commands such as rebooting (terminal)Editing system files with Nano terminal based editorPermanently mounting hard drives within the Linux file system table via webminUnderstanding the principal of the Port forwarding function on a home routerSetting up a web interfaced bit torrent managerBeing 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:

Dedicated Amazon EC2 turnkey servers (http://www.turnkeylinux.org/docs/ec2)Belkin routers that offer built in apps (http://www.belkin.com/networking/apps/)Online cloud services such as Google Cloud (https://cloud.google.com/products/cloud-storage)NAS servers such as this (http://www.amazon.co.uk/Buffalo-LinkStation-Network-Attached-Storage/dp/B000ZNUZAM).

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.

Related

See More (/tag/type-id/?q=)

(/files/deriv/F05/V686/HKM90SZZ/F05V686HKM90SZZ.LARGE.jpg)

(/files/deriv/F37/NHQW/HJF2JXNB/F37NHQWHJF2JXNB.LARGE.jpg)

(/files/deriv/FIW/6KLY/HJF2JXN7/FIW6KLYHJF2JXN7.LARGE.jpg)

(/id/Instructables-Google-Chrome-Theme-v10-Created-By-)

raspberry pi (/tag/type-id/category-

technology/keyw ord-raspberry pi/)

server (/tag/type-id/category-technology/keyw ord-

server/)

linux (/tag/type-id/category-technology/keyw ord-

linux/)

cheap server (/tag/type-id/category-

technology/keyw ord-cheap server/)

cloud (/tag/type-id/category-technology/keyw ord-

cloud/)

port forw arding (/tag/type-id/category-

technology/keyw ord-port forw arding/)

terminal (/tag/type-id/category-technology/keyw ord-

terminal/)

Tags:

(/id/Raspberry-

Raspberry Pi: MinecraftServer (/id/Raspberry-Pi-Minecraft-Server/)by chrisgoad3882

(/member/chrisgoad3882/)

(/id/Turning-

Turning your Raspberry Piinto a personal web server(/id/Turning-your-Raspberry-Pi-into-a-personal-web-serv/)by GraziCNU

(/id/Host-

Host your website onRaspberry pi (/id/Host-your-website-on-Raspberry-pi/)by sajingeo (/member/sajingeo/)

(/id/Raspberry-

Raspberry Pi - Jack of alltrades. (/id/Raspberry-Pi-Jack-of-all-trades/)by Computothought

(/member/Computothought/)

(/id/Connect-

Connect Raspberry Pi toProjector or TV (/id/Connect-Raspberry-Pi-to-Projector-or-TV/)by tim.ding (/member/tim.ding/)

Page 3: Ultimate Pi Home Server

Step 1: Plan

First things first - Plan. There are many aspects involved with planning, and often when people over

plan, they quickly lose interest in the actual task.

So, a brief plan is as follows.

Components:

1 x Raspberry Pi (B model)

1 x External USB 2.5' HDD (Capacity of your choice, mine is 1TB)

1 x Raspberry Pi Case of your choice (Mine is a cheap £3 laser cut, clear acrylic, self

assembly kit from )

2 x Heat sinks for the processor on the Pi (Mine were free with the case)

1 x Ethernet Cable

1 x USB cable for the hard drive

1 x SD Card (8GB or above strongly recommended. Also ensure you copy everything off the

card as all data will be deleted.)

Relevant power supplies for the Pi and HDD

(/files/deriv/F37/NHQW/HJF2JXNB/F37NHQWHJF2JXNB.LARGE.jpg)

(/files/deriv/FI1/7QBS/HJGE1N7Y/FI17QBSHJGE1N7Y.LARGE.jpg)

Page 4: Ultimate Pi Home Server

OS:

We will be using the operating system image from Ghoulmann

(http://gonzotech.tumblr.com/post/35816630624/server-core-for-raspberry-pi).We'll

download it later. The image is based on Raspian, which is a Debian flavor adapted for the Pi, that

runs turnkey out the box.

Plan done. Proceed .

Step 2: Features

There are many (http://www.turnkeylinux.org/all) available features avaiable to add to a home server,

some free, some paid.

I have narrowed down a shortlist of free features that you will be able to add to your home server

following the steps in this instructable .

Webmin Admin Interface (This could be considered the heart of the operation)

(/files/deriv/FDO/LA0F/HJGE1N63/FDOLA0FHJGE1N63.LARGE.jpg)

(/files/deriv/F9L/CJLR/HJFSY8CS/F9LCJLRHJFSY8CS.LARGE.jpg)

Page 5: Ultimate Pi Home Server

Webmin is a state of the art server management web user interface. It allows the installation,

management and control of the various services you may wish to add to the server. The interface is

great fore first timers as it minimalizes the required use of the command line interface.

More Info (http://www.webmin.com/)

Shell In A Box (This could be considered the backend)

'Shellinabox' is a web based interface for SSH'ing into the server. It runs on java and CSS so it's

compatble with all the best browsers without any additional plugins.

More Info (https://code.google.com/p/shellinabox/)

Samba Windows File Server

Samba is software that can be run on a platform other than Microsoft Windows, for example, Linux.

Samba uses the TCP/IP protocol that is installed on the host server. When correctly configured, it allows

the host to interact with a Microsoft Windows client as if it is a Windows file and print server.

More Info (http://www.samba.org/)

ownCloud

ownCloud gives you universal access to your files through a web interface. It also provides a platform to

easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic

editing right on the web. ownCloud is extendable via a simple but powerful API for applications and

plugins. Many of which are avaiable here (http://apps.owncloud.com/).

More Info (https://owncloud.com/)

Transmission BitTorrent WebUI

Transmission is designed for easy, powerful use. It's web user interface allows torrent's to be

remotley added, then downloaded to the default torrent location. This location ca the be shared via

samba/ownCloud to allow remote streaming of downloaded content.

More Info (http://www.transmissionbt.com/)

Apache Webserver

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for

modern operating systems such as Linux. The goal of this project is to provide a secure, efficient and

extensible server that provides HTTP services in sync with the current HTTP standards.

More Info (http://www.apache.org/)

PHP5

PHP is a server-side scripting language designed for web development but also used as a general-

purpose programming language. PHP is now installed on more than 244 million websitesand 2.1

million web servers. This is required for owncloud and any other webpages you wish to host.

More Info (http://www.php.net/)

MySQL Database

Many of the world's largest and fastest-growing organizations including Facebook,

Google and Adobe rely on MySQL to save time and money powering their Web sites. That

why we'll be using it. It's also required for ownCloud.

More Info (http://www.mysql.com/)

no-ip Sync Client

The no-ip sync client will allow us to give the server a 'static address', such as "yourname.no-ip.biz". The

sync client will update the current ip your ISP's allocated you every ten or fifteen minutes. You must first

create a free account at no-ip.biz, but more on that later.

More Info (http://freedns.no-ip.com/)

Once you've understood the purpose of each element of the server, continue to the nextstep.

Step 3: Hardware Setup

Page 6: Ultimate Pi Home Server

The hardware basics are a Pi, SD card and power supply. You'll also need your LAN Ethernet cable.

When I began I used a basic Pi case zip tied to my 1TB portable USB HDD.

My ideas developed. In my setup I wanted two mounted hard drives to offer more storage. One was a

Segate desktop 3.5" 320GB HDD. The other was a Turo Portable 2.5" 1TB HDD.

This offers loads of storage so I can carry out backups and so on.

When I decided on what hardware I wanted to add on, I came to an instant realization that some sort of

case would be necessary. Due to the flashing LED's that indicate status on all three main hardware

parts, I knew I wanted something partly transparent. I also wanted the case to look the part. As I

struggle for desk space all too often, I also decided to make the server a wall mountable unit. This way

I would have a self contained, Transparent server case.

When designing your case you can be as basic or as simple as you wish. For me, it was very satisfying

to have an end product that expressed some professional quality.

(/files/deriv/F05/V686/HKM90SZZ/F05V686HKM90SZZ.LARGE.jpg)

(/files/deriv/FDG/YXHR/HKM90SZU/FDGYXHRHKM90SZU.LARGE.jpg)

(/files/deriv/FPB/IIHX/HJF2JXN1/FPBIIHXHJF2JXN1.LARGE.jpg)

(/files/deriv/F0B/11PG/HKM90SZW/F0B11PGHKM90SZW.LARGE.jpg)

(/files/deriv/FVL/LVCU/HKM90SZX/FVLLVCUHKM90SZX.LARGE.jpg)

(/files/deriv/FRX/EI0K/HKM90SZV/FRXEI0KHKM90SZV.LARGE.jpg)

Show All 8 Images

Page 7: Ultimate Pi Home Server

To manage power, I simply mounted a 3-way socket into the case. I then spliced the end and soldered

it onto an appropriately rated switch and IEC socket. This again leaves a pro like finish. The

transformers within the enclosure do not exceed the rated current of the wires. For additional finish, I

mounted an Ethernet and USB socket to the top. By using USB hub inside, I am able to host an

external socket. This is useful as USB drives can be plugged in when necessary without having to

undo the 6 sprung screws that hold the hinged door closed. Pictures are annotated below.

Step 4: Before we begin...

Before we begin, I'd just like to give you a quick idea of the planning and note taking I did. Below are

some of the notes pages I made during the process. There are also a few of the many post-it notes

that are more readable than others. They are still quite scruffy however. Due to the pace of writing and

times of night, the writing isn't so desirable, but it just gives a quick idea. I may also add: some notes

here are not relevant. I was also setting up my port forwarding for a web address. This involved

forwarding subdomains to specific ports within the router manager (port forwarding) and the DNS file

editor with my domain name provider (godaddy.com).

Note: Monsters are contagious, do not stare for long.

(/files/deriv/F3I/JI74/HKJRZI9O/F3IJI74HKJRZI9O.LARGE.jpg)

Page 8: Ultimate Pi Home Server
Page 9: Ultimate Pi Home Server

Step 5: Burn The Image

The first step is often found tricky and complicated. I aim for it to be quick and simple, so we

can move onto the fun part sooner.

First download the Win32 Disk Imager from here

(http://downloads.sourceforge.net/project/win32diskimager/Archive/win32diskimager-v0.8-

binary.zip?r=&ts=1374499756&use_mirror=netcologne)

This will allow us to burn an operating system image to our SD card.

Next download the ISO of the Raspian Turnkey mix from here

(https://github.com/downloads/ghoulmann/Raspliance-Core/raspliance-core-02.img.tar.gz). Credit to Ghoulmann (http://gonzotech.tumblr.com/post/35816630624/server-core-for-raspberry-pi) for the image.

Turnkey is an optimized OS package that is perfect for a home server.

The basic package includes Webmin (http://www.webmin.com/) Dashboard and Shell In A Box

(https://code.google.com/p/shellinabox/).

Extract the downloaded file and open the application called Win32DiskImager.exe

When the application opens, we need to do two things. Firstly locate the downloaded ISO imagefile. by Clicking the file icon.

Next ensure the correct drive letter is selected by cross comparing the drive letters in My Computerwith the ones available in the dropdown box.

Finally Click Write.

A message informing that the drive can be corrupted will appear. Don't panic, this is standardprocedure, just click Yes.

(/files/deriv/F4A/KZB9/HJGE1N7S/F4AKZB9HJGE1N7S.LARGE.jpg)

(/files/deriv/FIV/UIW8/HJF2JXY2/FIVUIW8HJF2JXY2.LARGE.jpg)

(/files/deriv/FTM/J2S7/HJF2JXY1/FTMJ2S7HJF2JXY1.LARGE.jpg)

(/files/deriv/F6Y/Z7J9/HJF2JXXT/F6YZ7J9HJF2JXXT.LARGE.jpg)

Page 10: Ultimate Pi Home Server

The Image will the begin to write. It will take about eight minutes in total. Once the image has beenwritten to the SD card, a Write Successful Dialog appears. Close it off and place the SD into yourPi.

Step 6: Install The OS

Installing the OS is a nice place to start, besides it being the first chronological step, it is a fairly simple

one. The user (you) doesn't really have to do much the setup scrips take care of that.

No extensive hardware is required for the setup process. All you need is a spare USB Keyboard (or

just borrow one - it wont be long), A TV with HDMI or Composite input and the relevant cable. You'll

also need your Pi power supply (Just a regular micro USB phone charger will do).

(/files/deriv/FRZ/YGI6/HJGE1N7V/FRZYGI6HJGE1N7V.LARGE.jpg)

Page 11: Ultimate Pi Home Server

First plug the HDMI or Composite cable into the back of the TV, then set the TV to the correct input.

This is because the Pi detects whether HDMI is plugged in then using that information chooses

whether to output composite or not. Then plug the cable into the Pi.

Next insert the SD card we prepared earlier.

Plug in the keyboard. Then finally plug in the micro USB power. The Pi will the boot. Setup scripts will

run automatically. This will take a few minutes, before being asked for a root password.

Page 12: Ultimate Pi Home Server

When prompted for a password, choose a secure one. Don't use one that is already used for your

email account or similar. Use howsecureismypassword.net (https://howsecureismypassword.net/) to

find a secure password. Aim for something that takes around 10 octillion septuagintillion

years to crack. No but seriously, choose something secure.

Setup may ask some other questions. Just input logical answers. After the Q&A is over setup will

continue doing its thing for around 5 min.

Page 13: Ultimate Pi Home Server

At the end you'll be told the eth5 connection failed. That because we don't have a internet connection

yet. Once setup is complete, unplug the power cable and re-locate your Pi server into its final resting

position.

That's all there is to it, you no longer need the keyboard or monitor/TV. We are officially headless

(http://en.wikipedia.org/wiki/Headless_system) my friend.

Step 7: Update Webmin

(/files/deriv/F2N/4703/HJGE1N82/F2N4703HJGE1N82.LARGE.jpg)

Page 14: Ultimate Pi Home Server

In this step we will login to Webmin for the first time. When this is done, we will update Webminto the latest version using the integrated updater.

First, type in the ip of the server (RPi) followed by ":12321". This is the default port thatWebmin is running on.

So for example I would type in "192.168.2.12:12321".

Yours could look like this "192.168.1.2:12321" or "192.168.2.5:12321".

Notice how the port remains the same, despite the ip address changing.

A quick explanation. The ip address is the string of numbers that defines any device connected

to the internet. The router in your home has a function called DCHP

(Dynamic Host Configuration Protocol). This auto assigns the

devices on the LAN (Local Area Network) an ip following the default format of 192.168.1.*

This means that your Pi could be any ip address through 192.168.1.2 to 192.168.1.255 (It won't

be 192.168.1.1 because that's usually the routers ip address).

Usually there is a chronological order of working, therefore unless you have over 20 devices on

the network, you wont be going higher than 192.168.1.20

If you don't know how to determine the ip of a device on the network, I strongly recommend this(http://download.cnet.com/SoftPerfect-Network-Scanner/3000-2085_4-10205180.html) tool.It's free and extremely handy if your less computer savvy than others. It works by scanning allthe possible ip's on a network, then gathers information about the devices on the other end.

Once you've done that, your going to get that scary security warning we all hate. It looks likethis:

(/files/deriv/FHJ/22U9/HJGE1I0I/FHJ22U9HJGE1I0I.LARGE.jpg)

Page 15: Ultimate Pi Home Server

This warning usually indicates a website that's has insecure certificates. This means the datasent to the server isn't nesacerily sent to the server, instead a fake server, trying to capturesensitive data. Usually you'd turn back here, but don't. This message is only displayed as wehave not yet installed a SSL certificate on the server. These are expensive, so instead we'lljust disable SSL (HTTPS://). That's later on though. For now just click proceed anyway.

Once your proceeded you'll meet the Webmin Login page for the first time. Isn't she wonderful.

Here enter the username root and the password you entered during the Linux installation. Thenclick Login

The interface will then load.

At the bottom of the home page, you'll notice the Upgrade Webmin Now button.

Page 16: Ultimate Pi Home Server

Click the button and Webmin does the rest. Just for reassurance, Here are images of how theprocess should look:

This is the updated package downloading.

This is the script carrying out the update.

Page 17: Ultimate Pi Home Server

This final image shows the update is complete. After this is the stage you're at, continue to thenext step.

Step 8: Shell Login

(/files/deriv/F85/E6EU/HJGE1N81/F85E6EUHJGE1N81.LARGE.jpg)

(/files/deriv/FNJ/EWAC/HJGE1IDG/FNJEWACHJGE1IDG.LARGE.jpg)

Page 18: Ultimate Pi Home Server

In this step we will learn how to login to the shell interface via the browser.

Type the ip address of the RPi into the browser, then port :12320 - it will look like 192.168.1.*:12320

Again we'll see the untrusted website page.

Click Proceed anyway, remember we know it's safe because it's your server. This will load the shell

interface.

You may be asking what is 'shell' and thinking 'I thought computers sand and water don't mix'. I'll

explain. Shell is the Linux version of Command Prompt (which is probably familiar to you windows

users). It basically offers access into the server via command line, which can be very useful for tasks

such as adding samba users, or editing a file using nano (nano is a command line text file editor).

So once the interface has loaded it will look like this. Very basic I may add.

Again, here I'll offer some level of explanation. The 'core login:' is just the server hostname 'core' (we

can change this later) followed by login:

This means the server requires us to login before carrying out any tasks.

To login simply type your username ( root) press return/enter then enter the password for the root

account. Your password wont be displayed for obvious security reasons, such as the guy stood behind

you looking over your shoulder. Take that**.

Page 19: Ultimate Pi Home Server

You will the be greeted by a login message explaining how warranties are not this nor that.

(http://www.instructables.com/member/rjanssen2/)

Step 9: How to Reboot

**this is not a reference to the British band

As posted by member rjanssen2

To fix the session closed after the prompt login, you need to change /etc/hosts.

Enter the following:

nano /etc/hosts

Then change the core in the line 127.0.1.1 to your hostname.

Thanks for the help there!

(/files/deriv/FUY/PMW8/HJGE1N80/FUYPMW8HJGE1N80.LARGE.jpg)

Page 20: Ultimate Pi Home Server

Now we know how to access the command line, let's try a few things.

First let's learn how to reboot.

Login to the terminal as normal or if you already have an open session ensure the bottomsmost line reads username@hostname ~# in essence, root@core ~#

Type reboot

Then press enter

You'll receive a broadcast message informing all users of the system reboot.

That's all there is too it. This is one of the most basic procedures you'll need to carry out.During the server configuration and setup you'll be doing this quite a lot.

Continue to the next step where you will learn how to use nano to edit files.

Step 10: Changing the Server Name (Hostname)

(/files/deriv/FIZ/CW8X/HJGE1JEM/FIZCW8XHJGE1JEM.LARGE.jpg)

Page 21: Ultimate Pi Home Server

Our server is currently named CORE. Boring right? We're going to change it.

First we can type hostname into the shell in the box terminal (after sucsessful login) to print the current

hostname. We can see it's 'CORE'.

So let's go ahead and change it.

Type nano /etc/hostname

Press return which will open the text file located in the /etc directory on the SD card named hostname,

with the terminal text file editor nano. On boot the setup scripts read the file contents and use it to set

the hostname of the server.

So to change it, simply delete the contents of the text file and type your desired hostname.

Press shift and X to exit.

Press Y to save the changes.

Just hit return to save over the old file.

Now just reboot the server (covered in step 8) for changes to take effect. When you look in network

location from a windows file browser you'll see your server has been renamed.

(/files/deriv/FDT/P8N5/HKJRZI9N/FDTP8N5HKJRZI9N.LARGE.jpg)

Page 22: Ultimate Pi Home Server

Step 11: Mount the Hard Drive

If you are using ay external storage such as a USB hard drive or USB stick with the server, we must

configure it to mount at boot. If your drive is formatted with the NTFS file system, follow the guide

below. If it has any other type of formatting such as FAT 32, then skip to the next step.

Drives with Windows NTFS formatting can be tricky to mount within Linux.

To allow the drive to be mounted, we must install NTFS-3g. This irradiates any issues I know of.

So, open up a tab within your browser. Point it to the address and port of shell in a box, i.e, a new

terminal session.

First type apt-get ntfs-3g

apt-get is the command to grab a package from the repository and install it.

The terminal may then begin to look like a scene from the matrix. This is just the downloading and

installation of the package.

Below are images of how the process should look:

(/files/deriv/FM1/HIXN/HJGE1N7O/FM1HIXNHJGE1N7O.LARGE.jpg)

Page 23: Ultimate Pi Home Server

Your done when you see the root@core ~# message again. This is just the servers way of saying "I'm

ready for my next command master."

Step 12: Mount the Hard Drive Continued

Head back over to Webmin to continue mounting the storage media.

From the top navigation bar click Disks and Network Filesystems from within the System

dropdown.

(/files/deriv/FQN/XPJU/HJGE1N7P/FQNXPJUHJGE1N7P.LARGE.jpg)

Page 24: Ultimate Pi Home Server

This will load the applet where we can select and mount the drive. To begin mounting click the

dropdown box just above the file system table and select the format of the drive you are mounting.

Mounting a drive within Linux will not remove your data, however it's always best to have a backup.

This next page will allow you to name the mount and choose the location. We will create out mount in

the location /media/serverhdd . Select Disk and there should only be one option within the dropdown

to choose from. Choose No where you have the option for read only. Keep the default settings for

everything else.

Page 25: Ultimate Pi Home Server

Once you have the same settings as above, click create. This will take us back to an updated file

system table.

Notice the fourth entry, this is the one we just created.

Step 13: My SQL

Next we're are going to install MySQL. MySQL is a free tool that allows us to host online databases that

are secure, and accessible by PHP scrips. This means that a login page (such as the ownCloud login

page) can use a PHP script to check login details such as user and password, thus allowing it to serve

you the correct files and ultimately allowing you to login.

Without further ado, let's begin.

To install:

Login the Webmin admin console, hover over the unused modules category.

From there Select the MySQL entry.

This will serve a page informing us we either don't have the module configured correctly or don't have

it installed. We don't have it installed do click the option that says 'click here to have it installed by apt'.

Just for your information, apt is a Linux package manager that can be used to install and remove

packages (basically software applications).

(/files/deriv/FTK/0HKZ/HKJRZI9L/FTK0HKZHKJRZI9L.LARGE.jpg)

Page 26: Ultimate Pi Home Server

The package will then be installed. Lots of code will be running in the webpage. Leave it to run its

course. It will inform you at the bottom of the webpage when the package has been added.

After its installed, go back, and from the servers dropdown in webmin, select the MySQL Database

server entry. This will load the interface.

Continue to the next step to learn how to add a database.

Step 14: Add a database to My SQL (ownCloud prep)

So now we're going to add a database to MySQL for ownCloud to use. Within the database ownCloud

will store information within tables and fields. Moo .

The information will range from usernames and passwords, to file size limits and file paths for each

user. It's really quite clever.

Its quick and easy to add a table. First from within the MySQL database manager page in webmin click

add a database.

(/files/deriv/F2Y/J5CE/HKJRZI9K/F2YJ5CEHKJRZI9K.LARGE.jpg)

Page 27: Ultimate Pi Home Server

The new database page will then load. Here name the database and leave all other options default.

I've called mine owncloud for easy reference. (You'll need to note down the name for later.) We don't

need to ad any tables or data because ownCloud will populate the database during it's installation

process.

Click Create at the bottom of the page. You'll then be taken back to the management page, where

you'll see the new table.

Pretty easy right? Next: adding a user.

Step 15: Add a user To My SQL (ownCloud prep)

(/files/deriv/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)

Page 28: Ultimate Pi Home Server

MySQL is a multi-user database management system. This means that there can be more than one

user that can gain access to the various databases and the data within them. This is useful as we can

assign different permissions to the different users.

Why would we want to do that?

This feature is implemented for a number of reasons. The first most obvious being a security breach.

For example if someone somehow hacks access to a service or program's code which relies on a

database within MySQL, they may be able de-crypt the login credentials to the MySQL database

server. This means they could access sensitive data within other databases and cause havoc. But

wait hold on, don't panic. Because with multi user functionality, the database server will be safe. We

can know this because we are creating separate accounts that will range from managing the server to

reading, modifying and even creating tables. If somebody ever did gain access, (which is highly

unlikely) they would only have certain permissions within the delegated database/s. This way we are

not compromising other services that rely on the SQL server.

Another reason is if a piece of code within a service malfunctioned (also very unlikely)somehow losing control and beginning to erase and delete the databases. This wouldn't bepossible because the program would only have access to its own database. All is not lost, Eh?

Very Clever I must point out.

So, lets lean how to create a user then. The user account we will create will be later used for ownCloud

so use a logical username and password, that will be identifiable in the future.

Open up the MySQL database server manager if you haven't already. Which you probably have

because your twitching with excitement at the concept.

So first, we need to click User Permissions. This will navigate us towards our goal. On the page you'll

see a list of user and their corresponding info.

Page 29: Ultimate Pi Home Server

Sorry to ruin your fun Mr.Hacker. Anyway, on the above page click Create New User.

As you will soon see, this has loaded the add user page. Here we'll be able to add our ownCloud

database access user. Input the above information into the fields, which is: Username: owncloud

Password: choose one but remember it

Select all permissions besides Superuser. Quick tip - Click the top entry, scroll down, hold shift, click

the bottom entry. Then deselect the Superuser entry by clicking whist holding ctrl.

Change the maximum concurrent logins to 15 (we wont be having more than 15 users at a time

connected.

Leave other options default then Create.

Page 30: Ultimate Pi Home Server

This will create the new user and then navigate us back to the user accounts page.

Here you will see the added user credentials.

I've blanked out the password for obvious reasons.

That's it, we've created our new user. During the ownCloud setup, ownCloud will tie the account to the

specified database. (Remember the one we created earlier named cloud?)

Let's continue.

Step 16: Install PHP

In this step we'll install PHP and the various add-on's so its compatible with services such as MySQL,

which we installed in an earlier step.

For more info on PHP click here (http://en.wikipedia.org/wiki/PHP)

Begin by opening up a terminal session with shellinabox (Port 12320)

Login then type

apt-get install php5 php-pear php5-mysql

Then press enter.

This will carry out the installation of PHP and other required dependencies for ownCloud and

Transmission.

When you reach the above point just hit Y. This check is common practice and it's essentially just APT

asking for permission to use up the specified amount of disk space to istall the requested programs.

Above we can see the files being fetched from the mirrors.

(/files/deriv/FEM/4BHD/HKJRZI9J/FEM4BHDHKJRZI9J.LARGE.jpg)

Page 31: Ultimate Pi Home Server

And remember when you see root@core ~#, you're all done!

Continue to the next step to being setting up ownCloud.

Step 17: Install ownCloud

The installation for ownCloud can be done via the GUI (Graphical User Interface) within webmin.

Head over to webmin and select system software packages from the System dropdown menu.

(/files/deriv/FXT/C560/HKJRZI9H/FXTC560HKJRZI9H.LARGE.jpg)

Page 32: Ultimate Pi Home Server

This will take us to the install package webpage.

Here focus on the second section: Install a New Package. Here select the Package from APT radio

button. (Which is one of these [ Try Me! ] )

Type into the corresponding box owncloud, like this:

Then hit Install.

Page 33: Ultimate Pi Home Server
Page 34: Ultimate Pi Home Server

The script has finished, thus, ownCloud has been successfully installed.

Continue to the next step to configure and setup up ownCloud.

Step 18: OwnCloud: Pre-setup

Before setting up our ownCloud instance we need to create a folder on the hard drive for our data to

rest within.

Quickly open up a shellinabox session and type these three commands separately:

1 cd /media/serverhdd

2 mkdir cloud

3 chmod 750 /media/serverhdd/cloud

This will create the folder and change the permissions so owncloud can write to it.

You can now continue.

Step 19: Configure ownCloud

So we've installed ownCloud, let's set it up then test it.

Head over to 192.168.*.*/owncloud

You'll be greeted by this:

(/files/deriv/FM1/HIXN/HJGE1N7O/FM1HIXNHJGE1N7O.LARGE.jpg)

(/files/deriv/FXT/C560/HKJRZI9H/FXTC560HKJRZI9H.LARGE.jpg)

Page 35: Ultimate Pi Home Server

Click next, you may then be asked if you want to install into a subdirectory, just delete the text in the

field and click next. If not just carry on.

Here is the important part. This page is where we will specify a folder for the data to go into, and admin

account, and the SQL information.

Input a Username and password.

Click the advanced button

Type //media/serverhdd (or whatever you mounted your hard drive as) followed by /cloud. So it'll look

like this: //media/serverhdd/cloud

Next click the MySQL button and the page will expand, revealing options for the database.

Here type in the MySQL username and password for the owncloud user we made.

Type in the database name of which you wish to use (we also created one earlier)

Type Localhost in the final box.

Page 36: Ultimate Pi Home Server

Finally click Finish setup.

This will finalize the setting and load up the owncloud service.

Ta Dahh!!

Everything is beginning to come together now. Lets learn how to create a user account. Next Step.

Step 20: Creating an ownCloud User

(/files/deriv/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)

Page 37: Ultimate Pi Home Server

ownCloud has loads of features so it would take a whole lot of time to explain each one and how to use

it. That my friends, is another instructable for another day. Have a look here

(http://owncloud.org/features/) for a list and usage.

Creating a user is fairly* simple so I'll show you how.

Click the user options button in the top corner then click on Users from the dropdown.

Then you'll be taken to the user management page.

To create a new user, type a username and password into the appropriate boxes above the table view

of current users.

Then click the groups dropdown box.

Here you will see an admin entry and an +add group entry.

Click +add group, then type a group name for standard user accounts. This only has to be done once.

Page 38: Ultimate Pi Home Server

Then press enter (Keyboard key). This will create and select the new group.

Next click the create button.

Now we need to set the data limit for the user. Do this using the Storage drop down on the row of the

user. The top option sets the default.

Set to whatever meets your needs.

Page 39: Ultimate Pi Home Server

Once you have done all this, you've created your new user account. Logout (user button in top right >

logout) then log back in as the new user to test things out.

Next, lets samba.

*The term fairly and any other reference to simplicity or difficulty throughout this instructable is subjective,

however this instructable is intended for anyone who understands the basic operation of a PC, so most should

be able to follow it.

Step 21: Let's all do the Samba

Samba will allow us to share documents with windows PC's on the same network. This will allow the

server to be used as a central file server within your home. This is useful if you have more than one

PC within the network.

Installation begins with opening the module from the Un-used modules category within webmin.

So go ahead and select Samba Windows File Sharing

You will then be told "Sorry Mr, you don't have that module," or something like that anyway. Just click

click here to install it.

The package will then install.

(/files/deriv/FAG/KR97/HKJRZI9G/FAGKR97HKJRZI9G.LARGE.jpg)

Page 40: Ultimate Pi Home Server

The samba package and any other dependencies have been installed. Continue to the next step to set

it up.

Step 22: Configure Samba Drives

Page 41: Ultimate Pi Home Server

So now we'll setup ad configure the samba instance. Samba operates on the windows file share

protocol, so integration into a windows network (or singular PC) is seamless.

First open up Samba from the servers category in webmin.

Next select the checker boxes along the left hand side of the default directory mounts.

Click the delete selected drives button located below the table. The page should now look like this:

Click create a new file share. to begin mounting your directories.

Here we can now define a name, and file location. We can also set permissions for samba users.

(/files/deriv/FAG/KR97/HKJRZI9G/FAGKR97HKJRZI9G.LARGE.jpg)

Page 42: Ultimate Pi Home Server

Create your share with the options:

Share name : Relevant share name of your choice

Directory to share: /media/serverhdd/* (here * is a wild card. Mount any folder of your choice. We've

already created our cloud data folder so lets mount that.)

Directory to share: /media/serverhdd/cloud

Auto create directory: Yes

Owner: root

Permissions: 755

Group: Root

Available: Yes

Browseable: Yes

Add a share comment if desired. Then Click Create.

Here you can see the mounted drive. Mine is a users folder I created on the hard drive.

Now we need to edit an option. Click on the share you've just made. From there click the Security

access and control button from the bottom.

Page 43: Ultimate Pi Home Server

Here change the attribute Writable? to Yes

Then Save.

Return to the samba config homepage, and continue until you have mounted all the shares you wish to

add.

In the next step we will create a user so we can login to the shares via windows explorer.

Step 23: Add a Samba User

(/files/deriv/FMC/60Q0/HKJRZI9I/FMC60Q0HKJRZI9I.LARGE.jpg)

Page 44: Ultimate Pi Home Server

I often find the WebGUI for adding samba users to be buggy and unreliable. Because of this, I'm going

to teach you to add a user the terminal way.

First, a shellinabox session.

Before we continue it is important to note: to add a samba user there must be an exsisting Unix

account that you can link to. The samba config will rely on the Unix user account for permissions.

Name the samba user the same as the Unix user account.

Now type in pdbedit -a -u *username here*

Now you'll need to enter a password then confirm it.

Nice and Tidy. For changes to take effect, you'll need to restart the samba service. This is easily done

via the GUI with the restart button ant the bottom of the page.

All done. Now Head over to your windows PC for the next part, accessing the share.

Full details on the tool pdbedit are available here (http://linuxcommand.org/man_pages/pdbedit8.html).

Step 24: Accessing the share

Welcome back.

(/files/deriv/FUB/D1ON/HKJRZI9F/FUBD1ONHKJRZI9F.LARGE.jpg)

Page 45: Ultimate Pi Home Server

Now lets mount the share as a volume in windows. Open up My computer.

Click Map network Drive. (Locations are as follows: Windows 8: top toolbar under Computer group.

Windows 7: On the toolbar below the filepath. Windows Vista: Within the Tools... dropdown that is

located on the toolbar below the filepath. Windows XP: Left click white space.)

First Specify the drive letter. All available ones will be within the dropdown.

Next location, Which will be in the format \\*your server name here\*samba share name here*

Check the Reconnect at sign-in and Connect using different credentials options.

Click Finish.

The Credentials window will then open.

Here type the user name and password for samba.

Check the Remeber option then finish.

Once that has been done, the share can be used like a normal storage media from within Windows.

Page 46: Ultimate Pi Home Server

Next we'll install Transmission.

Step 25: Install Transmission (Bit Torrent)

Transmission is a torrent/download manager. You simply visit the port the service is running on to

open the web UI. From there you can simply copy and paste URL magnet links, file links, torrent file

links and more. The interface is super simple to use.

To install open up a shellinabox session and type: apt-get install transmission

This will begin the install.

Here we caan see the files being downloaded and added to the filesystem.

Once the package has installed, we need to stop the daemon (package) from running. This is

important to do or the setting file may become corrupt.

Type: /etc/init.d/transmission-daemon stop to stop the daemon.

Next we need to configure the username and password for the instance. You'll use these credentials to

(/files/deriv/FEY/I1Y4/HKJRZI9C/FEYI1Y4HKJRZI9C.LARGE.jpg)

Page 47: Ultimate Pi Home Server

login to the web user interface.

Type: nano /etc/transmission-daemon/settings.json to edit the config file with nano.

Edit the User and password enteries to whatever you wish. the password entry is named rpc-password

and user is rpc-username. Hit shift and X to exit and press Y to save changes.

Next we will restart the daemon. Type: /etc/init.d/transmission-daemon start

Now visit 192.168.2.*:9091. Here you'll hit login dialog. Enter the credentials and login.

After that, a sucsessful login will load the interface. Simply use the add file icon to pase a link for the

manager to download. Again full usage guides are available on the trasmission website.

Page 48: Ultimate Pi Home Server

Step 26: The Principal

This step will explain how we will achieve worldwide access for the server.

We will use two fundamental elements.

The first: no-ip, is a free service available to anyone. It comes in two forms, the sync client and the

online service account. The accounts are free from the no-ip website. Create an account here

(http://www.noip.com/newUser.php).

The second element is a function built into almost all home routers: port forwarding. This function

allows us to redirect incoming requests to other devices on the network, i.e., the server. This has to be

done as any incoming connection from outside your home network will just direct us to the router

management page. We need to land on our servers services page.

To do this the two features work together to provide a simpler way to connect to the server.

no-ip works like this:

(/files/deriv/F94/RIUG/HKJRZI9B/F94RIUGHKJRZI9B.LARGE.jpg)

Page 49: Ultimate Pi Home Server

Port forwarding works like this sketch:

Continue to setup these tools.

Step 27: Install no-ip

(/files/deriv/FZ1/2CTL/HKJRZI9D/FZ12CTLHKJRZI9D.LARGE.jpg)

Page 50: Ultimate Pi Home Server

To install no-ip, open a new shell session.

Type: cd /usr/local/src To make the current working directory (folder) src.

Now download the tar file to the directory, from no-ip.com

with: wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

Change the cd (current directory) to no-ip folder using: cd noip-2.1.9-1 Then make the files

with: make

Then install with: make install

During the install you'll need your no-ip registerd email address and password to hand. Leave the

default update period as 30.

When asked say no to running a script on sucsessful update, using N key.

Then login to no-ip.com to confirm the client carried out it's first update

Page 51: Ultimate Pi Home Server

Configure port forwarding on the next step.

Step 28: Port Forwarding

Setting up port forwarding is different on every router, because of this i'll just give you a general idea

of which ports to forward and where. For more specific details on your routers port forwarding feature

(aka Virtual Hosts) visit portforward.com

(http://portforward.com/english/routers/port_forwarding/routerindex.htm).

Okay so the basic idea is that you type in username.no-ip.biz:* and wind up at the service allocated for

*.

So we need to set this up for four instances: ownCloud, Transmission, Webmin and shell in a box.

The ports on the server (forward to private port) are as follows

Webmin - Port 12321Owncloud - Port 80 (also requires /cloud or whatever sub directory you chosen earlier i.e.username.no-ip.biz:80/owncloud)Transmission - Port 9091Shell - Port 12320

The incoming ports can be different to the outgoing ports, so you could have userame.no-ip.biz:1

leading to webmin, userame.no-ip.biz:2 leading to ownCloud and so on. This makes it more convenient

to remember.

This means your port forwarding table should be filled out like the illustration below.

(/files/deriv/FX1/7A38/HKJRZI9E/FX17A38HKJRZI9E.LARGE.jpg)

Page 52: Ultimate Pi Home Server

Step 29: Final: Backup

Now we've almost finished. The final procedure is to unplug the power, remove the SD and create a

back-up image of the OS in it's current state. This way if something goes wrong you have a basic fresh

custom set-up to return to.

Simply place the SD card into a reader and open up win32diskimager.

In the text field type the location of the desktop followed by \backup.iso (something like

this C:\Users\Dillon\Desktop\backup.iso). This will tell the software to read the file and save it to the

desktop.

Then instead of write, click read.

This animated GIF shows a write taking place, but the process is the same.

This will take around 5-10 minutes. After it's done, put the SD back into the Pi and rest at ease. If you

ever need to refresh your system (system restore) use the backup you created to write the ISO to the

card, as in step 5. This means all will not be lost. For extra sense of peace, after any major system

changes, perform a new backup and save it with a date. This way you'll have different revisions of

backups to choose from.

Step 30: Congratulations - Felicitaciones - Glückwünsche - 恭喜

(/files/deriv/F4A/KZB9/HJGE1N7S/F4AKZB9HJGE1N7S.LARGE.jpg)

Page 53: Ultimate Pi Home Server

Post Comment

Over 6,000 words and more than 170 illustrative diagrams and images later, we have reached the end.

If you made it this far, well done. I hope you found it an awesome journey. The learning curve may

have been steep, but i encourage you to fly from the nest and begin to lean more about the Linux

world.

If you have any issues or questions, drop one below. I hope you enjoyed reading and learning as

much as I did writing.

Thank you.

1-40 of95

Next » (http://www.instructables.com/id/Ultimate-Pi-Based-Home-Server/?&sort=ACTIVE&limit=40&offset=40#DISCUSS)

ryks (/member/ryks/) says:

(/files/deriv/F94/RIUG/HKJRZI9B/F94RIUGHKJRZI9B.LARGE.jpg)

Page 54: Ultimate Pi Home Server

(/member/ryks/)

Oct 29, 2013. 4:36 PM Reply (CLWC1CYHN82O9Y9)

(/member/rjanssen2/)

Oct 12, 2013. 6:06 AM Reply (C9N2RJLHMMFB7EY)

1(/member/rikkkurd/)

Oct 12, 2013. 2:53 PM Reply (CT6IK2VHMNNEWJ9)

1

(/member/rikkkurd/)

Oct 14, 2013. 11:46 AM Reply (CETLFHWHMNNFFMR)

(/member/rjanssen2/)

Oct 15, 2013. 5:24 AM Reply (C0YHHHNHMMF8QS0)

1(/member/rikkkurd/)

Oct 17, 2013. 1:02 AM Reply (C739UOMHMVJOK4B)

thank you .very well done .must be stupid to Not understand this tutorial .thank you very much .

rjanssen2 (/member/rjanssen2/) says:

I've got a problem. After configuring owncloud, i get an error message that states: Data directory (/media/serhdd/cloud) is readable for other users

Please change the permissions to 0770 so that the directory cannot be listed by other users.

Changing nano /etc/fstab doesn't work and changing chown www-data:www-data also doesn't work.

rikkkurd (/member/rikkkurd/) in reply to rjanssen2

i have the same problem can't find asolution

rikkkurd (/member/rikkkurd/) in reply to rikkkurd

solved it:

By default you are not able to setpermissions on NTFS formatteddrives, but with NTFS-3G youcan. Just enable it on mount.

Add permissions to the optionsin /etc/fstab/. It should look likethis: UUID=xxxxxxxxx/media/serverhdd/cloud ntfs-3gdefaults,permissions 0 0

you can do this by typing "nano/etc/fstab" -enter

Reboot your Raspberry Pi so thatthe drive get mounted withpermissions. type: sudo shutdown -r now

Now you are able to setpermissions. For owncloud likethis:

sudo chown -R www-data:www-data/home/pi/media/owncloud/data

after this it works like a charm,but owncloud is a bit slow on araspberyy..

rjanssen2 (/member/rjanssen2/) in reply to rikkkurd

How to enable ntfs-3g at mount?Mine is mounted as ntfs, eventough I installed ntfs-3g.

rikkkurd (/member/rikkkurd/) in reply to rjanssen2

this info is already in my previouscomment:

you can do this by typing "nano/etc/fstab" -enter

Add permissions to the options in/etc/fstab/. It should look like this: UUID=xxxxxxxxx/media/serverhdd/cloud ntfs-3gdefaults,permissions 0 0

Page 55: Ultimate Pi Home Server

11(/member/DrWilson/)

Oct 16, 2013. 2:14 PM Reply (C8DQDGSHMMF94AI)

17

(/member/diy_bloke/)

Sep 14, 2013. 10:13 AM Reply (CO7BT90HLJUXKX0)

1

(/member/feganmeister/)

Oct 14, 2013. 1:14 PM Reply (C0SD266HMMF8LR0)

Reboot your Raspberry Pi so thatthe drive get mounted withpermissions. type: sudo shutdown -r now Now you are able to setpermissions. For owncloud likethis:

sudo chown -R www-data:www-data/home/pi/media/owncloud/data

after this it works like a charm, butowncloud is a bit slow on araspberyy..

too improve this you can use APC:

APC is an opcode accelerator thatcaches frequently used bits of PHPso it doesn't have to constantlyrecompile scripts (because PHP isan interpreted language). Install itwith the following command andsee if that helps.

sudo apt-get install php-apc -enter

DrWilson (/member/DrWilson/) (author) in reply to rjanssen2

That can be done in fstab (changingntfs to ntfs-3g) via nano /etc/fstab

diy_bloke (/member/diy_bloke/) says:

Really great instructabel. Too bad though that at least for me it wasnot entirely without problems: Near the end of the install of the OS when ihad to chose for automatic setup of DHCPor manual Static IP, choseing the DHCPgave an error that it was refusinf to write to/etc/network/interfaces and that 'a headerwas missing' solved that by givint that filewrite access to everyone (on a differentmachine). odd, that should not happen

Also the upgrade of Webmin was notwithout errors (PID 2457 drom file.... notvalid) but that seems to be some webminbug.

Got to love webmin though. Great tool

feganmeister (/member/feganmeister/) in reply to diy_bloke

Thought I'd add something to thatdiy_bloke for the benefit of others.The message "refusing to write to/etc/network/interfaces... headerwas missing" may also appear withphysical network or adaptorproblems. Check the send/receiveLEDs are lit on the Pi. If not, makesure the network cable is known tobe working and connected. If usingDHCP, ensure you have enoughaddresses. If using static, checkyou have entered the right IP,Subnet Mask, etc. Also, make sureyour router/firewall isn't filteringMAC addresses and such.

Page 56: Ultimate Pi Home Server

17(/member/diy_bloke/)

Oct 14, 2013. 4:27 PM Reply (CY9XXK5HMMFD5UI)

11

(/member/DrWilson/)

Oct 11, 2013. 11:24 AM Reply (CZ2NROLHMMF0PXN)

17(/member/diy_bloke/)

Oct 13, 2013. 8:01 AM Reply (CWJORXZHMMFCQQK)

(/member/dcavni/)

Sep 22, 2013. 1:55 AM Reply (CKU3O21HLSHDY7H)

(/member/jrobinson21/)

Sep 23, 2013. 12:14 AM Reply (CVYL9C9HLY79B08)

11(/member/DrWilson/)

Oct 11, 2013. 11:27 AM Reply (CIQ1TC6HMMF0PYC)

(/member/dcavni/)

Oct 12, 2013. 1:36 PM Reply (CALLK41HMMF0XNM)

(/member/rjanssen2/)

Oct 12, 2013. 8:59 AM Reply (CHVNDBVHMMFB7SY)

(/member/rjanssen2/)

Oct 12, 2013. 8:36 AM Reply (CHQ52G7HMMFB7S4)

(/member/rjanssen2/)

Oct 8, 2013. 9:42 AM Reply (CKE5R38HM8CW0Z5)

diy_bloke (/member/diy_bloke/) in reply to feganmeister

Thanks for adding. That was all inorder, but as said, just giving somewrite access fixed it :-) and aftersorting out some other problems itall worked perfectly

DrWilson (/member/DrWilson/) (author) in reply to diy_bloke

Sometimes Linux can be a pain inthe backside. You have to admithowever, that is a great feelingonce the problem has been selfsolved! (It was for me anyway)

Thanks

diy_bloke (/member/diy_bloke/) in reply to DrWilson

oh yes it does. I prefer linux serverover windows server and the PIHome srever, once i sorted out theinstallation probs has beenworking 24/7 since

dcavni (/member/dcavni/) says:

No matter what i do this image won't boot on my Pi. Raspbian works, XBMC works, this image don'twork. I already tried two different SD cards and no change. Anybody had such problems?

jrobinson21 (/member/jrobinson21/) in reply to dcavni

I think so. Can't get anything tohappen with this image. :(

DrWilson (/member/DrWilson/) (author) in reply to jrobinson21

Sorry to hear that, I cannotunderstand why it would not work.Are you burning the image usingthe tools stated in step 5?

dcavni (/member/dcavni/) in reply to DrWilson

Yes, i did it exactly as stated.Ordinary Raspbian burned in thesame way works ok.

rjanssen2 (/member/rjanssen2/) says:

Thank you for the tutorial! I finally finished my home server!Only I'm still fiddling around with owncloud.

rjanssen2 (/member/rjanssen2/) says:

You forgot to mention to unpack the tar.gz file. After downloading type: tar xzf noip-duc-linux.tar.gz

After this you can continue with the tutorial.

rjanssen2 (/member/rjanssen2/) says:

To fix the session closed after the prompt login, you need to change /etc/hosts. Enter the following: nano /etc/hosts Then change the core in the line 127.0.1.1 to your hostname.

Page 57: Ultimate Pi Home Server

11

(/member/DrWilson/)

Oct 11, 2013. 11:34 AM Reply (CN9FZ3YHMMF0Q08)

(/member/rjanssen2/)

Oct 12, 2013. 6:32 AM Reply (CTJZLKGHMMFB7H8)

2(/member/mechagen/)

Oct 5, 2013. 7:10 PM Reply (CJPN7QYHMEXWGEY)

11(/member/DrWilson/)

Oct 11, 2013. 11:33 AM Reply (C6WSIU1HMMF0Q04)

(/member/Killerspec/)

Oct 3, 2013. 5:01 PM Reply (CDYPA0FHM8CZYV1)

(/member/Killerspec/)

Oct 3, 2013. 6:50 PM Reply (C248BKAHM8DDYI3)

11(/member/DrWilson/)

Oct 11, 2013. 11:31 AM Reply (C398XX0HMMF0PZV)

(/member/omniprasan/)

Oct 2, 2013. 2:39 PM Reply (CXBAZEMHM8DFPGN)

DrWilson (/member/DrWilson/) (author) in reply to rjanssen2

Thanks for that! I'll edit that in (withcredit of course!)

rjanssen2 (/member/rjanssen2/) in reply to DrWilson

Glad to be of help!

mechagen (/member/mechagen/) says:

How would one install a program for standard users that can be accessed by all the users at onceand only have to install once would you use the same method for this as you would with php asdescribed in this instructable (even though I'm not quite sure how it does it)

DrWilson (/member/DrWilson/) (author) in reply to mechagen

I not quite sure what your questionis, could you be more specificplease? If you mean lots of usersaccess programs such asownCloud at once, that shouldalready work. Just create all thelogin credentials for each user andlogin from different machines orbrowsers.

Thanks. If you haven't yet found ananswer, comment back with moredetails and hopefully I can help!

Killerspec (/member/Killerspec/) says:

Hi all. Am I correct in saying that I need to load the OS with a linux based system? I havedownloaded raspliance-core-02 from git hub and the fill extension is .tar.gz? So do I need a linuxbased system to load it onto the SD Card?

Killerspec (/member/Killerspec/) in reply to Killerspec

Ok for all you beginners out therewhen it comes to the OS for this buildyou need to download it and unzip iton a linux machine. I simply did itthrough one of my other laptops I havearound the house but I am sure thatyou can find a good VMware how toout there and do the unzip throughthat on your windows based pc.

DrWilson (/member/DrWilson/) (author) in reply to Killerspec

I don't believe this is true at all. Iused a windows machine rightthrough step 5 (if this is where youmeant.) Using 7zip to unzip the fileformat should work. Thanks for thehelp though.

omniprasan (/member/omniprasan/) says:

I am trying to set up owncloud but stuck there. It says Can't write into config directory 'config' You can usually fix this by giving the webserver user write access to the config directory in owncloud --------- i tried chown -R USER:GROUP /path/to/owncloud chmod -R 770 /path/to/owncloud -R

Page 58: Ultimate Pi Home Server

11(/member/DrWilson/)

Oct 11, 2013. 11:29 AM Reply (CBK8EFRHMMF0PZ7)

(/member/cmom/)

Oct 2, 2013. 2:09 AM Reply (CHOV342HM8DBPBS)

11(/member/DrWilson/)

Oct 11, 2013. 11:29 AM Reply (C91WSSPHMMF0PZ3)

(/member/El_Axelinio/)

Sep 20, 2013. 10:50 PM Reply (C6L82RIHLSHH3MJ)

11(/member/DrWilson/)

Oct 11, 2013. 11:26 AM Reply (CUL6JM2HMMF0PY1)

17(/member/diy_bloke/)

Sep 14, 2013. 10:25 AM Reply (CS4CT31HLJUSMWQ)

for www-data:www-data but it still says the same. Can you please help?

DrWilson (/member/DrWilson/) (author) in reply to omniprasan

Hmm, this has happened a fewtimes to me. Unfortunately i can'tprovide a solid answer as i justplayed around with a lot ofsettings until it worked. You couldtry and use the visual file browserin webmin to change ownershipsettings?

Thanks

cmom (/member/cmom/) says:

Hello,

I have a problem whene i make contact to owncloud. I get this messige.

Can't create data directory (//media/serverhdd/cloud) You can usually fix this by giving the webserver write access to the ownCloud directory'/usr/share/owncloud' (in a terminal, use the command 'chown -R www-data:www-data/path/to/your/owncloud/install/data'

I have look it up on google. Bud can find no anser. Can you help me.

Thx

DrWilson (/member/DrWilson/) (author) in reply to cmom

Hmm, this has happened a fewtimes to me. Unfortunately i can'tprovide a solid answer as i justplayed around with a lot ofsettings until it worked. You couldtry and use the visual file browserin webmin to change ownershipsettings?

Thanks

El_Axelinio (/member/El_Axelinio/) says:

Could this work off line after set up or dose it require a consistent internet connection?

DrWilson (/member/DrWilson/) (author) in reply to El_Axelinio

Off-line using a LAN network. Allyou need is a WiFi router, itdoesn't need to be connected tothe www though.

diy_bloke (/member/diy_bloke/) says:

Also here my setup was a bit different fromyour instruction. After logging into the shellI was imemdiately greeted by a menuallowing me various options such asexpanding the root partition to fill the card,setting the memory split etc

DrWilson (/member/DrWilson/) (author) in reply to diy_bloke

Page 59: Ultimate Pi Home Server

11(/member/DrWilson/)

Oct 11, 2013. 11:22 AM Reply (CT67I5WHMMF0PXG)

(/member/jorishuizinga/)

Sep 16, 2013. 12:38 AM Reply (CJ6HGHGHLJVE55L)

11(/member/DrWilson/)

Oct 11, 2013. 11:21 AM Reply (CZAYQUMHMMF0PX0)

(/member/jrobinson21/)

Sep 16, 2013. 6:57 AM Reply (CXYWQGAHLJUTB65)

2(/member/waldosan/)

Sep 29, 2013. 9:17 PM Reply (CD8PWWWHLZRDDW8)

(/member/jrobinson21/)

Sep 30, 2013. 1:06 AM Reply (CMAMQ9WHLZRIT3E)

(/member/chris.twellman/)

Sep 24, 2013. 8:59 AM Reply (CEOW8WDHLY7FHNU)

Post Comment

Yeah, sometimes this happens, sometimes not. It can depend on your immediate webconnection. That menu can also be accessed at anytime using raspi-config at anytime fromshell

jorishuizinga (/member/jorishuizinga/) says:

What's the hard drive you used in thisproject?

DrWilson (/member/DrWilson/) (author) in reply to jorishuizinga

It's a Hitachi Touro 1TB USB 3.0Drive

jrobinson21 (/member/jrobinson21/) says:

Hi, thanks fro this great project. I'm struggling atthe step of getting the Pi to boot from theinstalled OS. Not really sure where to gofrom here. So far as I can tellWin32DiskImager installed the OS correctly.But when I plug in the monitor, SD card andpower supply I get nothing. It's an 8GBmicro SD card sat in an adapter. When Ipower up the same setup with thepreinstalled 4GB SD card it boots fine.Anyone have any ideas?

waldosan (/member/waldosan/) in reply to jrobinson21

it's the sd card most likely, i hadthe same problem with the samesized card but i also had theluxury of a stable raspbian sdcard from a while ago before istarted, it works just fine but the8 gb card just wasn't doinganything even when i triedinstalling raspbian on it...

jrobinson21 (/member/jrobinson21/) in reply to waldosan

Hi waldosan, I'll try with a differentcard; I have a spare 4GB cardsomewhere....

chris.twellman (/member/chris.twellman/) says:

after changing the hostname and rebootingI am unable to log in when prompted tologin i get the message "Session Closed"

1-40 of95

Next » (http://www.instructables.com/id/Ultimate-Pi-Based-Home-Server/?&sort=ACTIVE&limit=40&offset=40#DISCUSS)

Page 60: Ultimate Pi Home Server

About Us

Who We Are (/about/)

Advertise (/advertise/)

Contact (/about/contact.jsp)

Jobs (/community?categoryGroup=marketplace&category=jobs_internships)

Help (/community?categoryGroup=Help)

Find Us

Facebook (http://www.facebook.com/instructables)

Youtube (http://www.youtube.com/user/instructablestv)

Twitter (http://www.twitter.com/instructables)

Pinterest (http://www.pinterest.com/instructables)

Google+ (https://plus.google.com/+instructables)

Resources

For Teachers (/teachers/)

Artists in Residence (/group/air/)

Forums (/community/)

Answers (/tag/type-question/?sort=RECENT)

Mobile

Download our new apps foriOS and android!

Android

(https://play.google.com/store/apps/details?

id=com.adsk.instructables)

iOS

(https://itunes.apple.com/app/instructables/id586765571)

Visit Our Store » (http://store.instructables.com/)

Go Pro Today » (/account/gopro?sourcea=footer)

Join our newsletter:

Terms of service (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21959721) |

Privacy Policy (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21292079) | Legal Notices & Trademarks (http://usa.autodesk.com/legal-notices-trademarks/) |

Mobile Site (http://m.instructables.com) (http://usa.autodesk.com/adsk/servlet/pc/index?id=20781545&siteID=123112)

Join!

©Copyright 2013 Autodesk Inc. All rights reserved.

enter email