Ultimate Home Server: Raspberry PI


Ultimate Home Server: Raspberry PI

Raspberry Pi Home Server

Ultimate Raspberry Pi Home Server      Linux Server Raspberry Pi

Server Model      Server Requirments

Note: For completion of the below lesson, user might require a couple of days though it can be completed in one day, however, a weekend is preferred.

The lesson below will teach the user about configuration and setup of Linux server and can be used any type of computer architecture. The below are the main offerings which the below lesson will teach.

  • Getting an ISO image through burning into an SD card for Raspberry Pi.
  • Installation of an Operating System
  • Set up web server
  • Set up SQL instance
  • Cloud network deployment
  • Managing users in cloud network
  • Establishing a file sharing network with SAMBA along with integration with any home or office network in Windows.
  • Managing and controlling SAMBA users
  • Obtaining static IP from non- static IP intenret connection
  • Installation of packages using Webmin console
  • Installation of packages using Command line terminal
  • Performing simple operations like rebooting.
  • Using nano temrinal base editor for editing system files.
  • Using webmin, mounting hard drives to Linux system permanently.
  • Gaining knowledge about Port forward function on home router.
  • Set up of a bit torrent manager

From the above outcomes, one can see that this lesson will teach lots of new things. As mentioned earlier, user requires two days to carry out the below activities and a weekend is ideal to do it. It requires lots of concentration and focus as a result one can fail tiredness in the eyes so long breaks are recommended to keep the whole thing enthusiastic and interesting. User can make up services like:

The lesson will help your create your own server which will effectively cost less than any one of the above service. Moreover, as you set your own server, it gives you an internal satisfaction of learning and gaining something new. It required lot of planning to write my experience in this lesson and it will be great if someone can gain from this lesson.
Though I have tried my level best to make this lesson as a comprehensive software tutorial, however, some people might get stuck at some point. In any such situation, kindly contact me for help.

Some key cautionary measures: The user should keep note and plan of what to do next before taking break of sleeping as it becomes difficult to remember what should be the next step. Secondly, please proceed in the order mentioned below and do not start with different steps from between as many of the steps are related and can only be done with previous ones completed. Finally, this lesson does not limit the capability of any user, any sort of experiments and addition of more services are welcomed.

STEP1: Plan

Server Requirments

Things Required:

Raspberry Pi B model

A 2.5 inch HDD USB of desired capacity

Raspberry Pi Case of preferred choice. It can be as cheap as £3 for laser cut and acrylic.

Heat sinks for Pi processor (2 in number)

Ethernet Cable

8 GB or above SD card

Power Supply

USB cable

Operating System: In the below lesson, the image of operating system is obtained from Ghoulmann, which will be downloaded later in the below step. The image can runs the turnkey out of the box and hence is adapted for Pi with Debian flavor.

Thus, we are done with planning. Lets move forward.

Step 2: Features of Home Theatre

Home Theatre Features

Used Languages for coding

The lesson will help you add number of free features of Home Server out of the many available features which are either free or paid. These are listed below:

  1. Webmin Admin Interface: Webmin helps in installation, managing and controlling of services which a user may wish to add to a server. Thus, it acts as server management interface for web user and helps in keeping command line to minimal and hence it is best for first time users.
  2. ShellinaBox: It is used for SSHing in the server using java script and CSS which makes it compatible with mostly all the browsers and does not require plugins.
  3. Samba Windows file server: This software helps the user to interact with Windows client and acts as Windows file or print server for the host with the help of TCP/IP protocol and its successful installation while operating on other operating systems like Linux.
  4. ownCloud: Another user web interface which helps an easy way to view various things like contact, bookmarks and calendars and also synchronize them across all available devices. It also provide an option to edit on the web and can be used for various other purpose with help of power API and plugins.
  5. Transmission BitTorrent WebUI: The user using this web based interface can access torrents remotely, add them and download them to desired torrent location. The location where the torrent is downloaded can be shared over web with help of Samba or ownCloud.
  6. Apache Webserver: Apache HTTP Server helps to provide secure and highly efficient HTTP server for operating systems like Linux which can be extended. The Apache HTTP server for today’s operating systems also help synchronize the HTTP services with current HTTP standards.
  7. PHP5: With and extensive use on over 2.1 million web servers and 244 million websites, PHP is one of the most generic web development website. It requires webpages and ownCloud.
  8. My SQL Database: Some of the leading and most famous and biggest organizations including google, Facebook, etc. uses MySQL as their database for website purpose as it is highly efficient and requires ownCloud.
  9. No-IP Sync Client: No-IP Sync client helps a user to have a static address on the server in the format like “yourname.no-ip.biz”. The No-IP Sync client can be used to update the current IP address after every few minutes, however, one would require to create a new account on no-ip.biz which comes for free.

