XAMPP : un serveur LAMP complet

Le paquet open source XAMPP est un serveur LAMP complet et pré-configuré. Il contient :

XAMPP est très pratique pour créer un serveur local de développement : il fournit au néophyte un serveur de test en quelques clics, sans avoir à choisir ni à connaître les différents services à installer.

Il est multi-plateforme et existe donc pour Linux, Windows et OS X.

Tout est installé de façon conjointe avec les emplacements et autorisations qui vont bien.

  • XAMPP n'est pas sécurisé par défaut et ne convient pas à un environnement de production, donc à moins de travailler sur des exercices, l'environnement sera très différent entre développement et production, ce qui limite l'intérêt de XAMPP, qui ne sera en particulier d'aucune utilité si on cherches à s'auto-héberger ou à gérer un VPS.
  • XAMPP ne propose pas une configuration standard donc on trouvera moins de documentation et une communauté moins importante pour aider en cas de problème. La documentation officielle de XAMPP est en particulier quasi inexistante.
  • XAMPP se dit open source mais les seules sources disponibles simplement concernant Linux sont un simple fichier run. Impossible donc de savoir exactement ce que fait le script d'installation.

Dans ces conditions, mieux vaut généralement installer la pile LAMP telle qu'elle a été conçue officiellement pour Ubuntu.

Pour un serveur de production, mieux vaut installer la pile LAMP de manière traditionnelle, via les dépôts officiels d'Ubuntu qui sera beaucoup plus sécurisée par défaut.

Cependant, le serveur XAMPP installe des valeurs sûres, celles décrites en introduction.

Les sites qui fonctionnent sur XAMPP fonctionneront a priori avec n'importe quelle pile LAMP (à condition d'avoir des versions compatibles des logiciels, en particulier celle de PHP et de ses modules) : il suffit de copier le répertoire concerné et de déplacer la ou les bases de données avec leurs utilisateurs.

Si vous êtes curieux·euse, vous pouvez modifier XAMPP moyennant quelques « bidouilles » et une bonne connaissance de sa structure.

Mais vous en apprendrez davantage et serez assuré·e d'un bien meilleur niveau de sécurité en mettant en place un serveur LAMP et un accès SFTP.

  • Une connexion internet

Tout XAMPP tient en un seul répertoire : /opt/lampp.

Son installation est donc d'une extrême simplicité (de même que sa désinstallation = supprimer le répertoire /opt/lampp).

Sur la page https://www.apachefriends.org/fr/index.html, choisissez la version 32 ou 64 bits selon votre système d'exploitation Linux.

Modifiez les autorisations du programme d'installation et lancez-le en mode super-utilisateur :

cd répertoire/de/téléchargement/
sudo chmod +x xampp-linux-*-installer.run
sudo ./xampp-linux-*-installer.run

Acceptez toutes les étapes en cliquant sur Next ; pour la dernière fenêtre, cliquez sur Finish → le panneau de contrôle de XAMPP démarre :

Ouvrez l'onglet Manage Servers et cliquez sur Start All pour démarrer les serveurs :

Pour que Xampp se lance au démarrage, lancez dans un terminal :
sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo update-rc.d lampp defaults

Au redémarrage, XAMPP sera démarré. Le répertoire htdocs est la racine du serveur.

Aliases suggérés

Pour vous simplifier la vie, créez des aliases en éditant ou créant le fichier ~/.bash_aliases pour y écrire :

~/.bash_aliases
# Alias pour permettre sudo [un_alias]
alias sudo='sudo '
 
# Aliases pour Xampp
alias lampp='/opt/lampp/lampp'
alias ctlampp='/opt/lampp/manager-linux-x64.run'
 
# Aliases pour proftp
alias ftpasswd='/opt/lampp/bin/ftpasswd'

On obtient les raccourcis suivants :

Description Raccourci Effet
lampp sudo lampp … → sudo /opt/lampp/lampp …
panneau de contrôle sudo ctlampp → sudo /opt/lampp/manager-linux-x64.run
gérer les utilisateurs de proftpd sudo ftpasswd … → sudo /opt/lampp/bin/ftpasswd …

