fstab in ubuntu

July 11, 2013 in Web Server

How to configure fstab in Ubuntu

what is fstab?

In fstab or FileSystemTABle,you will be able to find informations regarding all your mount points in your computer.

In other words is a list of disks and partitions and also include information regarding where they are mounted in your Operating System.

It maybe sounds a bit complicat right now but i think that you will be able to understand if you see an example.

I will post here an fstab file (you can find yours under /etc/fstab)


# <file system> <dir>         <type> <options>       <dump> <pass>
/dev/sda1         /                   ext4      defaults             1           1
/dev/sda2        /usr              ext4      defaults              1           1

/dev/sda4        /home         ext4       defaults             0            0
/dev/sda5         swap          swap    defaults              0           0
/dev/sdc1         /data2         ext4      defaults,auto     0           2
/dev/sdb1         /data            auto     defaults,auto     0           2

Lets check this table:

on the first column:

Here you can find informations regarding the hard drives and partitions. In this computer there are 3 Hard Drives sda1, sda2, sda3 . On the first hard drive the OS is installed and the other 2 hdds are there for some additional storage. The first hard drive is divided into partitions but the other hard drives are not in this example.

On the second column:

Here you can see where in your file system are mounted your hard drives and your partitions

On the third column:

You can specify here what is the file system of your partitions. Some of the options are: ext2, ext3, ext4, nfs, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap, and auto. the auto   is my favourite because in that mode you let the O.S. decide what kind of file system is your partition. This is very useful for CD and DVD ROMS.

On the forth Column:

Here you can specify how the system will mount your drives and partitions. You can add more than 1 option with “,”

auto – file system will mount automatically at boot.

noauto – the filesystem is mounted only when you want to mount it (you can the mount command)

exec – allow the execution binaries that are on that partition (default).

noexec – do not allow binaries to be executed on the filesystem.

ro – mount the filesystem read only.

rw – mount the filesystem read-write.

user – permit any user to mount the filesystem

nouser – only allow root to mount the filesystem (default).

suid – allow the operation of suid, and sgid bits.

nosuid – block the operation of suid, and sgid bits.

noatime – do not update inode access times on the filesystem. Can help performance.

nodiratime – do not update directory inode access times on the filesystem. Can help performance.

relatime – update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time (similar to noatime, but doesn’t break mutt or other applications that need to know if a file has been read since the last time it was modified). Can help performance.

sync – I/O should be done synchronously.

async – I/O should be done asynchronously.

defaults – this is the most used and it includes the default mount settings (equivalent to rw,suid,dev,exec,auto,nouser,async). I also like this one 😉

Fifth Column

This is where you tell to dump utility if it needs to be backuped or not. if its 0 the dump will ignore this one. if it is 1 the dump will include this drive in the backup process.

Sixth Column.

this is the priority on check disk and can be 0,1,2. the root file system must have 1 and that means high priority on check. the other can be 0 no check or 2 check after file system.

Install Google Chrome in Ubuntu 13.04

April 28, 2013 in software, Web Server

Google Chrome in Ubuntu



Download this package from here (right click and save link as…)and install it with Ubuntu Software Center or in Terminal:

navigate to the directory where the package is:

cd ~/Downloads

sudo dpkg -i libudev0_175-0ubuntu19_i386.deb


Install chrome:


Now just go to the following link:

http://www.google.com/chrome and download the chrome package.

then install it with Ubuntu Software center or from the Terminal like before.

Enjoy the Google Chrome

Manage Cisco Switch / Router from Linux

April 14, 2013 in Services, Web Server

Connect your Cisco Switch / Router on Ubuntu

Requirements for Configure a Cisco device from Console port:

A Host machine with your preferred O.S. In this case I’m using an Ubuntu 12.04 LTS.

A serial port in your computer motherboard or a USB to RS232(Serial) Converter.

A text based terminal emulation (i use minicom in this example)

Its also useful to install a TFTP server on your machine if you want to copy file from or to your Cisco switch / Router. I choose to use the tftpd-hpa

Check for active Serial ports on Linux:

Before we proceed we need to check all the available Serial ports on your machine and write down the port name because we will need it for configuring minicom. Open a terminal and type :


dmesg |grep tty


In my case i have a pl2303 USB to Serial Converter and the name of this device is “ttyUSB0”

How to Install Samba Server on Ubuntu

April 7, 2013 in Services

Installing Samba on Ubuntu

What is samba?

Samba is an easy way to share files over Linux And Windows environment. Samba is presented by samba.org and is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients.

Installing Samba.

lets update first the repositories.

open a terminal and type the following :

sudo apt-get update

now install samba

sudo apt-get install samba

now lets edit the configuration file of samba, but before that lets backup the initial configuration file.

cd /etc/samba/

sudo mv smb.conf backsmb.conf

Setup public folder:

First we will create the configuration for a share folder accessible from everyone without any user need it

sudo nano smb.conf

for that add the following to this file:

workgroup = Workgroup
server string = My Samba Share %v
security = user
map to guest = bad user
dns proxy = no
comment = This is a folder accessible from everyone
path = /sharefolder
browsable = yes
guest ok = yes
read only = no
create mask = 0755

next we need to create the directory that will host the share folder and change the user permissions

Apache load balancing and failover

October 5, 2012 in Web Server

Apache load balancing and failover with pound

What is server load balancing?

Load balancing is a way to split all the income requests, to more than 2 servers. You must have a load balancing when you have a lot of income requests that a server can not handle. If you have for example a web site with a lot of visitors that a single server will not be able to handle, you must split the traffic to 2 or more web servers.  In this tutorial i will use 2 web servers and a load balancing server to redirect the http request.