These are the main elements which will be created along with the purpose of each.

Step 3: Setting up the Hardware

Linux Server Raspberry Pi

Ultimate Raspberry Pi Home Server    Raspberry Pi Server Requirments    Power Adapter Raspberry Pi

Connection Server Raspberry Pi    Connected Server Raspberry Pi    Power On-Off Switch and Plug

The main hardware components are Raspberry Pi, Power Supply, SD card along with Ethernet cable which is used for LAN.

In my experiment, I used two hard drives which were mounted on the Pi with 320GB and 1 TB of space respectively. The 320GB was Desktop HDD while 1TB was the Portable Hard drive. The idea was to have lot of space.

Once designing the hardware some key considerations which the user should take care of is that the case should be transparent as it would require flashing off LED lights. A user may like to have a case which occupy less physical space. For my experiments, I made the server wall mountable to make it self-contained.

A user has freedom on how to design the case. A user can be as cheap and simple as he would like to be, however, making a case which looks professional may give better satisfaction of accomplishment and can be tried.

For power Supply, the user can mount 3-Way socket, solder it with switch and IEC socket into the case. Make sure that the switch used is rated properly. User should also make sure that the transformers used within the case should not exceed required and rated current which flows in the wire. The Ethernet and USB socket can be mounted on the top. The USB hub can be used to host external socket and is quite convenient and helpful as USB drive can be mounted without screwing and unscrewing the screws which holds the hinged door.

Step 4: Key considerations before getting started

In order to take help from the notes which were made during the course of this experiment, I am sharing them below, However, the user shall understand that some notes might not be relevant to them as they cover other aspects not covered in this lesson. The notes are shared in below link

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

Step 5: Image burn

Image Burn ISO

Win32Disklmager             Computer Window open win32Disklmager

Salect a Disk

To start of might make one feel complicated, however, following the below step will assure the user to finish this one quickly.

Firstly, Download the Win32 disk imager from internet. A complete OS can be burned and stored in SD card with help of this software.

Next, the user should download Raspian Turnkey mix from internet. This one is the best for making home server.

Next, From the downloaded file for Win32, extract the file and install the Win32DiskImager.exe file.

One should keep in mind to things while installing, while mentioning ISO path, locate for downloaded file and click on the file icon and secondly, make sure that the Drive is correctly chosen in My Computer as per the dropdown box shown below.

Next, click on Write button.

Next, ignore the pop-up message which gives a warning that the file could be corrupted and proceed by clicking on yes.

Next, the process for writing image will begun which will take few minutes to complete. Once the process is complete and the image is written to SD card, the user can remove the SD card and place it in Raspberry Pi.

Step 6: Installation of Operating System


Installing the operating system is one of the simplest steps as the user needs to follow the instruction and the script will take care of the installations.

The user requires USB keyboard, TV with HDMI port, HDMI cable and Raspberry Pi power supply.

The first step is to plug in the HDMI cable inside the HDMI port of the TV and set the input correctly. Plug the output wire in Pi. The Pi will automatically detect the reuqired output based on the HDMI connection and input set.

The second step is to insert the SD card in Raspberry Pi prepared in previous step.

Next step is to connect the USB keyboard with Pi and the power supply. With help of Power supply, Pi will turn on and run the scripts automatically. After few minutes, it will ask to Root password.