L'alias sudo='sudo ' permet d'utiliser les autres aliases en sudo, comme avec

sudo lampp start

Activez les aliases par :

source ~/.bashrc

Sécurisation

Pour changer les mots de passe de MySQL, MySQL/phpMyAdmin et FTP, lancez :

sudo lampp security

qui donne le dialogue suivant pour créer des mots de passe :

XAMPP:  Quick security check...
XAMPP:  MySQL is accessable via network. 
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] 
XAMPP:  Turned off.
...
XAMPP:  The MySQL/phpMyAdmin user pma has no password set!!! 
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: 
...
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:  The FTP password for user 'daemon' is still set to 'xampp'. 
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: 
...
XAMPP:  Done.

Créer un lanceur sous Gnome

Si l'installation n'a pas créé de lanceur, le mieux est d'utiliser MenuLibre pour en ajouter un.

Commandes

Avec les aliases suggérés plus haut, voici les commandes :

  • Démarrer le serveur :
    sudo lampp start
  • Redémarrer le serveur :
    sudo lampp restart
  • Sécuriser le serveur :
    sudo lampp security
  • Arrêter le serveur :
    sudo lampp stop
  • Liste des options possibles :
    sudo lampp
  • Lancer le panneau de contrôle :
    sudo ctlampp

Bien sûr, vous pourrez toujours utiliser ces commandes avec /opt/lampp/lampp.

Essai

Depuis un PC du réseau, connectez-vous au PC sur lequel tourne le serveur, par exemple http://192.168.0.7 :

Mettre en place un site

Pour mettre en place un site sur xampp, utilisez un client FTP (par exemple Client FTP : FileZilla) pour déposer le répertoire du site ou de son installateur sur la racine /opt/lampp/htdocs (utilisateur : daemon + mot de passe que vous avez défini à la sécurisation).

Remarques importantes

Rappelons que ce serveur tout-en-un n'a pas d'autre prétention que d'être un petit serveur local de travail.

Pour une mise en exploitation, mieux vaut se tourner vers un Serveur web - LAMP

Pour les curieux, dans XAMPP, les réglages fournis sont :

  • pour Apache (port 80) :
    • serveur : localhost
    • racine : /opt/lampp/htdocs
    • user : daemon (avec les mots de passe donnés à la phase de sécurisation)
    • Group : daemon
  • pour ProFTPd (port 21) :
    • serveur : ProFTPD, de type standalone
    • racine : /opt/lampp/htdocs
    • user : daemon (avec les mots de passe donnés à la phase de sécurisation)
    • Umask : 022
Si vous voulez, vous pouvez modifier l'utilisateur en www-data, changer le propriétaire de /opt/lampp/htdocs, mettre les permissions à 750 par exemple, etc. pour retrouver un serveur LAMP plus classique. Vous pouvez même utiliser des hôtes virtuels qui fonctionneront très bien.
Bien évidemment, gardez des permissions sûres pour ne pas ouvrir votre serveur de travail à tout le net !

Mais dans ce cas, le plus simple est d'installer tout de suite un serveur LAMP et un serveur FTP.

Pour supprimer cette application, il suffit de supprimer le répertoire /opt/lampp :

sudo rm -R /opt/lampp/

ainsi que l'éventuel raccourci sur le bureau.

Attention !

Cela effacera tout vos sites en /opt/lampp/htdocs … !

Commencez par recopier en lieu sûr (en mode sudo…) le répertoire /opt/lampp/htdocs !

Une méthode simple est d'ajouter un montage loop par une ligne dans le fichier /etc/fstab :

/home/USER/www	/opt/lampp/htdocs	none	bind	0	0

Désormais, toute référence à /opt/lampp/htdocs sera redirigée vers le répertoire voulu (à créer au besoin)

  • xampp.txt
  • Dernière modification: Le 28/01/2020, 18:56
  • (modification externe)