Ceci est une ancienne révision du document !


TODOlist :
Remettre la page au goût du jour (modifier les liens vers les packages Hardy), respecter les règles de rédaction.
_Enchained

XAMPP : un serveur web de développement facile

XAMPP est un produit qui installe très rapidement et facilement un ensemble complet de services pour faire tourner un serveur web. Cette solution est très pratique pour créer un serveur de développement, car il permet au néophyte d'avoir un serveur de test en quelques clics, sans avoir à choisir ni connaître les différents services à installer.

Toutefois, XAMPP n'est pas destiné à un environnement de production ; cette solution est peu sécurisée du côté des applications. Pour un serveur de production, il est grandement recommandé de préférer l'installation de chaque service individuellement, à l'aide des paquets précompilés fournis par Ubuntu. Afin d'installer un serveur sécurisé facilement, vous pouvez utiliser LAMP comme base Apache, MySQL et PHP et rajouter ensuite uniquement les services dont vous avez besoin.

XAMPP est disponible pour GNU/Linux, mais aussi pour Microsoft® Windows® et Apple® Mac OS®.

Pour plus de détails sur XAMPP, consultez la rubrique Choisir XAMPP ou installer chaque application séparément ?

Liste des applications installées

XAMPP inclut par défaut les applications suivantes :

L'installation se fait simplement en décompressant un fichier .tar.gz ; cette installation est très bien détaillée ici dans un article de Framasoft.

Pour ceux qui voudraient installer l'équivalent de XAMPP à partir des paquets, installez les paquets apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql perl php-pear proftpd phpmyadmin openssl php5-gd freetype2-demos libfreetype6 libjpeg-progs libjpeg62 libpng12-0 libgdbm3 zlib1g expat sablotron libapache2-mod-php5 php5-cli proftpd-doc libgd-tools libcompress-zlib-perl libxml2-dev mingw32-binutils webalizer php-fpdf ncurses-bin libapache2-mod-perl2 libapache2-mod-perl2-doc freetds-dev gettext php5-mcrypt php5-mhash php5-sqlite libc-client2007b-dev php5-xcache ou en 1 clic (assez long).

Installation

L'installation de XAMPP se veut d'une extrême simplicité (logique ;-)).

  1. Récupérez l'archive d'installation de XAMPP sur le site d'Apache Friends et téléchargez-la dans votre dossier personnel (/home/votre_identifiant) ; Si vous rechercher une version bien précise de XAMPP pour Joomla par Exemple C'est ici
  2. Le répertoire /opt n'existe pas forcément sur votre système. Si c'est le cas (vérifiez avec un ls /opt dans le terminal), ouvrez un terminal et entrez la commande suivante :
    sudo mkdir /opt
  3. Ouvrez un terminal et entrez la commande suivante :
    sudo tar xvfz ./xampp-linux-*.tar.gz -C /opt

    N'utilisez pas d'utilitaire graphique pour décompresser l'archive de XAMPP ! Autrement, des conflits avec des droits d'accès aux fichiers peuvent se produire durant l'installation, résultant un XAMPP qui ne pourra pas démarrer.

tar : commande qui sert à gérer les archives tar ou tar.gz.

commutateurs :

  • x : extrait l'archive ;
  • v : active le mode « verbeux » (bavard, affiche ce qu'il fait);
  • f : utilise le fichier donné en paramètre ;
  • z : prend en charge la compression Gzip ;
  • xamp-linux-*.tar.gz : nom de l'archive a décompresser
  • - : concerne la sortie (le résultat) de la commande
  • C : change de dossier
  • /opt : répértoire d'installation de logiciels suplémentaires

Ça y est, XAMPP est installé et configuré pour être immédiatement utilisé ! Pour information, XAMPP est installé dans le répertoire /opt.

Pour démarrer XAMPP, vous devez taper dans votre terminal :

sudo /opt/lampp/lampp start

Complément pour une installation sous Ubuntu 64 bits

Si vous installez XAMPP sur une version 64 bits d'Ubuntu, vous obtiendrez probablement le message suivant au lancement de XAMPP :

XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibility library for your system.

Si c'est le cas, vous devez installer les bibliothèques de compatibilité 32 bits. Installez le paquet ia32-libs. Vous pouvez ensuite démarrer à nouveau XAMPP avec la commande indiquée ci-dessus.

Sécurisation

XAMPP est prêt à être utilisé, mais n'est pas sécurisé. Un assistant de sécurisation vous permet de choisir les mots de passe et options de base permettant de sécuriser sommairement votre serveur de développement:

sudo /opt/lampp/lampp security

S'il n'est pas obligatoire de lancer l'assistant de sécurisation, il l'est néanmoins fortement recommandé. Répondre "no" a cette question :

XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] **no**