Once, the Pi prompt to enter a password, the user can give a secure password. It is recommended that the user should use a strong and secure password different from his or her normal password for email accounts.

The process will ask for some answers to some questions, which the user should make sure to answer in logical sense and continue. It will take few minutes to complete.

Once, the setup is complete, a messgae will pop-up telling that the connection has failed, which is because we are not connected to internet. The user can now remove the USB keyboard and TV which are not required anymore as our set up is complete.

Step 7: WebAdmin updates

Web Admin Update

Login in Webmin

This step will help the user to login to WebAdmin and update it to the latest version with help of integrated updater.

The default port on which the WebAdmin runs is the IP adrress of the Raspberry Pi followed by “:12321”.

Thus, if the user IP address is Then the port number for WebAdmin will be

The router with help of Dynamic Host Configuration Protocol is able to assign a default IP address of 192.168.1.*** with *** can be any number between 2 to 255 which helps to connect the device over internet. is the IP address for the router itself and hence it cannot be assigned to another device.

The users should be able to identify the IP address of all the devices connected at one network.

Once IP address followed by the port number is entered, the user will get a security warning, which can be ignored as this is because we have not installed SSL certificate. However, since these are expensive we will disable the SSL which is taught later in the lesson. However, the user can proceed forward ignoring the message which just means that the data send from your device may be sent to fake device and not the actual server.

Once the user proceed, he will be redirected to WebAdmin where he or she can enter the root username and password which was given while setting up of Linux operating system.

Once the home page opens, the user can see an upgrade WebAdmin link at the bottom of the page. Clicking on that button will complete the upgrade process.

The below images show the user how to proceed further and see the final image about showing that the update is complete. The user can go to next step once this is complete. 

Step 8: How to do Shell Login
 Shell Login

Webmin Configuration

This step will help user understand how he or she can login to shell interface using normal browser.

As done earlier, again type the IP address of Pi followed by “:12320”. Please note the port number now is 12320 and not 12321.

So the number will look like 192.168.1.*:12320.

Once again the user will receive the security warning which he or she can ignore and proceed forward. Since its your server, the user know its safe to proceed.

Once, done the user will be re-directed to Shell interface. For those who are knew to the term Shell. Shell is similar to Command prompt in Windows, which provides command line operations to be carried on the server. Some key operations which can be done are addiiton of new users using Samba or editing of file using nano which is a command line editor.

Thus, once the interface opens completely, it will look like below image:

How to login may be difficult and require some explanation. The core login is server core which can be changed later. The normal login can be completed by entering the root username and password. For security purpose, password will be hidden.

Ignore the warning messages as they describe lot of things which are not relevant here.

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

Step 9: Reboot


Root Broadcast Message

Since, we have learnt how to use command line, we can do lot of stuff.

First we will learn how to reboot using command line.

The user can login to Pi terminal and see if the bottom line reads username@hostname~# in essence, root@core ~#

If yes, then type reboot and press Enter.

A message will be received by all the users about the reboot operation.

Reboot is one of the basic operations which is carried out a lot especially during server configuration.

The next step is about editing files using Nano.


Step 10: How to change host name

Host Name Change

The user can change the server name or the hostname as they may call it.

Currently, the server name is CORE and we will change it.

In the box terminal, the user can type hostname into the shell and can see CORE will be displayed.

To change it, user must type:

nano /etc/hostname

Then press Return to open the file present in the given directory. The hostname file will be opened in NANO editor. Once, the file is booted, the script content is displayed in the editor.

The user can delte the content and change it to desired name he or she wants to give for the server.

To exit, the user needs to press SHIFT and X and to Save they need to press Y.

Again, the user needs to reboot the server following same steps done previously.

After rebooting only, the changes will take effect and the user will be able to see the new server name in network location.

An external USB hard drive or USB stick which has storage can be mounted on booting. This step is for Drives formatted with NTFS format. If it is formatted otherwise like VAT32, skip this step.

The user must install NTFS-3g in order to mount the USB drive formatted with NTFS.

