Why not just do sudo apt-get install lamp-server^ libapache2-mod-perl2 ? The lamp-server^ package should install Apache2, MySQL, PHP, (which should already be set up to work together). The libapache2-mod-perl2 should add Perl support to Apache.*

For permissions, I usually do this:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www

Then you can make a link in your home folder that points to the webserver directory:

sudo ln -s /var/www /home/<yourusername>/www

By default, when you install Apache this way, it is started on boot.

I think it would be much easier to use the Ubuntu's way to install software on Ubuntu. That way, you will automatically get updates to your software through the package manager.

*I haven't done this before. You may need to follow the end of this page from the heading "Configure a cgi-bin directory" on.


several months ago i've solved that problem when i change my 32bit to 64 bit. note: xampp for linux called lampp. because lampp was compiled for 32bit so when you want to using in 64bit ubuntu, 32bit shared libraries must be installed. sudo apt-get install ia32-libs (64bit ubuntu only)

  1. Download lampp in http://www.apachefriends.org/en/xampp-linux.html
  2. for each user has a web folder (example /home/astro/public_html), uncomment this configuration on lampp apache configuration

    sudo vim /opt/lampp/etc/httpd.conf

from #Include etc/extra/httpd-userdir.conf to Include etc/extra/httpd-userdir.conf

you can change default folder name in /opt/lampp/etc/extra/httpd-userdir.conf

  1. Actually lampp was included GUI for start or stop daemon (like xampp in windows) sudo /opt/lampp/share/xampp-control-panel/xampp-control-panel.py (must using a root privileges using sudo, but you can do some trick like changing sudoers,etc).

  2. and for "Start Xampp when Ubuntu Boot Up or Start Ubuntu". sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d lampp defaults

hopefully works and sorry for my english :)