XAMPP est une solution Linux/Windows/MacOS, Apache, MySQL, PHP. Son avantage certain, réside dans le fait qu'il contient un nombre très important d'applications, ce qui en fait une solution très complète, mais surtout très rapide à mettre en oeuvre. De plus, il est tout de même largement paramétrable.

Toutefois, comme il est précisé dans la documentation Ubuntu, XAMPP n'est pas fait pour être un environnement de production, en effet, il sera alors préférable d'installer chaque application à la main, via Synaptic ou apt-get. Néanmoins, à l'inverse de ce qui est cité dans la doc Ubuntu, d'une part XAMPP peut facilement devenir un ensemble assez sécurisé, au moyen d'un utilitaire, et d'autre part les fichiers de configuration d'Apache, de MySQL, de PHP, de proftpd, etc. sont bien présents et peuvent être modifiés.

1. Installation

Voyons tout d'abord comment installer XAMPP, il vous faudra en premier lieu télécharger l'archive, et l'extraire soit en mode console :

sudo tar xvfz xampp-linux-1.5.1.tar.gz -C /opt

Soit par le mode graphique en faisant click droit > extraire ici sur l'archive et en la déplaçant vers le dossier /opt de votre Ubuntu.
L'installation est terminée...

2. Lancement et arrêt

Comme il est indiqué dans la documentation Ubuntu, pour lancer XAMPP, il suffit de saisir cette commande :

sudo /opt/lampp/lampp start

Ce qui doit vous retourner :

Starting XAMPP for Linux 1.4.11...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Il ne vous reste plus qu'à lancer votre navigateur et vous rendre sur la page http://localhost/, ce qui devrait directement vous renvoyer vers la page de xampp. Cliquez alors sur Statut, afin de bien vérifier que tous les composants se soient bien lancés. Pour arrêter XAMPP :

sudo /opt/lampp/lampp stop

3. Configuration et sécurité

Sélectionner sa version de PHP

Avec XAMPP, vous pouvez choisir votre version de PHP, entre PHP 4 et PHP 5. La commande suivante vous permet de savoir quelle version de PHP est activée sur votre serveur :

sudo /opt/lampp/lampp phpstatus

Pour sélectionner uniquement PHP 4 :

sudo /opt/lampp/lampp php4

Pour sélectionner uniquement PHP 5 :

sudo /opt/lampp/lampp php5
Sécuriser son serveur Web :

Toujours dans la page d'accueil de XAMPP, vous pouvez consulter la partie Sécurité qui vous informe qu'aucun mot de passe ne protège les différentes applications de votre serveur Web.
Un utilitaire fournit avec XAMPP permet de palier à ce manque de sécurité :

sudo /opt/lampp/lampp security

Vous aurez alors :

XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: XAMPP: Password
(again):
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network. XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: XAMPP:
Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password: XAMPP:
Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: XAMPP:
Password (again):
XAMPP: Reload ProFTPD...
XAMPP: Done.
Créer son répertoire public_html

Jusqu'à présent, sur les anciennes versions de XAMPP, il suffisait de créer un répertoire public_html dans son home afin d'y placer ses fichiers et les joindre via la page http://localhost/~nom-d-utilisateur/.
Avec cette nouvelle version, il faut activer une option d'Apache, pour cela ouvrez un terminal :

sudo gedit /opt/lampp/etc/httpd.conf

Et retirez le # devant la deuxième ligne :

# User home directories
#Include etc/extra/httpd-userdir.conf

Vous pouvez maintenant vous créer votre dossier public_html.

MySQL est marqué comme désactivé

Si en vous rendant dans la page Statut de XAMPP, MySQL est mentionné comme désactivé.
Il faut changer les droits d'accès sur le fichier mysql, pour cela lancer un terminal :

sudo chmod 755 /opt/lampp/bin/mysql <em>(à vérifier)</em>

Il faut ensuite redémarrer MySQL :

sudo /opt/lampp/lampp reloadmysql
Backup de ses sites

Je n'ai pas encore eu l'occasion de tester cette fonctionnalité, mais XAMPP inclut un système de backup des bases de données, des fichiers de logs, ainsi que des sources de vos sites (il ne doit par contre, pas récupérer les sources contenues dans le dossier public_html).

sudo /opt/lampp/lampp backup

Qui retourne :

Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-<em>date</em>.sh

Ainsi vous pouvez récupérer vos données via :

sudo sh <em>fichierbackup</em>
Fichiers de configuration