What is server failover?

If you have a web site in a web server and you want for example to close this server for maintenance reasons or if your server due to a technical reason stop operating, your website will be offline until you fix this problem! Fail over is a way to automatically redirect the incoming requests for your website to another web server.

In this tutorial you will find an easy way to load balancing and failover using pound. Pound is an open source reverse proxy that can handle load balancing and failover with a strong emphasis in security.

Lets say that you have a static ip (i will use a non-existing IP, a domain name (allaboutlinux.eu) for your website, a webserver (with internal IP and a router (configured to redirect all the incoming requests for port 80 to If you have all the above its easy to create a public website hosted on your webserver. But this server has no failover or load balancing since its a single server.


If you need failover and load balancing you will need one more server with a replica of your website and a server that will handle the load balancing and fail over. Lets start creating the Pound server!

how to install Webmin on ubuntu

September 20, 2012 in Services

Install webmin on Ubuntu

what is Webmin?

Webmin is a great tool for unix system administrators. With Webmin you can easily config and manage a server from a web browser. You will be able to manage Users, Apache, mySQL, DNS, File system, Backup and many more

What you need in order to install Webmin

Since this is a web based tool you will need a web server like Apache. If you already have Apache installed please skip this step:

Ok lets install Apache.

You can install Apache2 from the Terminal by using:

sudo apt-get update

sudo apt-get install apache2

when the installation finish Apache is up and running and you can test that by point your web browser to http://localhost/

The default site will came up with a message that says “it works”.This html file is located under your local file system in folder /var/www/

Lets go on the next step “How to install webmin on Ubuntu”

How to install Drupal 7 on ubuntu

June 26, 2012 in CMS

How to install Drupal 7 on ubuntu Part 1

This is a full article on how to install Drupal on Ubuntu, that means you can use this guide even if you have a clean installation of Ubuntu, and I will try to keep it as simple as I can.

What you will need in order to install Drupal.

First of all you will need a LAMP Server(more information can be found here).

1. You have to install a Linux system(you can choose whatever you want. A guide on how to install Ubuntu can be found here).It doesn’t really matter if you choose a desktop or server edition but if you are planning to publish your Drupal website I strongly recommend to use a server edition of Ubuntu for example.

2. You will need Apache (more information can be found here)

3. You will need MySQL (more information can be found here)

4. You will need PhP (more information can be found here)

5. And last but not least you will need to download Drupal from official site.

Let’s go to the next Part and install Lamp

Bash script for beginners

June 25, 2012 in Bash script

Bash scripting for beginners Part 1

What is Bash script?

A Bash script is mainly a set of commands that can be executed in a Terminal. You can create a Bash script file (filename.sh) and execute the set of commands inside that file as many times as you want. So if you want to execute a set of commands periodically then you should think “Bash script”.

Bash script is more than that. You can actually use that as a programming language in order to create small programs that can be executed in a terminal.

And as they say the most easy way to learn a language is to create a program with that language and try to improve it. (I don’t really know if people say that, but that is the way of this tutorial.

So in this tutorial i will explain how to create bash scripts while you are creating a backup program.

Lets start Bash scripting

echo Comments

To do so, let’s create some folders that we will need in order to store our scripts and backups.

Open a terminal and type:

cd ~/Desktop

mkdir bash

cd bash

mkdir code

mkdir backup

Now go into “code” folder

cd code

Just before we start the backup program let’s create first a bash script for “Hello  World”, so you can understand how to create and then execute a script.

In order to create a Bash script you will just need a text editor such as “gedit”. You can use your favorite text editor but I will use gedit since this editor comes with Ubuntu.

Open a terminal and type:

gedit ~/Desktop/bash/code/helloworld.sh

enter the following text to gedit,

# Bash scripting with allaboutlinux.eu 
echo Hello World

press “save” and close gedit

Almost done! Now you have to make that file executable. Open a terminal and type:

chmod +x helloworld.sh

And now you are ready to execute your first Bash script. Open a terminal and type:

cd ~/Desktop/bash/code


Now you should see “Hello World”.

Just a quick explanation of the script:

You can use “#” in order to “comment” a line. So the line “# Bash scripting with allaboutlinux.eu” is just a comment and has nothing to do with the script. there is an exception to that rule that applies to the first line that starts with “#!” this line defines which interpreter to use. in this case we use bash.

You can use “echo” in order to print something in the terminal.

If you have understood everything in this part you can go to the next part where we will start making our backup program.

host a forum

March 26, 2012 in forum

How to create and host your own forum on Ubuntu.


A web server With PHP Support. (In this tutorial I use Apache2)

SQL database. (In this tutorial i use Mysql and PhpMyadmin to configure Mysql)

If you already have Apache Php Mysql and Phpmyadmin installed then you are ready to go if not please follow these tutorials first (Lamp on ubuntu and Phpmyadmin)


First we will need an empty database where our forum will store contents.

Read the rest of this entry →

How to run PHP on Ubuntu

March 21, 2012 in Php

How to run PHP on Ubuntu.

First of all you will need a web-server to host our PHP pages.

In this tutorial I ll use Apache2. You can install Apache2 from the Terminal by using:

sudo apt-get update
sudo apt-get install apache2

when the installation is finished, Apache is up and running and you can test that by pointing your web browser at http://localhost/

The default page will come up with a message “it works” and some more info.This html file is located under your local file system in folder /var/www/html/

Now you have to install PHP.

To install PHP and PHP support for Apache, just write the following in console:

Read the rest of this entry →