Featured

XAMPP : Le guide complet pour installer et configurer un serveur local de développement

logo xampp

XAMPP est un paquet open source qui fournit un serveur LAMP (Linux, Apache, MySQL, PHP/Perl) complet et pré-configuré. Il est particulièrement utile pour les développeurs qui souhaitent créer un environnement de développement local sans avoir à configurer manuellement chaque composant. XAMPP est disponible pour Linux, Windows et macOS, ce qui en fait une solution multi-plateforme idéale pour les néophytes comme pour les développeurs expérimentés.

Pourquoi utiliser XAMPP ?

XAMPP est conçu pour simplifier la mise en place d'un serveur local de développement. Il permet de démarrer un serveur de test en quelques clics, sans avoir à choisir ni à configurer les différents services. Tout est installé de manière conjointe, avec les emplacements et les autorisations appropriés. Cela en fait un outil idéal pour les débutants qui souhaitent se familiariser avec les technologies web sans se perdre dans les détails techniques.

Cependant, pour un serveur de production, il est recommandé d'installer la pile LAMP de manière traditionnelle via les dépôts officiels d'Ubuntu. Cette méthode offre une meilleure sécurité par défaut et une gestion plus fine des composants.

Installation de XAMPP sur Ubuntu

Téléchargement et installation

  1. Téléchargement : Rendez-vous sur la page officielle de XAMPP et choisissez la version 32 ou 64 bits selon votre système d'exploitation.
  2. Modification des autorisations : Une fois le fichier téléchargé, ouvrez un terminal et accédez au répertoire de téléchargement. Modifiez les autorisations du programme d'installation pour le rendre exécutable :
    cd répertoire/de/téléchargement/
    sudo chmod +x xampp-linux-*-installer.run
  3. Lancement de l'installation : Exécutez le programme d'installation en mode super-utilisateur :
    sudo ./xampp-linux-*-installer.run
  4. Suivi des étapes : Acceptez toutes les étapes en cliquant sur "Next". À la fin de l'installation, cliquez sur "Finish" pour démarrer le panneau de contrôle de XAMPP.

Démarrage des serveurs

  1. Panneau de contrôle : Ouvrez l'onglet "Manage Servers" et cliquez sur "Start All" pour démarrer tous les serveurs.
  2. Démarrage automatique : Pour que XAMPP se lance automatiquement au démarrage, exécutez les commandes suivantes :
    sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
    sudo update-rc.d lampp defaults

Création d'alias pour simplifier les commandes

Pour vous simplifier la vie, vous pouvez créer des alias en éditant ou créant le fichier ~/.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'

# Alias pour proftp
alias ftpasswd='/opt/lampp/bin/ftpasswd'

Activez les alias en exécutant :

source ~/.bash_aliases

Raccourcis disponibles

DescriptionRaccourciEffet
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 …

Sécurisation de XAMPP

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

sudo lampp security

Cela vous guidera à travers une série de questions pour définir des mots de passe sécurisés.

Mise en place d'un site sur XAMPP

Pour déployer un site sur XAMPP, utilisez un client FTP comme FileZilla pour déposer le répertoire du site ou de son installateur dans la racine /opt/lampp/htdocs. Utilisez l'utilisateur daemon et le mot de passe que vous avez défini lors de la sécurisation.

Configuration des hôtes virtuels (Virtual Hosts)

Les hôtes virtuels permettent de tester plusieurs sites localement avec des domaines personnalisés (par exemple, monsite.local).

  1. Modifiez le fichier /opt/lampp/etc/httpd.conf pour activer les hôtes virtuels :
    # Décommentez cette ligne
    Include etc/extra/httpd-vhosts.conf
  2. Ajoutez un fichier de configuration dans /opt/lampp/etc/extra/httpd-vhosts.conf :
    <VirtualHost *:80>
        DocumentRoot "/opt/lampp/htdocs/monsite"
        ServerName monsite.local
        <Directory "/opt/lampp/htdocs/monsite">
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
  3. Ajoutez le domaine dans le fichier /etc/hosts :
    127.0.0.1   monsite.local

Rendre le dossier htdocs accessible et changer le dossier racine

1. Rendre le dossier htdocs accessible

Par défaut, le dossier /opt/lampp/htdocs est le répertoire racine de XAMPP. Pour le rendre accessible à d'autres utilisateurs ou pour partager des fichiers, vous pouvez modifier les permissions du dossier :

sudo chmod -R 755 /opt/lampp/htdocs
sudo chown -R votre_utilisateur:votre_groupe /opt/lampp/htdocs

Cela permet à l'utilisateur et au groupe spécifiés d'accéder et de modifier les fichiers dans htdocs.

