Configuring a XAMPP server for joomla development
From Joomla! Documentation
Revision as of 07:05, 23 May 2013 by Tom Hutchison
XAMPP is an easy-to-install package that bundles the Apache web server, PHP, XDEBUG, and the MySql database. This allows you to create the environment you need to run Joomla! on your local machine. The latest version of XAMPP is available at the XAMPP web site. Downloads are available for Linux, Windows, Mac OS X and Solaris. Download the package for your platform.
Important Note Regarding XAMPP and Skype: Apache and Skype both use port 80 as an alternative for incoming connections. If you use Skype, go into the Tools-Options-Advanced-Connection panel and deselect the "Use 80 and 443 as alternatives for incoming connections" option. If Apache starts as a service, it will take 80 before Skype starts and you will not see a problem. But, to be safe, disable the option in Skype.
As of August 5, 2010, XDebug has been updated (to version 2.1) which fixes some important bugs (for example, watching local variables for nesting functions). The latest XAMPP package (1.7.3) now includes this new version of XDebug. If you just want to update XDebug, you can download the latest module from . There is a handy website that tells you which XDebug binary you need, depending on your phpinfo() information here. To use it, you just copy the output of your phpinfo() display and paste it into the form on the site.
Installation on Windows
Installation for Windows is very simple. You can use the XAMPP installer executable (for example, "xampp-win32-1.7.3-installer.exe"). Detailed installation instructions for Windows are available here.
For Windows, it is recommended to install XAMPP in "c:\xampp" (not in "c:\program files"). If you do this, your Joomla! (and any other local web site folders) will go into the folder "c:\xampp\htdocs". (By convention, all web content goes under the "htdocs" folder.)
If you have multiple http servers (like IIS) you can change the xampp listening port. In <xamppDir>\apache\conf\httpd.conf, modify the line Listen 80 to Listen [portnumber] (ex: "Listen 8080").
Installation on Linux
Open Terminal and enter:
sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt
(replace xampp-linux-1.7.7.tar.gz with the version of xammp you downloaded). It has been reported that the MYSQL database of xampp 1.7.4 does not work with Joomla 1.5.22
This installs ... Apache2, mysql and php5 as well as an ftp server.
sudo /opt/lampp/lampp start
sudo /opt/lampp/lampp stop
starts/stops all the services
Test your xammp localhost server
Open your Browser and point it to
The index.php will redirect to
There you will find instructions on how to change default usernames/passwords. On a PC that does not serve files to the Internet or LAN then changing the defaults is a personal decision.
Download the latest Joomla instalation zip 
Unzip to your hard drive
Connect to localhost with an FTP client Default
Create a folder for your Joomla on the localhost server
FTP the unpacked Joomla installation files to the newly created Joomla folder.
- The xammp installation sets the correct Ownership of the files and permissions.
- Using the CHOWN command will cause Ownership problems with xampp.
- Using nautilus to manipulate folders/files on localhost will cause Ownership problems with xampp.
Default Database name
Default Database user
There is no default Password.
Administrator password is your choice.
Installing Sample Data is recommended for the novice user.
After installation delete the installation directory and point your Browser to:
To create a GUI for xammp connected to your Ubuntu menu
Open up the Terminal and type
sudo gedit /usr/share/applications/xampp-control-panel.desktop
Then copy the following into the gedit and save.
[Desktop Entry] Encoding=UTF-8 Name=XAMPP Control Panel Comment=Start and Stop XAMPP Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py" Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg Terminal=false Type=Application Categories=GNOME;Application;Network; StartupNotify=true
If the control panel fails to launch, try running the Exec command directly in the terminal:
gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
If you receive the error:
Error importing pygtk2 and pygtk2-libglade
Install the missing libraries:
sudo apt-get install python-glade2
XDebug PHP debugger
The XAMPP package for Linux does not includes the XDebug PHP debugger. To install XDebug on Debian or Ubuntu:
- Install the build-essential package:
sudo apt-get update sudo apt-get install build-essential sudo apt-get install autoconf
- Download the development package for your version of XAMPP and extract it over your existing installation:
sudo tar xvfz xampp-linux-devel-1.7.7.tar.gz -C /opt
- Build XDebug:
wget http://xdebug.org/files/xdebug-2.1.3.tgz tar xzf xdebug-2.1.3.tgz cd xdebug-2.1.3/ /opt/lampp/bin/phpize
After this you will have following output on your console…
Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 20090626
./configure --with-php-config=/opt/lampp/bin/php-config make sudo make install
Then the output will be this.. please monitor the directory specified.
Installing shared extensions: /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/
Create a folder in your temp folder that will holds the data file generated by XDebug:
sudo mkdir /opt/lampp/tmp/xdebug sudo chmod a+rwx -R /opt/lampp/tmp/xdebug
Install using PHP extensions community library (PECL) bundled with xampp:
sudo /opt/lampp/bin/pecl install xdebug
On Ubuntu/Debian you can install using:
apt-get install php5-xdebug
(warning: this will also install Apache and PHP from apt repositories).
Warning for 64bit users
When compiling XDebug or installing via apt-get, you will receive an error when (re)starting xampp:
/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so: wrong ELF class: ELFCLASS64
This is because xampp runs 32bit but XDebug is 64bit. To overcome this problem, either make xdebug.so on a 32bit machine or download it from:
Download the file: "PHP Remote Debugging Client" for "Linux (x86)" Extract the content of the file on your computer, this compressed file contains several folders with version numbers ex: 4.4, 5.0, 5.1 ... 5.3 and so forth, get in the folder with the higher version number or the one that works for you, then manually copy the file "xdebug.so" to the following location, overwrite if needed
Remember this location could be different on your computer
Installation on Mac OS X
Mac OS X actually includes an Apache server out-of-the-box, but most developers will prefer to use the integrated tools and configurability provided by XAMPP.
As with most programs on Mac, installation is a breeze. Visit Apache Friends - Mac OS X for the universal binary download.
Once the file has finished downloading, just open the disk image, and drag the XAMPP folder to the "Applications" folder alias.
To start the server, open "XAMPP Control.app" and press the start button next to Apache.
A Little Troubleshooting
Many Mac users have a little difficulty at this stage when trying to set up another instance of Apache on their machine. If you cannot start XAMPP's Apache, you have two options:
You can change the listening port of XAMPP. In \Applications\XAMPP\xamppfiles\etc\httpd.conf, modify the line that says, "Listen 80" to Listen [portNumber]. E.g.:
You can change the listening port of the pre-installed Apache server. In finder, go to "/etc" (CMD+SHIFT+G); from here you will be able to navigate through the normally hidden Apache files. Find the folder labeled Apache2, and edit the "http.conf" file. Modify the line that says, "Listen 80" to Listen [portNumber]. E.g.:
Note: If you choose to change the port of the pre-installed Apache server, you may need to restart your computer for changes to take effect. You will also have to authenticate as an administrator to change these files.
Test XAMPP Installation
Once XAMPP is installed and you have started the Apache service with the XAMPP Control Panel tool, you can test it by opening your browser and navigating to "http://localhost". You should see the XAMPP welcome screen similar to the one below.
Select the link called "phpinfo()" in the left-hand menu. This will display a long screen of information about the PHP configuration, as shown below.
At this point, XAMPP is installed successfully. Notice the "Loaded Configuration File" which is highlighted in the screenshot above. We will be editing this file in the next section to configure XDebug.