Open a new session in browser with port number of shell.

Type apt-get ntfs-3g

This command will install a package from the repository.

The package will be downloaded and installed in sometime and the user may see a screen similar to matrix which shows that the installation is in progress.

Once, the user is able to see  root@core ~#message again, it means server is ready to take next set of instructions which indicates that the mounting of hard drive is complete.

For mounting hard drive like media storage devices, user has to go back to Webmin.

In navigation bar click on disks and network file systems.

A new applet will be loaded where the user can select the drive to be mounted. From the dropdown box above the file system table, select the format in which the drive should be formatted. It’s better to take back up even though on Linux data won’t be removed during mounting.

Once done the next step is to choose the location and name the drive on the next page. For example, in our example the location is /media/serverhdd, where the drive will be mounted. On selection of disk, choose the single option from the drop down and choose “No” when asked for read only option. For rest, leave a default settings.

Now click on create. A new file system table will open with updated version.

The last entry will be the newly updated one.

Step 11: Hard Drive mounting

Hard Drive

We must configure it to mount at boot, if you are using ay external storage such as a USB hard drive or USB stick with the server. Follow the guide below; if your drive is formatted with the NTFS file system. Skip to the next step, if it has any other type of formatting such as FAT 32.

To mount with Linux, drives with windows NTFS formatting can be tricky.

We must install NTFS-3g, to allow the drive to be mounted. This resolves all issues I know of.

So, within your browser open up a tab. A new terminal session; port of shell in a box and point it to the address.

Type apt-get ntfs-3g first.

To grab a package from the repository, install it by using apt-get command.

The downloading and installation of the package look like a scene from the matrix.

How the process should look, images are given below:

When you see the root@core ~# message again, it means you are done. “I’m ready for my next comman master” this is just the server’s way of saying.

Step 12: continued mount the hard drive

Hard Drive

To continue mounting the storage media, head back over to webmin.

Click disks and network filesystems from within the system dropdown from the top navigation bar.

Where we can select and mount the drive, this will load the applet. Just above the file system table and select the format of the drive you are mounting, to begin mounting click dropdown box. However it’s always best to have a backup, mounting a drive within Linux will not remove your data.

To name the mount and choose the location, this next page will allow you. Mount in the location/media/serverhdd, we will create out. Within the dropdown to choose from, select disk and there should only be one option. Where you have the option for read only, choose No. for everything else keep the default settings.


Click on create, once you have the same settings as above. To an updated file system table this will take us back.

This is the one we just created, notice the fourth entry.

Step 13: Installing My SQL


Our next step would be to install MySQL. My SQL is a free tool. Using My SQL we can host secure online databases which are accessible by PHP scripts, Which means a PHP script can be used by a login page (such as the ownCloud login page) to check usedname, password or other login details and allows user to access correct files, thus, login.

Let’s install without delay.

For installation:

Webmin admin console is to be logged in. After login move the mouse over unused modules category. Click My SQL entry.

A page opens showing that module is either incorrectly configured or not installed. Click the option ‘click here to have it installed by apt’ as it’s not installed. Apt is a Linux package manager that enables us to install or uninstall packages or software applications


While the package is getting installed, a lot of code would be visible running on the webpage. Once the code is completely run, at the bottom of webpage it will notify that package has been added.

After completing installation, go to webmin server dropdown. Select My SQL Database server entry to load the interface.

Follow the next step to ass a database

Step 14: Adding a database to My SQL

My SQL Symbol

We have to add a database to My SQL to be used by ownCloud. The information will be stores as tables and fields in the database by ownCloud. The information can vary from usernames and passwords to user specific file size limits and file paths, which makes it very clever.

Adding a tables is fast and simple. Firstly, click Add a databse on MySQL databse manager page in webmin.

Once the new database page is loaded, name it and rest of the options should be left as default. I have named my database as owncloud for easy reference. Nate down the name for later use. No tables or data is required to be added as data will be populated during ownCloud installation.

Find Create at the end of the page and Click. The new table will be visible on the management page.\

