# TUTORIAL - Setting up LAMPP using XAMPP



## sachin_kothari (May 30, 2007)

Here goes my first Linux Tutorial for LAMPP using XAMPP. Actually i was searching for a way to install LAMP on my debian system when i came across this wonderful tutorial. Thought would be nice to share it. 

*Step 1: Download*
*www.apachefriends.org/en/xampp-linux.html

*Step 2: Installation*
After downloading simply type in the following commands:
1.Go to a Linux shell and login as the system administrator root:
su
2.Extract the downloaded archive file to /opt:

```
tar xvfz xampp-linux-1.6.2.tar.gz -C /opt
```
Warning: Please use only this command to install XAMPP. DON'T use any Microsoft Windows tools to extract the archive, it won't work.
Warning 2: already installed XAMPP versions get overwritten by this command.
That's all. XAMPP is now installed below the /opt/lampp directory.

*Step 3: Start*
To start XAMPP simply call this command:

```
/opt/lampp/lampp start
```
You should now see something like this on your screen:
Starting XAMPP 1.6.2...

```
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
Ready. Apache and MySQL are running.
```

*Step 4: Test*
OK, that was easy but how can you check that everything really works? Just type in the following URL at your favourite web browser: 
*localhost
Now you should see the start page of XAMPP containing some links to check the status of the installed software and some small programming examples.

*A matter of security (A MUST READ!)*
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: 
1.The MySQL administrator (root) has no password. 
2.The MySQL daemon is accessible via network. 
3.ProFTPD uses the password "lampp" for user "nobody". 
4.PhpMyAdmin is accessible via network. 
5.Examples are accessible via network. 
6.MySQL and Apache running under the same user (nobody). 
To fix most of the security weaknesses simply call the following command: 

```
/opt/lampp/lampp security
```
It starts a small security check and makes your XAMPP installation more secure.

*PHP 4 or PHP 5?*
Because such very new versions like PHP 5 always should be handled with care we decided to include both current versions of PHP into XAMPP since version 1.4.7: PHP 5.x and PHP 4.x. If you find out your PHP application doesn't work with PHP 5 you will be able to switch back easily to PHP 4.
By the following command you can switch "back" to PHP 4.x: 

```
/opt/lampp/lampp php4
```
And with the following command you can switch back to PHP 5.x: 

```
/opt/lampp/lampp php5
```
If you forgot which version of PHP is in use simply use phpinfo() or call this command: 

```
/opt/lampp/lampp phpstatus
```

*Advanced start and stop parameters*
start - Starts XAMPP. 
stop  - Stops XAMPP. 
restart - Stops and starts XAMPP. 
startapache - Starts only the Apache. 
startssl - 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. 
startmysql - Starts only the MySQL database. 
startftp - 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. 
stopapache - Stops the Apache. 
stopssl - 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.
stopmysql - Stops the MySQL database. 
stopftp - Stops the ProFTPD server. This command deactivates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay deactivated. 
security - Starts a small security check programm.

*What is where?*
/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.

*Stopping XAMPP*
To stop XAMPP simply call this command:

```
/opt/lampp/lampp stop
```
You should now see:

```
Stopping LAMPP 1.6.2...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.
```
And XAMPP for Linux is stopped.

*Uninstall*
To uninstall XAMPP just type in this command:

```
rm -rf /opt/lampp
```
The end.

Source - *www.apachefriends.org/en/xampp-linux.html


----------



## phreak0ut (May 30, 2007)

Neat! Will be needing this soon


----------



## praka123 (May 30, 2007)

*XAMPP - All in one web server Installation and Configuration in Debian*


----------



## sachin_kothari (May 30, 2007)

^^^ u gave the same contents as above. 
anyway i took all the contents from the source i mentioned.

*and here is another tutorial for LAMP configuration if you are using Debian and you dont want to install third party tools.*


```
# apt-get install apache2-mpm-prefork 

# apt-get install libapache2-mod-php4
```

add "ServerName localhost" to apache2.conf (/etc/apache2/apache2.conf in Debian) file, not httpd.conf 

Uncomment apache2.conf "AddType application/x-httpd-php .php" 


```
# gedit /etc/php4/apache2/php.ini
```
and uncomment this: extension=mysql.so 

add 
	
	



```
"extension=php_mysql.so"
```
 to /etc/php4/apache2/php.ini 


```
# apt-get install mysql-server 

$ mysql -u root 
mysql> SET PASSWORD 
-> FOR root@localhost 
-> = 
-> PASSWORD('your_password') 
-> ; 
Query OK, 0 rows affected (0.08 sec) 

mysql> exit 
Bye 
$
```


```
# apt-get install php4-mysql
```

*## Configure PHP *

Make sure your php configuration file (/etc/php4/apache/php.ini or /etc/php4/apache2/php.ini) has this line: 

memory_limit = 20M 

and the following lines uncommented: 

extension=mysql.so 
extension=gd.so


----------



## praka123 (May 30, 2007)

^ *debianadmin.org and *howtoforge.com rocks in dis regard


----------