Voici où se trouvent quelques fichiers de configuration :

  • Apache : /opt/lampp/etc/httpd.conf
  • PHP : /opt/lampp/etc/php.ini
  • MySQL : /opt/lampp/etc/my.cnf
  • proFTPd : /opt/lampp/etc/proftpd.conf

4. Liens

6 mars 2006

RSS

Commentaires :

Tu oublies le meilleur :

sudo /opt/lampp/lampp php4 restart

ou bien :

sudo /opt/lampp/lampp php5 restart

;)

le 6 mars 2006 16:45

Quelqu'un pourrait me donner un conseil sur la meilleur plate-forme linux pour un serveur Web. J'ai testé Débian qui semble pas mal mais comme je ne connais pas vraiment Linux et que je veux que le serveur supporte un max de connection, puis-je avoir votre avis. J'avais installé xampp mais je vois qu'il est préférable d'oublier.

Merci

le 2 avril 2006 21:59

Salut NiKo,

Par contre, ce que j'ai pas sous les yeux et qui est bien pratique, c'est pour installer des librairies PEAR avec l'install de XAMPP.
J'éditerai mon billet de chez moi.
Tu es sûr de la commande pour redémarrer PHP ?

le 6 mars 2006 17:22

Sympa, sauf que le dernier lien est en anglais.
Et que j'ai pas réussi à lier mysql et php :-(

le 6 mars 2006 21:25

Gravatar photo
Ju.

Vraiment, j'ai beau chercher je ne comprends pas l'interet d'une solution comme XAMPP sur un poste linux, sur windows je comprends tres bien.

Ok, c'est pas pour une solution de production, c'est un serveur de developpement interne --> l'aspect 'securite' n'est pas primordial dans ce cas.

Le coup des dependances apt-get est tres commode, et c'est un peu la force d'une Ubuntu (merci Debian) le truc c'est que pas mal d'applications Ubuntu peuvent avoir besoin d'Apache ou de Mysql, et la Kaboom ! il ne peut y avoir qu'un service qui ecoute sur le port 80... en fonction de la base a atteindre on lancerait differemment un mysqladmin ?

Je porte pas trop dans mon coeur XAMPP aussi parce qu'il a genere pas mal de posts sur le forum, le probleme de l'installation d'application hors .deb c'est qu'une fois qu'on a mis le doigt dans la machine le reste suit :

1 Installation de XAMPP
2 J'ai besoin de Cacti
3 Oh cool y a un deb dans Synaptic qui prepare les bases et cree l'utilisateur cacti pour moi
4 Oh zut je dois faire l'install a la main, j'utilise XAMPP

;-/

Easyphp, Xampp sont tres bien pour Windows pour la simple raison qu'il n'y a pas de programme gerant les dependances des applications installees sur cet OS. Ce n'est pas le cas sous Ubuntu, une installation de phpmyadmin + mysql-server va amener tous les paquets necessaires, et si apache est mal configure par defaut --> bug report.

Si les fichiers de configuration des differents applications sont modifiables et accessibles, pourquoi ne pas partir de ceux par defaut d'Ubuntu ?
On beneficierai aussi des applications par defaut d'Ubuntu : a2enmod a2ensite etc... La possibilite de demarrer le serveur apache et mysql sans pour autant demarrer le serveur ftp au boot... c'est commode aussi .

Et pour finir avoir sur sa plateforme de developpement exactement les meme librairies que sur le serveur de production est un plus indeniable et peux eviter de petits desagrements inattendus.

Apres chacun fait ce qu'il veut (heureusement d'ailleurs) mais ce n'est pas a mon avis une application a conseiller.

le 6 mars 2006 22:09

j'ai installer XAMPP mandriva linux,et l'installation termine avec succes mais lorsque j'ai ouvrer un url pour start XAMPP ,je tapez localhost/ ,il me rende ce message : " IT WORKS."; maintenant je me suis bloqué ,que doit je fairs pour regler ce probleme.

le 9 avril 2006 21:58

boudj: Oui, c'est évident qu'une solution telle que XAMPP est insuffisante pour un serveur Web. C'est plus un environnement de développement rapide à mettre en place. Pour ce qui est de conseils quant à l'utilisation d'une distribution en particulier pour monter un serveur Web, la majorité le font maintenant très bien. Après il y a toujours les grands classiques, c'est à dire Debian, Fedora, Redhat, BSD, pourquoi pas SuSE ou Ubuntu serveur. Tout dépend en fait de tes besoins et de tes compétences. Mais franchement je doute qu'un blog soit le bon endroit pour récolter ce genre d'informations, un forum spécialisé serait à mon avis le mieux placé dans ce cas.