Quite simple. Next step is to add a user.

Step 15:  Adding a user to My SQL

ownCloud prep

My SQL is a type of multiple user database management system. It means the various databases and their data can be accessed by more than one users. This feature can be used to assign different permissions to different users.

Why do we need this?

There are several reasons to implement this feature. Firstly, to avoid security breach. For instance, if someone hacks and acquires access to program or service code which uses a database in My SQL, he can de-crypt the login details to My SQL server. It means he can have access to sensitive data within other databases as well. But with multi user functionality, the database server can be saved. It is because, separate accounts have separate responsibilities like managing the server, reading, modifying or creating the tables etc. Although it is highly unlikely, but if anyone does gain access, he would have only a few limited permissions that too pertaining to delegated database. Hence, we do not compromise security of other services using SQL database server.

Secondly, in case a piece of code in the service starts malfunctioning and starts erasing or deleting the database, it will only be able to access its own database. So we will not lose everything.

Very Clever.

Now let us create a user. This user account you are creating now will further be useful in ownCloud so use an easy to remember username and password that you can identify later.

My SQL database server is to be opened.

First, Click User Permissions. This will navigate you to the page showing list of users and corresponding info.


Now click Create New User. This will load the add user page. You can now add ownCloud database access user. Now you have to insert the following information in the fields:

Username: owncloud

Password: you can choose any but you have to remember it.

Now you can select all permissions beside superuser. To do this click on first entry, hold shift, scroll to last entry and click. Now deselect the superuser entry by holding ctrl and clicking.

You can alter the maximum concurrent logins. I suggest change it to 15 as we will not have more than15 login users connected simultaneously.

Other options should be left at default. Click create.

New user is created and we are back at user accounts page. The added user is visible here now. Hence the new user is created successfully. Later during the ownCloud setup, the account will be tied to specified databse by owncloud. (The one we created and was named cloud). Let’s go further.

Step 16: PHP installation


Here we have to install PHP along with its varied add-on’s so that it becomes compatible with services like MySQL that we have already installed.

We start with opening a terminal session with shellinabox(Port 12320).

Login. Now type: apt-get install php5 php-pear php5-mysql

And press Enter.

This will enabke the installation of PHP and the required dependencies for ownCloud and Transmission.

When we reach the mentioned point, we hit Y. This check is APT asking for permissions to use some specified amount of disc space to install the requested program. This is a common check.

We can now see the files bring fetched from mirrors. We know we are all done when we see root@core ~#.

Next step is to set up oqnCloud.

Step 17: ownCloud Installation
.Own Cloud Instalation

The user can install ownCloud using Graphic User Interface better known as GUI within webmin.

Go to webmin and choose the system software packaged from the dropdown options of the system.

The user will be re-directed to installation of packages page.

Look at the option: Install a New Package, it will be in the second section. Select Package from APT radio button.

Type “owncloud” in the box corresponding to above package and click on install.

Once, the script finishes running, ownCloud is installed successfully.

Continue reading to learn how to configure ownCloud.

Step 18: Setting up ownCloud

Hard Drive

The user needs to have a folder in the hard drive for setting up ownCloud instance, so first create a folder where the data can be saved.

Now, open shellinabox session and type the below lines of code in the same, seperately:

1 cd /media/serverhdd

2 mkdir cloud

3 chmod 750 /media/serverhdd/cloud

Once done, the new folder will be created with permissions which allow ownClooud to write data inside it.

Follow next step to move forward.

Step 19: Configuration of ownCloud

Own Cloud Instalation

Once ownCloud is installed, we should begin testing.

Enter the ip address of ownCloud which is: 192.168.*.*/owncloud

Click on Next, where the user may be asked to install subdirectory. The user can either remove text given in the field and click on next or cancel it.

Now comes the essential part, the user will now be on page where the user needs to define the location where data needs to be saved, admin account and other SQL information.

Key in the username and password.

Then click on 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

Then click on MySQL. On clicking user will be able to see various options pertaining to database.

Give the username and password which was given earlier for SQL in ownCloud.

