Ceci est une ancienne révision du document !
XAMPP : un serveur LAMP (Apache + MariaDB + PHP + Perl)
Le paquet open source XAMPP est un serveur LAMP complet et préconfiguré. Il contient :
- un serveur HTTP Apache
- une base de données MariaDB
- PHP
- Perl
- et un serveur FTP : ProFTPd.
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 multiplateforme : il existe 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 un serveur de production mais un petit serveur local perso. Pour cet usage, il est parfait.
Pour un serveur de production définitif, mieux vaut LAMP qui s'installe via les dépôts, plus riche de possibilités et de réglages, en particulier pour la sécurité.
Cependant, le serveur XAMPP installe des valeurs sûres :
- MariaDB avec phpMyAdmin,
- PHP,
- Perl,
- et de nombreuses bibliothèques
Les sites qui fonctionnent sur XAMPP fonctionneront donc sur LAMPP : il suffit de copier le répertoire et éventuellement de déplacer la base de données. A partir de là, vous pourrez mettre en place les réglages.
Vous pouvez cependant modifier XAMPP moyennant quelques "bidouilles" et une bonne connaissance de sa structure.
Pré-requis
- Une connexion internet
Installation
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 :
sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d lampp defaults
Au redémarrage, XAMPP sera démarré.
$ tree /opt/lampp/ -d -L 1 /opt/lampp/ ├── apache2 ├── bin ├── build ├── cgi-bin ├── docs ├── error ├── etc ├── htdocs ├── icons ├── img ├── include ├── info ├── lib ├── libexec ├── licenses ├── logs ├── man ├── manual ├── modules ├── mysql ├── pear ├── php ├── phpmyadmin ├── proftpd ├── sbin ├── share ├── temp └── var 28 directories
Le répertoire htdocs est la racine du serveur
Configuration
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.
Utilisation
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 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.
Mais il est plus simple dans ce cas d'installer tout de suite un serveur LAMP et un serveur FTP.
Désinstallation
Pour supprimer cette application, il suffit de supprimer le répertoire /opt/lampp :
sudo rm -R /opt/lampp/
Cela effacera tout vos sites en htdocs … !
Commencez par recopier en lieu sûr le répertoire htdocs !
Voir aussi
Contributeurs principaux : Ju, alain17, Flix, mydjey, Eliastik, jamaique.
Basé sur « Titre original de l'article » par Auteur Original.