fayssal : est ce que tu as bien lançé la commande :
/opt/lampp/lampp start
c'est à dire pour lancer le serveur XAMPP. Tu dois tomber sur une page de XAMPP en allant sur localhost/
Si tu ne t'en sors pas, je te conseille de te tourner vers le forum de XAMPP ou encore le forum de la distribution linux que tu utilises...

le 9 avril 2006 23:22

oui j'ai deja lancer la commande :
/opt/lampp/lampp start
mais lorsque je rentre localhost
il ne me rende pas l'iconne de xampp
et merci pour votre repence .

le 10 avril 2006 00:31

Pb résolu
excusez moi d'avoir posté trop rapidement.
L'user par défaut est lampp (c'est marqué dans le texte qui propose de mettre les mots de passe). Merci

le 3 mai 2006 09:34

gros pb après avoir fait sudo /opt/lampp/lampp security
tout au long de cette procédure on m'a demandé de choisir un mot de passe. Je l'ai fait(par contre il n'a pas été défini de nom d'utilisateur). Maintenant quand j'ouvre une application de xampp par exemple PHPmyadmin le système me demande mon nom d'utilisateur (et le mot de passe). Je ne sais lequel donner (je suis sur Linux 386 et environnement KDE breezy). Pour le reste l'installation a bien marché.
Si qqun a la soluce , Merci

le 3 mai 2006 00:26

Il te faut sans doute faire un chmod -R 755 /opt/lampp/htdocs/xampp/ de façon à ce qu'il puisse récupérer le contenu du fichier des langues.
Tiens nous au courant.
Néanmoins, XAMPP doit être bien démarré et ceci ne te gène en aucun cas pour commencer ton développement.

A+

le 6 mai 2006 13:20

Bonjour, je suis sous Archlinux et après avoir lancé la commande "sudo /opt/lampp/lampp start", j'ai cette page lorsque je vais sur "localhost" :

"Warning: file_get_contents(lang.tmp) [function.file-get-contents]: failed to open stream: Permission non accordée in /opt/lampp/htdocs/xampp/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /opt/lampp/htdocs/xampp/index.php:2) in /opt/lampp/htdocs/xampp/index.php on line 4"

Je suis bien en sudo dans la console...je comprends pas..
Vous avez une idée ?

Merci d'avance.

le 5 mai 2006 21:05

Lorsque tu ouvres localhost, il tente d'ouvrir un panel de présentation de XAMPP, l'utilisateur par défaut est "lampp", comme il a été précisé plus haut. Concernant le mot de passe, étant donné qu'il n'y en a pas par défaut, tu as du en mettre un. Si tu ne t'en souviens pas, tu peux toujours supprimer le .htaccess, qui oblige à renseigner ce mot de passe et qui se trouve dans htdocs/xampp/. Bonne chance.

le 10 mai 2006 19:45

Bonjour, j'ai téléchargé XAMPP mais je suis buté à une difficulté: Je ne parviens pas à ouvrir le "localhost" car un mot de passe m'est demandé...quel est le "user" et le "password" correspondant?
Merci

le 10 mai 2006 11:59

bonsoir tout le monde
enfin je suis tombée dans le même problème que Mr fayssal
;seuelemnt pour moi il s'agit du serveur apache seuelemnt et pas de xampp;
je l'ai installé et une fois terminé j'ai voulu le tester j'ai lancé sur uen page web localhost/ mais ça affaiche seuelement IT WORKS ;je sais pas qu'est ce que je dois faire car d'aprés la doc que j'ai lu il faut une page index de apache s'affiche.

le 13 mai 2006 03:20

c'est un bon produit...pas de probléme d'installation...facile à utiliser...il merite un bonne note
bonne chance pour tout le monde coté develppement php...

le 2 août 2006 10:15

Gravatar photo
Seb

Salut à tous, j'ai suivi ce bon tuto pour installer xampp sur ma Ubuntu 64.
J'ai juste eu des difficultés pour afficher les pages correctements et pour que mysql se lance correctement.

Il a fallu que je mette les droits 777 sur les sous-dossiers var et tmp de lampp pour que mysql se lance correctement, si ça peut servir à d'autres...

A+

le 6 mars 2007 21:26