Démarrer XAMPP

Note importante pour Hardy 8.04, la version de XAMPP inférieure à la 1.6.8a ne fonctionne pas, apache n'arrive pas à démarrer.
Note importante pour Gutsy 7.10 si vous utilisez une version de XAMPP inférieure à la 1.6.5a : Il est nécessaire d' éditer le fichier /opt/lampp/lampp

À la ligne N°74 remplacez:

arch

par

uname -m

Ensuite démarrer XAMPP :

sudo /opt/lampp/lampp start

Vous verrez alors défiler le texte suivant :

Starting XAMPP for Linux 1.6.7...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Another MySQL daemon is already running.
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Vous pouvez désormais accéder à votre serveur local avec l'adresse http://localhost/ dans la barre d'adresse de votre navigateur Internet.

Le nom utilisateur pour accéder au FTP est "nobody" et le mot de passe dépend de ce que vous avez indiqué à la sécurisation (le mot de passe par défaut est "lampp"). Le répertoire web est /opt/lampp/htdocs. Placez vos pages web dans ce répertoire pour y accéder depuis l'adresse http://localhost/.

Attention le dossier "htdocs" ne sera accessible en lecture et en écriture que seulement si vous accordez les privilèges avec ces commandes :

sudo chmod -R 777 /opt/lampp/htdocs

Pour que Xampp se lance au démarrage, il suffit d’exécuter les commandes suivantes dans un terminal:

sudo ln -s /opt/lampp/lampp /etc/rc2.d/S99lampp
sudo ln -s /opt/lampp/lampp /etc/rc1.d/K02lampp

Elles ont pour effet d’inscrire le serveur respectivement dans les procédures de démarrage et d’arrêt du système.

Arrêter XAMPP

Pour arrêter XAMPP, vous devrez saisir, dans un terminal, la commande suivante:

sudo /opt/lampp/lampp stop

Vous verrez alors défiler le texte suivant:

Stopping XAMPP for Linux 1.6.7...
XAMPP: Stopping Apache with SSL...
XAMPP: XAMPP-MySQL is not running.
XAMPP: Stopping ProFTPD...
XAMPP stopped.

XAMPP est alors arrêté.

Vous pouvez créer un lien symbolique du fichier /opt/lampp/lampp dans le dossier /usr/bin :

sudo ln -s /opt/lampp/lampp /usr/bin/lampp

Dorénavant, vous pourrez utiliser les commandes :

  • Pour démarrer le serveur :
    sudo lampp start
  • Pour redémarer le serveur :
    sudo lampp restart
  • Pour sécuriser le serveur :
    sudo lampp security
  • Pour arrêter le serveur :
    sudo lampp stop
  • Pour accéder à la liste des options possibles :
    sudo lampp

Bien sur, vous pourrez toujours utiliser ces commandes avec /opt/lampp/lampp.

par exemple vous pouvez utilisez cette commande :

sudo ln -s /home/VotreUserName/dev /opt/lampp/htdocs 

et maintenant si vous allez sur http://localhost/dev/ vous aurez accès à vos sites à condition de vérifier les droits que vous avez sur le répertoire dev.

Pour lancer le panneau de contrôle (GUI) de XAMPP (comme sous Windows), utilisez cette commande :

gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel

Pour désinstaller XAMPP, il faut simplement supprimer le dossier /opt/lampp :

sudo rm -rf /opt/lampp

En effet, XAMPP tient en un seul dossier indépendant.

Si XAMPP installe rapidement et simplement tous les services listés ci-haut, il est également possible d'utiliser le logiciel apt-get (en ligne de commande dans un terminal, ou avec ses interfaces graphiques Synaptic ou Adept) pour télécharger et paramétrer automatiquement chacune de ces applications (référez-vous au chapitre Avoir son serveur de développement sans XAMPP de ce document).

Quelle solution est à privilégier pour vous ?

