I just setup my machine at home with Ubuntu 8.10 (desktop) which was so easy think I saved hours off the time it would normally take with Windows. So much is already installed and ready to go and with apt (or the Synaptic package manager) it’s super quick to download and install extra things things like MySQL, PHP, Apache, Java etc
Here are some notes which helped me out when configuring some of these development tools.
This assumes you’ve already installed Apache and MySQL, for notes on installing these I found this article to be a great resource.
If you get this message when you restart Apache, “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName“, edit /etc/apache2/conf.d/fqdn and add “ServerName localhost”:
sudo nano /etc/apache2/conf.d/fqdn
Load the mod_rewrite module for Apache
sudo a2enmod rewrite
Enable your Apache vhosts
I already had all my vhosts defined in separate .conf files on my windows box, so I copied them all into /etc/apache2/sites-available and setup symbolic links from my /etc/apache2/sites-enabled:
sudo ln -s /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/mysite.conf
Download and install PHP
sudo apt-get install php5 libapache2-mod-php5
PHP connector to MySQL
sudo apt-get install libapache2-mod-auth-mysql php5-mysql
Install MySQL Administrator
sudo apt-get install mysql-admin
Install subversion
sudo apt-get install subversion
I am also using Pulse to manage my eclipse development environment so I needed Java which I got from the Synaptic Package Manager (sun-java6-bin). Pulse is super cool, I used the standard cfeclipse profile with the addition of the PHP PDT (for developing in PHP).

9 Comments
I love Ubuntu/Debian aswell. To make it a tiny bit easier Debian/Ubuntu has a2ensite which will manually create the sym link for sites-enabled ie: a2ensite mysites.conf
Ain’t it more easy to install LAMP with “tasksel”
?
@starenka – nice, I didn’t know of tasksel before! For other interested in what this is you can read more here: https://help.ubuntu.com/community/Tasksel
I wonder if you still need to activate particular modules like mod_rewrite, or the php connector to mysql.
I guess if you don’t want to use tasksel you can always do:
sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-serverI don’t quite remember. They’re installed for sure, but maybe not enabled as default. Enabling php or mod_rewrite is just matter of symlinking those files from mod_available to mod_enabled. You got it done in a jiffy.
You may need to activate individual mods (after you apt-get them) but again there is a inbuilt tool a2enmod modName that will create the symlinks for you.
I’m pretty sure, you don’t have to apt-get them. You already have them if you use tasksel. So the most easy way seems to tasksel and use a2enmod… right?
Doesn’t Ubuntu favor aptitude over apt-get nowadays? I believe apt-get was deprecated and only available for backwards compatibility. I could be wrong through…
@Luke – I haven’t heard that and it looks as though (judging by the examples) apt-get is more common on the Intrepid (8.10) page: http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Hi Michael, Nice tutorial.
One thing – I’m pretty sure you don’t need: libapache2-mod-auth-mysql – it’s only if you are using http authentication against a mysql server. You don’t need it if you just want php to talk to mysql, for that you just need php5-mysql
@Luke – re aptitude over apt-get. aptitude is just a console ui for apt-get, under the hood it still calls apt-get to do installs etc. aptitude is comparable to synaptic. I.e. it’s great when you are not sure what you need to install as you can search friendly descriptions. But apt-get is the man for command line work
Cheers,
Mark