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 | ||
| xampp [Le 23/10/2019, 14:43] jamaique | xampp [Le 21/11/2024, 01:55] (Version actuelle) 41.188.105.244 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Disco Bionic Xenial}} | + | exo1.php | 
| - | ---- | + | |
| - | {{: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. | + | |
| - | + | ||
| - | Mais __vous en apprendrez davantage en mettant en place un serveur LAMP et un serveur FTP ...__ | + | |
| - | </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. | + | |
| - | + | ||
| - | ==== Créer un lanceur sous Gnome ==== | + | |
| - | + | ||
| - | Si l'installation n'a pas créé de lanceur, le mieux est d'utiliser [[:menulibre|MenuLibre]] pour en ajouter un. | + | |
| - | ===== 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|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 [[: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>ainsi que l'éventuel raccourci sur le bureau. | + | |
| - | + | ||
| - | <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> | + | |
| - | + | ||
| - | ===== Modifier l'emplacement de la racine du serveur Apache ===== | + | |
| - | + | ||
| - | 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) | + | |
| - | ===== 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.// | + | |
| + | 1. &php | ||
| + | 2. | ||
| + | 3. $nom = "Fatou Mbaye" ; | ||
| + | 4. | ||
| + | 5. echo "La valeur de /$nom est : Snom<br>"; | ||
| + | 6.  | ||
| + | 7.$nombreMots - str_word_count ($nom); | ||
| + | 8. | ||
| + | 9. echo "Le nombre de mots dans /$nom est : SnombreMots<br>*; | ||
| + | 10. | ||
| + | 11.$nomSansEspaces = str_replace(*5*', Snom); | ||
| + | 12. | ||
| + | 13. echo "La chaine /Snom sans espaces est : $nomSansEspaces<br>*; | ||
| + | 14. | ||
| + | 15.$nomMajuscule = strtoupper ($nom) : | ||
| + | 16. | ||
| + | 17. echo "La chaine /$nom en majuscules est :$nomMajuscule<br>*; | ||
| + | 18 | ||