Give the database name which was created earlier.

Give localhost in the last box.

Then click on Finish setup.

Finally, the ownCloud set up is finished.

Next step teaches on how to create users.

Step 20: Creation of users for ownCloud

ownCloud prep

ownCloud contains lots of features and one can do lot of stuff using ownCloud. Unfortunately we cannot cover them as it requires another lesson. However, we focus on creating user account for ownCloud here.

On the top corner, go to User options and select Users from the dropdown menu.

The user management page will open.

Give username and password to create new user just above the list of existing users.

Then click on Groups dropdown box.

The user will see +add group button to add create new group.

Click on the =add group button and give a group name to create a standard user accounts. Please note: This is one time activity.

Press enter.

A new group will be created.

Click on create button.

A new user account will be created. The user needs to set data storage limit for the newly created user. In the table, Storage dropdown button can be chosen with respect to newly created user row to define limits. The first options chooses default settings.

User can give desired limit to data linked with the new user.

Once done, the new user account is created and configured. User can logout by clicking on logout on top right and test it out by logging in with newly created user credentials.

Next few steps will discuss about Samba.

Step 21: Using Samba for sharing

Samba Windows

Samba allows the user to share documents on windows PC on same network. Samba uses server as central file server within home to carry out this process. This activity is helpful if the user has more than one computer in same network.

In Webmin, user has to open the unused module so as to install it.

Then, select Samba Windows File Sharing to start.

Once a pop up message appears that the user don’t have that module, Click on Click here link to install it.

The package will be installed.

The complete package with Samba and its other dependencies will be installed.

Step 22: Setting up Drives using Samba

Samba Windows

Integration of Samba on Windows network is smooth as it is based on window file sharing protocol.

From the available server in Webmin, select Samba.

Select checker boxes in left side of default mounted directories.

Then, click on Delete selected Drives option at the bottom of the table.

To mount directories, click on new file share.

Once done, user can give name, path and give permission to Samba users.

For example: user can create share by giving:

Share name : Any relevant name of choice

