Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:jamaique:xampp [Le 17/10/2019, 08:46] jamaique [XAMPP : un serveur LAMP (Apache + MariaDB + PHP + Perl)] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Disco Bionic Xenial BROUILLON}} | ||
- | ---- | ||
- | {{:xampp:xampp-logo.png|}} | ||
- | ====== 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:xampp-19.04-03.png?400 |}} | ||
- | |||
- | 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. | ||
- | |||
- | <note important> | ||
- | **__Remarque préliminaire importante__** : ne demandez pas à XAMPP ce pour quoi il n'est pas fait ! | ||
- | |||
- | 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|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 : | ||
- | * [[:apache2|Apache 2]], | ||
- | * [[:mariadb|MariaDB]] avec [[:phpmyadmin|phpMyAdmin]], | ||
- | * [[:sqlite|SQLite]] | ||
- | * [[:php|PHP]], | ||
- | * Perl, | ||
- | * [[:proftpd|ProFTPD]] | ||
- | * et de nombreuses bibliothèques | ||
- | |||
- | Les sites qui fonctionnent sur XAMPP fonctionneront donc sur LAMP : il suffit de copier le répertoire concerné et éventuellement de déplacer la base de données. A partir de là, vous pourrez mettre en place les réglages. | ||
- | |||
- | Si vous êtes curieux, vous pouvez cependant modifier XAMPP moyennant quelques "bidouilles" et une bonne connaissance de sa structure. | ||
- | |||
- | Vu l'investissement, vous en apprendrez davantage avec un serveur LAMP ... | ||
- | </note> | ||
- | ===== 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 : | ||
- | <code> | ||
- | cd répertoire/de/téléchargement/ | ||
- | sudo chmod +x xampp-linux-*-installer.run | ||
- | sudo ./xampp-linux-*-installer.run | ||
- | </code> | ||
- | {{ :xampp:xampp-19.04-01.png?400 |}} | ||
- | |||
- | 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 : | ||
- | {{ :xampp:xampp-19.04-02.png?400 |}} | ||
- | |||
- | Ouvrez l'onglet **Manage Servers** et cliquez sur **Start All** pour démarrer les serveurs : | ||
- | {{ :xampp:xampp-19.04-03.png?400 |}} | ||
- | |||
- | <note tip>Pour que Xampp se lance au démarrage, lancez dans un terminal : | ||
- | <code>sudo ln -s /opt/lampp/lampp /etc/init.d/lampp | ||
- | sudo update-rc.d lampp defaults | ||
- | </code></note> | ||
- | |||
- | Au redémarrage, XAMPP sera démarré. | ||
- | |||
- | <note> | ||
- | Pour info, l'installation a créé l'arborescence : | ||
- | <code>$ 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</code> | ||
- | Le répertoire htdocs est la racine du serveur | ||
- | </note> | ||
- | ===== 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 : | ||
- | <code bash ~/.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' | ||
- | </code> | ||
- | |||
- | 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 | ||
- | <code>sudo lampp start</code> | ||
- | |||
- | Activez les aliases par : | ||
- | <code>source ~/.bashrc</code> | ||
- | |||
- | ==== 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 :<code>sudo lampp start</code> | ||
- | * **Redémarrer** le serveur :<code>sudo lampp restart</code> | ||
- | * **Sécuriser** le serveur :<code>sudo lampp security</code> | ||
- | * **Arrêter** le serveur :<code>sudo lampp stop</code> | ||
- | * **Liste des options** possibles :<code>sudo lampp</code> | ||
- | * Lancer le **panneau de contrôle** :<code>sudo ctlampp</code> | ||
- | |||
- | 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]] : | ||
- | {{ :xampp:xampp-19.04-04.png?400 |}} | ||
- | |||
- | ==== 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 [[:lamp|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** | ||
- | |||
- | <note tip>__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. | ||
- | |||
- | <note important>Bien évidemment, gardez des permissions sûres pour ne pas ouvrir votre serveur de travail à tout le net !</note> | ||
- | |||
- | Mais dans ce cas, le plus simple est **__d'installer tout de suite un serveur LAMP et un serveur FTP__**.</note> | ||
- | ===== Désinstallation ===== | ||
- | |||
- | Pour supprimer cette application, il suffit de supprimer le répertoire **/opt/lampp** :<code>sudo rm -R /opt/lampp/</code> | ||
- | |||
- | <note important>**__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 !__**</note> | ||
- | ===== Voir aussi ===== | ||
- | |||
- | * **(fr)** [[https://www.apachefriends.org/fr/index.html|Site officiel du logiciel xampp]] | ||
- | * **(en)** [[https://sourceforge.net/projects/gui-multi-xampp/|Utiliser une GUI et plusieurs versions de Xampp en parallèle]] | ||
- | * **(fr)** [[http://doc.frapp.fr/doku.php?id=logiciel:internet:http:xampp:start0|Une autre approche, simple, de l'installation de Xampp]] | ||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs principaux : [[:utilisateurs:Ju]], [[:utilisateurs:Darkagonik], [[:utilisateurs:alain17]], [[:utilisateurs:Flix]], [[:utilisateurs:mydjey]], [[:utilisateurs:Eliastik]], [[utilisateurs:jamaique]].// | ||
- | |||
- | //Basé sur [[www.apachefriends.org/fr/index.html|Site officiel du logiciel xampp]] par ApacheFriends.// | ||