Also, note that there is a graphical tool that you can use to start/stop your servers easily. You can start this tool with the following commands:

cd /opt/lampp
sudo ./manager-linux.run (or manager-linux-x64.run)

How can I test that everything worked?

Type in the following URL at your favourite web browser:

http://localhost

Now you should see the XAMPP start page containing some links to check the status of the installed software and some small programming examples.

Is XAMPP production ready?

XAMPP is not meant for production use but only for development environments. The way XAMPP is configured is to be open as possible to allow 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 "daemon".

PhpMyAdmin is accessible via network.

Examples are accessible via network.

To fix most of the security weaknesses simply call the following command:

sudo /opt/lampp/lampp security

It starts a small security check and makes your XAMPP installation secure. For example this protects the XAMPP demo pages by a username ('lampp') and password combination.

What is the meaning of the error messages I see when starting XAMPP?

You may get several error messages while starting XAMPP:

LAMPP-Apache is already running.
An Apache daemon is already running.

The LAMPP startup script did not start XAMPP-Apache because there is an Apache instance already running. To start XAMPP properly, first you have to stop this daemon.

LAMPP-MySQL is already running.
A MySQL daemon is already running.

Mostly due to the same reasons as the above error, the LAMPP startup script found a MySQL daemon already running on your system. To start LAMPP properly, you have to stop this daemon first.

Apache doesn't seems to start. What can I do?

This error can exist for multiple reasons. Apache displays this error under several circumstances. To find the exact reason we have to do some research: