XAMPP Installation and Configuration
What is XAMPP ?
XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use – just download, extract and start.
XAMPP Supported Platforms
a version for Linux systems (tested for Ubuntu, SuSE, RedHat, Mandrake and Debian),
a version for Windows 98, NT, 2000, 2003 and XP,
a beta version for Solaris SPARC (developed and tested under Solaris 8),
and a beta version for MacOS X.
This MacOSX and Solaris versions of XAMPP are still in the first steps of development. Use at you own risk!
XAMPP for Linux Packages
The distribution for Linux systems (tested for SuSE, RedHat, Mandrake and Debian) contains: Apache, MySQL, PHP & PEAR, Perl,ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.
Installing XAMPP in Debian
Download XAMPP Latest version from the following link
At the time of writing this article XAMPP version is 1.5.3a
Now you should be having xampp-linux-1.5.3a.tar.gz file in your downloaded location
Go to a Linux shell and login as root:
Extract the downloaded archive file to /opt
#tar xvfz xampp-linux-1.5.3a.tar.gz -C /opt
XAMPP is now installed below the /opt/lampp directory.
Start XAMPP Server
To start XAMPP simply call this command:
Starting XAMPP for Linux 1.5.3a…
XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP: Starting ProFTPD…
XAMPP for Linux started.
Test Your XAMPP Installation
OK, that was easy but how can you check that everything really works? Just type in the following URL at your favourite web browser:
XAMPP Security Configuration
As mentioned before, XAMPP is not meant for production use but only for developers in a development environment. The way XAMPP is configured is to be open as possible and allowing the developer anything he/she wants. For development environments this is great but in a production environment it could be fatal.
Here a list of missing security in XAMPP:
The MySQL administrator (root) has no password.
The MySQL daemon is accessible via network.
ProFTPD uses the password “lampp” for user “nobody”.
PhpMyAdmin is accessible via network.
Examples are accessible via network.
MySQL and Apache running under the same user (nobody).
To fix most of the security weaknesses simply call the following command:
It starts a small security check and makes your XAMPP installation more secure.
Start And Stop Server Services
Stops and starts XAMPP.
Starts only the Apache.
Starts the Apache SSL support. This command activates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay activated.
Starts only the MySQL database.
Starts the ProFTPD server. Via FTP you can upload files for your web server (user “nobody”, password “lampp”). This command activates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay activated.
Stops the Apache.
Stops the Apache SSL support. This command deactivates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay deactivated.
Stops the MySQL database.
Stops the ProFTPD server. This command deactivates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay deactivated.
Starts a small security check programm.
For example: To start Apache with SSL support simply type in the following command (as root):
You can also access your Apache server via SSL under https://localhost.
Important Configuration Files And Directories
opt/lampp/bin/ – The XAMPP commands home. /opt/lampp/bin/mysql calls for example the MySQL monitor.
/opt/lampp/htdocs/ – The Apache DocumentRoot directory.
/opt/lampp/etc/httpd.conf – The Apache configuration file.
/opt/lampp/etc/my.cnf – The MySQL configuration file.
/opt/lampp/etc/php.ini – The PHP configuration file.
/opt/lampp/etc/proftpd.conf – The ProFTPD configuration file. (since 0.9.5)
/opt/lampp/phpmyadmin/config.inc.php – The phpMyAdmin configuration file.
If you want to confiure apache2 you have to use /opt/lampp/etc/httpd.conf(If you want to change Apache DocumentRoot directory you can chage in this file).If you want to configure namebased and ip based virtual hosts check here
If you want to configure proftpd check here
If you want to configure mysql check here
To stop XAMPP simply call this command:
You should now see:
Stopping LAMPP 1.5.3a…
LAMPP: Stopping Apache…
LAMPP: Stopping MySQL…
LAMPP: Stopping ProFTPD…
And XAMPP for Linux is stopped.
Uninstall XAMPP From your Machine
To uninstall XAMPP just type in this command
#rm -rf /opt/lampp