2. Changer le dossier racine htdocs vers /home/htdocs

Si vous souhaitez utiliser un autre répertoire comme dossier racine (par exemple, /home/htdocs), suivez ces étapes :

  1. Créez le nouveau répertoire :
    mkdir /home/htdocs
  2. Modifiez le fichier de configuration Apache : Ouvrez le fichier /opt/lampp/etc/httpd.conf et recherchez la ligne suivante :
    DocumentRoot "/opt/lampp/htdocs"
    Remplacez-la par :
    DocumentRoot "/home/htdocs"
  3. Modifiez également la directive <Directory> : Recherchez la ligne :
    <Directory "/opt/lampp/htdocs">
    Remplacez-la par :
    <Directory "/home/htdocs">
  4. Redémarrez Apache :
    sudo /opt/lampp/lampp restart

Désormais, Apache utilisera /home/htdocs comme répertoire racine. Vous pouvez y déposer vos fichiers de site web.

3. Utiliser un montage bind pour rediriger htdocs

Une autre méthode consiste à utiliser un montage bind pour rediriger /opt/lampp/htdocs vers /home/htdocs sans modifier la configuration d'Apache :

  1. Créez le répertoire cible :
    mkdir /home/htdocs
  2. Ajoutez une ligne dans /etc/fstab : Ouvrez le fichier /etc/fstab et ajoutez :
    /home/htdocs    /opt/lampp/htdocs    none    bind    0    0
  3. Appliquez le montage :
    sudo mount -a

Cette méthode est utile si vous souhaitez conserver la configuration par défaut d'Apache tout en utilisant un répertoire personnalisé.

Gestion des bases de données avec phpMyAdmin

phpMyAdmin est un outil essentiel pour gérer les bases de données MySQL. Accédez-y via http://localhost/phpmyadmin.

  • Créer une base de données : Cliquez sur "Nouvelle base de données" et saisissez un nom.
  • Importer/exporter : Utilisez les onglets "Importer" et "Exporter" pour gérer vos données.
  • Sécuriser phpMyAdmin : Modifiez le fichier de configuration ou utilisez .htaccess pour restreindre l'accès.

Optimisation des performances de XAMPP

XAMPP peut parfois être lent. Voici quelques astuces pour l'optimiser :

  • Désactiver les services inutiles : Par exemple, Mercury Mail si vous n'en avez pas besoin.
  • Ajuster les paramètres de mémoire : Modifiez memory_limit dans php.ini.
  • Utiliser OPcache : Activez OPcache dans php.ini pour accélérer PHP.

Migration d'un site local vers un serveur de production

  1. Exporter la base de données : Utilisez phpMyAdmin pour exporter la base de données.
  2. Transférer les fichiers : Utilisez FTP ou SCP pour transférer les fichiers vers le serveur de production.
  3. Ajuster les chemins : Modifiez les chemins absolus dans les fichiers de configuration (par exemple, wp-config.php pour WordPress).

Utilisation de XAMPP avec des frameworks PHP populaires

  • Laravel : Placez le projet dans /opt/lampp/htdocs et configurez .htaccess pour rediriger les requêtes vers public/index.php.
  • WordPress : Téléchargez WordPress dans htdocs et suivez l'installateur.

Débogage et gestion des erreurs

  • Activer les logs d'erreurs : Modifiez php.ini pour activer les logs :
    error_reporting = E_ALL
    display_errors = On
    log_errors = On
    error_log = /opt/lampp/logs/php_error_log
  • Consulter les logs Apache : Vérifiez /opt/lampp/logs/error_log pour les erreurs Apache.

Alternatives à XAMPP

  • Laragon : Léger et facile à utiliser pour Windows.
  • WAMP : Une alternative pour Windows.
  • MAMP : Populaire pour macOS et Windows.
  • Docker : Pour des environnements isolés et reproductibles.

FAQ (Foire Aux Questions)

  • Q : Pourquoi XAMPP ne démarre-t-il pas ?
    R : Vérifiez si un autre service utilise le port 80 ou 443.
  • Q : Comment changer le port d'Apache ?
    R : Modifiez Listen 80 par Listen 8080 dans httpd.conf.
  • Q : Comment réinitialiser XAMPP ?
    R : Supprimez /opt/lampp et réinstallez XAMPP.

Conclusion

XAMPP est un outil puissant et simple à utiliser pour créer un environnement de développement local. Il est idéal pour les débutants et les développeurs qui souhaitent tester rapidement des applications web. Cependant, pour des environnements de production, il est préférable d'opter pour une installation traditionnelle de la pile LAMP afin de bénéficier d'une meilleure sécurité et d'une gestion plus fine des composants.