Sécurité

D'un point de vue sécurité, il est sans doute préférable d'opter pour installer les services par les paquets Ubuntu plutôt que par l'archive .tar.gz de XAMPP. Les paquets proposés via apt-get ont été testés par l'équipe de développement de Ubuntu et, au moment où ils sont publiés, ne contiennent aucune vulnérabilité. De plus, si un problème de sécurité est découvert, le gestionnaire de mise à jour télécharge de lui-même les paquets Ubuntu plus récents, corrigeant ainsi les problèmes de sécurité

De son côté, une installation par archive (.tar.gz) de XAMPP ne propose pas de mises à jour automatiques. Elle correspond plutôt à une solution clé-en-main, comme les WampServer et EasyPHP pour Windows. Elle n'est pas non plus sécurisée du côté de l'administration. C'est d'ailleurs pour cette raison que XAMPP est destiné à un environnement de développement, pas à un environnement de production !

Support

En cas de problème avec l'une ou l'autre des applications installées par XAMPP, vous désirerez sans doute recevoir un peu d'aide. Si vous demandez de l'aide sur Apache, par exemple (mais ça reste valable pour n'importe quelle autre applications du lot) à des utilisateurs Debian/Ubuntu, vous serez aiguillé vers le fichier de configuration d'Apache : /etc/apache/httpd.conf. Or, ce fichier n'existe pas avec l'installation par XAMPP (tout est dans /opt/lampp/). Donc, en cas de difficulté avec les applications installées par XAMPP, seuls les utilisateurs de cette solution clé-en-main pourront vous aider. Autrement, ce sera à vous d'adapter les réponses données pour résoudre vos problèmes.

Pourquoi XAMPP existe-t-il ?

XAMPP sous Linux peut paraître inutile ; il est même fortement déconseillé pour une utilisation en production. Cependant, sa qualité première est de permettre la mise en place d'une plate-forme de tests en un temps record.

En effet l'installation d'un serveur web nécessite de se plonger dans les fichiers de configuration de chacun des service nommés plus haut. De son côté, XAMPP fonctionne dès son dépaquetage, tout est déjà paramétré pour vous. Mais les réglages par défaut ne sont pas d'une sécurité à toute épreuve ; aussi XAMPP est-il destiné à un environnement de développement.

XAMPP peut aussi être utile pour les distributions Linux ne disposant pas de la gestion de paquets précompilés. Ubuntu gérant des paquets au format .deb via le logiciel apt-get, XAMPP est donc sans doute moins utile pour cette distribution. Les avis sur l'utilité de XAMPP sont partagés.

Avoir son serveur de développement sans XAMPP

Puisque nous connaissons la liste des services installés par XAMPP et que notre distribution favorite gère l'installation des paquets précompilés, il est tout à fait possible d'avoir son propre serveur de développement, probablement plus sécurisé, sans passer par la solution XAMPP. Il est possible d'installer un serveur à partir de paquets .deb à l'aide du système de gestion de paquets de Ubuntu. À ce sujet, référez-vous au tutoriel d'installation d'un serveur LAMP.

Modifier le dossier racine du serveur Apache

Dans le /opt/lampp/etc/httpd.conf ligne 473-474, en sudo gedit modifier le :

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

en :

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

Ensuite, dans /opt/lampp/etc/extra/httpd-userdir.conf assurez-vous d'avoir le code suivant:

# Settings for user home directories
#
# Required module: mod_userdir

#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.  Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir public_html

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

Celui-ci vous permettra d'accéder à tous les répertoires de publication des utilisateur. Pour qu'on puisse voir votre site web, vous devez le placer créer un répertoire (dossier) appelé public_html et situé dans le répertoire /home/votrenomdutilisateur/. Il est possible de changer l'emplacement de ce dossier ou de changer son nom en éditant, dans /opt/lampp/etc/extra/httpd-userdir.conf la valeur /home/*/public_html. Cependant, il est conseillé de laisser ce chemin.

Dans Firefox :

http://localhost/~votrenomdutilisateur/votrefichier

bonne route à tous ! (source: http://forum.ubuntu-fr.org/viewtopic.php?id=181007)


Contributeurs : Ju, Darkagonik, alain17

  • xampp.1318703179.txt.gz
  • Dernière modification: Le 15/12/2011, 15:22
  • (modification externe)