Solving Slow Firefox Web Browsing and Internet app problem on Ubuntu Karmic 9.10

Though this post might be dated as it concerns about Ubuntu Karmic Koala release (9.10), but nevertheless the problem can be considered as annoying and serious.

Bug Symptom
People who encountered this bug may report that web browsing speed is relatively slow compared to the internet speed as tested with http://speedtest.net, and some application which uses internet is behaving like it was having problems with network connection.

Actual problem
According to Ubuntu bug report #417757, this problem is caused by DNS resolver which attempts to request IPV6 AAAA record first. The problem is noticeable on application which supports IPV6, where the getaddrinfo() will ask for AAAA record which the DNS resolver does not understand. This will cause the DNS resolver to reject the request and caused a time out on the client side, which in turn cause the delay.

For a web browsing application like Mozilla Firefox, an average website would normally take about 4-10 DNS request and hence the effect would be more noticeable on web browser, making it look like the network is having problems with slow internet connections.

Solutions
The solution for this problem is to install a local DNS resolver (sudo apt-get install pdns-resolver) and to edit the “/etc/resolve.conf” file, changing the ‘nameserver’ parameter to 127.0.0.1

How to use rsync to backup and synchronize files to USB drive

Portable USB drive (sometimes called pendrive) has gained popularity as a medium for storing documents. Computer users would work on the files that they store on the usb drive and occasionally would copy them on their computer, or vice versa.

However this would cause problems if there’s a lot of files being worked on and transfered between usb drive and computers. Valuable time might be lost solely for identifying which of the files are more recent and need to be updated.

Fortunately there’s ‘rsync’, a tool which can be used to synchronize files between the computer and usb drive. Assuming you use Debian or Ubuntu, you only need to start ‘synaptic’ and select ‘rsync’ package. Once installed, start the terminal application and you can begin synchronizing the files using this command


$ rsync -r -vv /home/username/Documents/ /media/your_usb_drive

The general format of rsync command is :

$ rsync -r -vv <local document directory> <remote backup directory>

rsync only updates file which has been changed and would save time and precious harddisk space from maintaining duplicate files.

A Windows version is also available at : http://www.rsync.net/resources/binaries/cwRsync_3.1.0_Installer.zip

Quick Way to upgrade to Ubuntu 10.10 Maverick Meerkat

Ubuntu 10.10 Maverick Meerkat release is just around the corner!

Here’s how to upgrade Ubuntu 10.10 Maverick Meerkat using bash shell

sudo sed -i 's/lucid/maverick/g' /etc/apt/sources.list && sudo aptitude update && sudo aptitude dist-upgrade

sudo aptitude install update-manager-core
sudo do-release-upgrade -d

That’s it! Happy upgrading!

Ubuntu Tutorial Video from Screencast.Ubuntu.com

Reading through dozens of paragraphs, just to learn the basics of Ubuntu can be tedious, especially for those who don’t have much time on their hands to figure out about Ubuntu software repositories system. The good news is, they no longer have to read through articles full of vague descriptions anymore, instead they can get visual tutorial from Ubuntu Screencasts website!

The video listed on the website covers popular topics that would be asked by Ubuntu newcomers and is very easy to follow as it has narration. The videos are also available in high quality downloads (1280×720 resolutions) in several common media formats (flv, ogg, mp4).

The site is also updated weekly, and is one of Ubuntu sites that you shall not miss – Ubuntu Screencasts

How to setup Secure Webserver HTTPS (SSL) on Apache in Ubuntu

Secure HTTP (SSL/TLS) has become a must if you are planning to setup a website which includes user authentication (ie. login box) or sensitive data. HTTPS prevents the sensitive data from being transfered across the network in clear text where it is susceptible to being sniffed or altered. Here is the tutorial on how to setup a secure HTTP on Apache web server in Ubuntu 10.04 (Lucid Lynx).

What do you need?

  • apache2 (Web Server)
  • openssl
  • A bit patient, because it will take some time to learn

Step 1: Create a self-signed certificate
You need to create a self-signed certificate with openssl. To do that you will need to generate the server key.


openssl genrsa -des3 -out server-sec.key 4096

…and certificate signing request (CSR)


openssl req -new -key server-sec.key -out server.csr

After that, generate the server certificate by signing it with the server key.

openssl x509 -req -days 365 -in server.csr -signkey server-sec.key -out server.crt

Keep the server-sec.key in a secure location, with read/write permission assigned only to root. Then generate a password-less copy of the key for Apache use.

openssl rsa -in server-sec.key -out server.key

By this time, you should have :

  • server.key (passwordless key for Apache)
  • server.csr (certificate signing request)
  • server.crt (certificate)
  • server-sec.key (server key)

Continue reading “How to setup Secure Webserver HTTPS (SSL) on Apache in Ubuntu”