Contact Sales Sitemap Customer Login

HOWTO: Install LAMP on Ubuntu 6.06


System Repository Expansion

From the first SSH into a fresh Ubuntu 6.06 install (as root user!).

$ cp /etc/apt/sources.list /etc/apt/sources.list.original
$ vi /etc/apt/sources.list

you'll be in vi on the line

deb dapper main

Type two 'd's (that is 'dd'). That will delete the only line in the file.

Type 'i' to enter insert mode.

Copy the following text, and paste (shift-ctrl-v) it into the terminal so you'll be using a standard server configuration with the universe, multiverse, and restricted repositories activated.

## Add comments (##) in front of any line to remove it from being checked.    
## Use the following sources.list at your own risk.  

deb dapper main restricted universe multiverse
deb-src dapper main restricted universe multiverse

## MAJOR BUG FIX UPDATES produced after the final release
deb dapper-updates main restricted universe multiverse
deb-src dapper-updates main restricted universe multiverse

deb dapper-security main restricted universe multiverse
deb-src dapper-security main restricted universe multiverse

## BACKPORTS REPOSITORY (Unsupported.  May contain illegal packages.  Use at own risk.)
deb dapper-backports main restricted universe multiverse
deb-src dapper-backports main restricted universe multiverse

Type esc to exit insert mode.

Type ':wq' to write the file and quit.

Locales are improperly setup so run:

$ locale-gen en_US
$ locale-gen en_US.UTF-8

Update and upgrade your server.

$ apt-get update
$ apt-get upgrade

The repository indexes will be downloaded, and if you're asked if you want to install packages just hit enter or type 'y' and hit enter. Your system is now up to date (and slightly less secure, but hey, security's just a practice).

LAMP Installation

Install the Software

Paste this into your terminal as one line. You may not want phpMyAdmin, and you certainly don't need it, but isn't it handy?

apt-get install mysql-server mysql-admin apache2 php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql phpmyadmin

Type enter or 'y' and enter.

Setup MySQL

Only allow connections from localhost, especially for the root user.

$ mysqladmin -u root password your-new-password
$ /etc/init.d/mysql restart

Restart Apache

/etc/init.d/apache2 restart

Check the Installation

Make a php file to test the server:

$ vi /var/www/testphp.php

Type 'i' to enter insert mode and then paste (shift-ctrl-v) the folowing text.


Type esc and then ':wq' to save the file.

Go to You should see

Index of /

Icon  Name                    Last modified      Size  Description[DIR] apache2-default/        26-Jul-2006 17:50    -   
[DIR] phpmyadmin/             08-May-2006 11:57    -   
[   ] testphp.php             18-Aug-2006 13:03   24   

Apache/2.0.55 (Ubuntu) PHP/5.1.2 Server at Port 80

Go to testphp.php . You should see a whole slew of information about your PHP settings.

Go to

Log into phpMyAdmin as the root user!

If everything is's working.

Installing Postfix

Modified from

apt-get install shorewall libsasl2-modules-sql libauthen-sasl-cyrus-perl libauthen-sasl-perl libgsasl7 postfix postfix-mysql courier-base courier-authdaemon courier-authmysql courier-imap courier-imap-ssl courier-ssl courier-pop amavisd-new spamassassin spamc clamav-base libclamav1 clamav-daemon clamav-freshclam postgrey squirrelmail squirrelmail-locales

Select no when asked to use the courier web based administration

Select all defaults for Internet Site when installing postfix, we'll edit the configuration later.

Configure Firewall

$ vi /etc/shorewall/zones
#zone display comment 
loc Local Local network 
net Net The internet
$ vi /etc/shorewall/interfaces
net venet0 detect
$ vi /etc/shorewall/hosts
loc venet0:0:
$ vi /etc/shorewall/policy
fw loc ACCEPT fw net ACCEPT 
loc all DROP info
net all DROP info
all all REJECT info
$ vi /etc/shorewall/rules
AllowPing loc fw 
AllowSSH loc fw 
#AllowSMTP loc fw 
#ACCEPT loc fw tcp 465,587 - 
#AllowIMAP loc fw 
#AllowPing net fw 
AllowSSH net fw 
#AllowSMTP net fw 
#ACCEPT net fw tcp 465,587 - 
#AllowIMAP net fw
$ vi /etc/default/shorewall

Restart Shorewall

$ /etc/init.d/shorewall restart
Retrieved from ""
Recent Changes | RSS RSS Feed