XAMPP is a cross-platform open source package which consists of Apache Server, MySQL, PHP and Perl. The Linux version which was popularly known as LAMPP has been renamed to XAMPP for Linux. “X” in XAMPP stands for cross-platform. With XAMPP you can run your own Web Server locally or on a server that supports it. You can download XAMPP for Linux here: http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.1/xampp-linux-1.8.1.tar.gz/download?use_mirror=nchc&download=




Instaling XAMPP on Linux:

The installation part is very simple.Just extract the .tar.gz package and move the contents to /opt/ directory.
tar -xvzf xampp-linux-1.8.0.tar.gz -C /opt/

sudo chmod -R 777 /opt/lampp
 
To start XAMPP you will need root privileges. Type in the following command to start XAMPP.
sudo /opt/lampp/./lampp start
This may throw up a warning message saying my.cnf file is World Readable.

Warning: World-writable config file ‘/opt/lampp/etc/my.cnf’ is ignored
sudo chmod 455 /opt/lampp/etc/my.cnf
 
 
Now restart XAMPP.
sudo /opt/lampp/./lampp restart
xampp-restart


Configuring XAMPP:

Open Mozilla or Chrome and type in http://localhost/.
xampp-localhost


If you get a page that displays New Security Concept here is how you can solve it: http://stackoverflow.com/questions/6083323/new-xampp-security-concept
 
sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf
 
 
Copy and paste the below configuration into gedit and save.

<IfDefine PHP4>
LoadModule php4_module modules/libphp4.so
</IfDefine>
<IfDefine PHP5>
LoadModule php5_module modules/libphp5.so
</IfDefine>
# Disabled in XAMPP 1.8.0-beta2 because of current incompatibilities with Apache 2.4
# LoadModule perl_module modules/mod_perl.so
Alias /phpmyadmin "/opt/lampp/phpmyadmin"
Alias /phpsqliteadmin "/opt/lampp/phpsqliteadmin"

# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>

<Directory "/opt/lampp/phpsqliteadmin">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>

# since LAMPP 1.0RC1
AddType application/x-httpd-php .php .php3 .php4

XBitHack on

# since 0.9.8 we've mod_perl
<IfModule mod_perl.c>
AddHandler perl-script .pl
PerlHandler ModPerl::PerlRunPrefork
PerlOptions +ParseHeaders
PerlSendHeader On
</IfModule>

# demo for mod_perl responsehandler
#PerlModule Apache::CurrentTime
#<Location /time>
# SetHandler modperl
# PerlResponseHandler Apache::CurrentTime
#</Location>

# AcceptMutex sysvsem is default but on some systems we need this
# thanks to jeff ort for this hint
#AcceptMutex flock
#LockFile /opt/lampp/logs/accept.lock

# this makes mod_dbd happy - oswald, 02aug06
# mod_dbd doesn't work in Apache 2.2.3: getting always heaps of "glibc detected *** corrupted double-linked list" on shutdown - oswald, 10sep06
#DBDriver sqlite3#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
Allow from all
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
 
 
Now restart XAMPP using command-line. Open localhost/phpMyAdmin. Everything should work fine!