Directory to share: /media/serverhdd/* (here * is a wild card. User can choose any folder path here, however, since we created cloud data, lets choose that as path.)

Directory to share: /media/serverhdd/cloud

Auto create directory: Yes

Owner: root

Permissions: 755

Group: Root

Available: Yes

Browseable: Yes

Once done, click on Create to create the share.

A new drive can be seen mounted.

Go to security access and Control options on the newly created share.

Change attribute Writable to yes.

Click on Save.

Come back to Samba homepage and carry the same process in order to mount any more new shares.

Next step teaches on how to create users who can login to shares using windows browsers.

Step 23: Creating users for Samba

ownCloud prep

User can use WebGUI for adding users, however, I personally do not believe it to be reliable and hence using terminal seems to be the best way to do it.

Open a shellinabox session

Please note that user must have a Unix account to create samba user so that the user can be linked to that account. Configuration of samba will also depend on permissions of Unix user account. The name of the samba user will have to be same as Unix server account.

Type pdbedit -a -u *username here*

Enter a password which you can remember and confirm it.

Once done, restart Samba for changes to take effect. The user can find a restart button at the bottom of the GUI.

Go to windows PC and access the share created previously.

Full details on the tool pdbedit are available here.

Step 24: How to access the share

Map network Drive

The next step is to learn how to mount share as volume. To do this first Open My Computer.

Follow the below location to reach Map network Drive.

In case of Windows 8: Under Computer group, there will be Top toolbar

In case of Windows 7: Toolbar is below file path

In case of Windows Vista: It’s in the dropdown located in toolbar below file path inside tools.

In case of Windows XP: Left click on white space.

On reaching Map network drive, mention the drive letter and choose from available options which will be shown.

The next step is to choose desired location, however, it should be in the format: \\*your server name here\*samba share name here*

Click on Sign-in to reconnect and give credentials.

Then click on Finish Button.

Once, the credential window opens, type the username and password.

Also, check the Remember button and Finish.

Now, the share can be used as media storage device in Windows.


Install Transmission

Torrent/download manager is a transmission. The service is running on to open the web UI, you simply visit the port. You can simply copy and paste URL magnet links, file links, torrent file links and more from there. The interface is very easy to use.

For installation open up a session of shellinabox and for transmission installation type: apt-get. The installation will begin.

Here you can see the downloaded and added files to the filesystem.

After installing the package, the running daemon (package), we need to stop. The setting file may become corrupt so this is important to do.

To stop the daemon type:/etc/init.d/transmission-daemon stop.

Next the username and password we need to configure for the instance. To login to the web user interface you’ll use these credential.

To edit the config file with nano, type: nano/etc/transmission-daemon/settings.json.

Whatever you wish, you can edit the user and password entries. rpc-password is the name of the password entry and rpc-username is for user.for exist press shift and x and for save changes press y.

You will restart the daemon next. Type: /etc/init.d/transmission-daemon start.

Now visit 192.168.2.*:9091. You’ll hit login dialog here. Now you have to enter the credentials and login.

After that, the interface will load by the successful login. For the manager to download simply use the add file icon to pase a link for the manager. Again on the transmission website full usage guides are available.

Step 26

worldwide access server

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

The two fundamental elements, we will use.

A free service available to anyone is the first: no-ip. The sync client and the online service account, it comes in these two forms. From the no-ip website, the accounts are free. You can create an account here.

A function built into almost all home routers is the second element: port forwarding. To redirect incoming requests to other devices on the network, this function allows us i.e., the server. Any incoming connection from outside your  home network will just direct us to the router management page and this has to be done. We need to land on our servers services page.

A simple way to connect to the server is provided by to do this the two features work together.

no-ip works like this;
Works like this sketch port forwarding.

To setup these tools continue.

Step 27


Open a new shell session to install no-ip.

To make the current working directory (folder) src, type: cd/usr/local/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

Before makes the files with make, change the cd (current directory) to no-ip folder using: cd noip-2.1.9-1.

Use make install to install.

Your no-ip registered email address and password to hand is needed during the installation. Leave the default update period as 30.

Use N key, when asked say no to run a script on successful update.

To confirm the client carried out it’s first update configure port forwarding on the next step, then login to no-ip.com

Step 28: How to do Port Forwarding

Port Forwarding

In this lesson, I can give only have a general discussion and cannot be precise on the steps as port forwarding is completely dependent on router and is different for different routers. Port forwarding feature also known as virtual host and its details can be checked from portforward.com.


The first step would basically involve typing username.no-ip.biz:* and wind up at the service allocated for *.

The four instances along with their port number which needs to be set are:

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

Since, there is no compulsion on input and output port to be same or different, the user can have userame.no-ip.biz:1 directed to Webmin, userame.no-ip.biz:2 directed to ownCloud, etc. so as to remember it easily.

Step 29: Taking Final back up



The final step is to take the backup of the OS in current stage by creating an ISO image after removing SD card and power supply. This procedure is followed so that the basic custom set up remains intact in case of any failure which may happen.

First place the SD card into the reader and then open win32diskimager.

Next step is to give the location where the user wants the back up to be taken. For instance: C:\Users\Dillon\Desktop\backup.iso. Make sure to give extension as .iso. This helps the software to recognize how to read the file and take back up.

Click on Read, rather than clicking on Write.

It will take few minutes nearly 5 to 10 minutes to complete the backup process. Once, complete, the SD card should be placed in Pi. If the user needs to do a system restore or a refresh, it can be done by simply using the backup created and following Step 5 of this lesson. The user can perform this step anytime during a major system change to have the latest changes as back up. I would recommend to take back up from time to time so that in case of failure, the user can have the latest backup with minimum changes to choose from.

Step 30: Thanks for reading and learning

worldwide access server

Finally, we have reached the end of this tutorials which has been considerably long.

If the user has been able to reach this far, I would say great job done. Though it would have been difficult, but it would encourage the user to learn new things about Linux.

Please let me know if you face issues to have any questions and I will be more than happy to assist you.





About Author

Leave A Reply