Ubuntu (Hardy): Install Apache 2 Server

Setting up Apache 2 server on Ubuntu Hardy is pretty easy.

sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert


I choose apache2-mpm-prefork (single thread) over apache2-mpm-worker (multi-threaded requests). This is because mod_rails may work with apache2-mpm-worker, but is only currently tested to work with apache2-mpm-prefork.


Edit your apache configuration file:

$ vim /etc/apache2/apache2.conf

At the end of the file add the following:

ServerName your_server_name

And restart your server:

$ sudo apache2ctl graceful


If you get the following error when restarting Apache it means that you didn’t succeed in setting the ServerName:

apache2: Could not reliably determine the server's fully qualified domain name, using for ServerName


Start your prefered browser and open your server ip address (e.g., you should see something like this:

It Works!

Or use curl (command line is always better):

$ curl

You should see:

<html><body><h1>It works!</h1></body></html>

It Works!!!

Ubuntu (Hardy): Install Apache 2 Server

Ubuntu: Disable That Annoying Touchpad Click

In my opinion, one of the worse inventions since “PC”, is the annoying (and I’m been respectful) Touchpad. Not only it takes you out of your home row (keyboard), or the fact that you need like two passes for reaching corners. But because it really &*^#$%^*$ annoys me when typing accidentally make a click.

Lucky me… there’s a way to disable Touchpad-Click. Simply go to System > Preferences > Mouse, click on Touchpad tab, and uncheck: Ennable mouse clicks with touchpad.

So long Touchpad-click!!!

Ubuntu: Disable That Annoying Touchpad Click

Ubuntu (Gutsy): Change Default Keyring Password

I changed my user password in Ubuntu, everything was OK until the next time I booted my Linux box. Keyring Manager was asking me for a password (as my wireless connection needed stored WPA password), immediately figured out that this was caused by the password change.

The problem is that Gnome Keyring manager doesn’t have an option to change the default keyring password. So, if your user password is changed, every time you log in Keyring Manager will ask for the password you supplied during Ubuntu’s installation (awkward).

Due the lack of password change in Keyring Manager we need another application: Seahorse. To install type the following:

$ sudo apt-get install seahorse

Once installed open it (Applications -> Accessories -> Passwords and Encryption Keys), and then go to Edit -> Preferences menu. Select GNOME Keyring tab and change the password to match your actual Linux user password.

Keyring Manager

Ubuntu (Gutsy): Change Default Keyring Password

Ubuntu (Gutsy): DynDNS Client Setup

Hello again, this time we’re going to setup a DynDNS client so your computer/server can be reached from anywhere.

Step 1

First, you need to create an account with DynDNS to do so follow this howto: https://www.dyndns.com/services/dns/dyndns/howto.html.

Step 2

First we’ll install ssh and ssh-socket so we can send our DynDNS user and password encrypted instead clear text:

$ sudo apt-get install ssh libio-socket-ssl-perl

Step 3

Install ddclient:

$ sudo apt-get install ddclient

Step 4

The installation will prompt you some questions. For the first one it ask for your dynamic DNS provider, select http://www.dyndns.com:


Then, put your fully qualified domain name(s):


Now, your DynDNS requistered username and password:



And finally, type “web” as the DynDNS interface to use:


Ok, so long we’ve finished installing ddclient but there’s still more work to do in order to get it working properly.

Step 5

We, need to change the ddclient configuration file (/etc/ddclient.conf) in order to use ssh to send the username and password, and to properly check the IP adrress. From the command line open ddclient configuration:

$ sudo vim /etc/ddclient.conf

In the generated configuration file you’ll probably see something like the following (The parts in italics will be different, the bold parts are going to change so special attention on this):

# Configuration file for ddclient generated by debconf
# /etc/ddclient.conf
use=if, if=web

Step 6
We need to change the configuration so ddclient get our public IP address properly, and to send our username and password over ssh.

DynDNS has a web interface to get your public IP address, this is equivalent to manually invoking http://checkip.dyndns.com/. But we need to properly configure this interface, so change the line use=if, if=web for the following:

use=web, web=checkip.dyndns.com/, web-skip='IP Address'

Second, add to your configuration file just below the initial comments the following:


The above two lines tells ddclient to use ssl for its connection and to update your public IP address every 5 minutes (specified in secconds).

Step 7

Now, we must make sure that ddclient is set to run as a deamon. Edit /etc/default/ddclient:

$ sudo vim /etc/default/ddclient

And make sure that:

# Configuration for ddclient scripts
# generated from debconf on Tue Jan 29 20:23:32 CST 2008
# /etc/default/ddclient
# Set to "true" if ddclient should be run every time a
# new ppp connection is established. This might be useful,
# if you are using dial-on-demand
# Set to "true" if ddclient should run in daemon mode
# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.

Step 8

Finally, restart your ddclient and if no error is printed you’re good to go:

sudo /etc/init.d/ddclient restart

Port Forwarding

In order to deliver services on the net, you must open the corresponding ports for the services that your computer/server will provide, this is called Port Forwarding. Unfortunately this howto does not cover that topic. To do so you can visit http://www.portforward.com/routers.htm, where you can read how to port forwarding for your specific model of modem/router.

Happy hacking!

Ubuntu (Gutsy): DynDNS Client Setup

Linux: Configuring a Server for Static IP

This mini HOWTO explains the required configuration for a static IP.

Before proceed we must know the following configuration of our network:

  1. The IP Address to be used for our server;
  2. Netmask of our network;
  3. Broadcast IP address; and
  4. The gateway IP address.

First, we must open for edit the file /etc/network/interfaces:

$ sudo vim /etc/network/interfaces

Once there, we must find the network interface to be configured from a dynamic IP address to a static one. In this case it will be eth0:

auto eth0
iface eth0 inet dhcp

In the above example we can see that the interface eth0 is configured for dhcp (dynamic address). To change to static IP address configuration we must set the following:

auto eth0
iface eth0 inet static

Finally, we restart networking services:

$ sudo /etc/init.d/networking restart

And that’s it, we’ve now our server configured for static IP address.

Happy Hacking!

Linux: Configuring a Server for Static IP