source: http://www.siteduzero.com/tutoriel-3-127684-installer-configurer-et-utiliser-xampp-sous-ubuntu.html#ss_part_2
Téléchargement et informations
Xampp signifie X Apache MySQL Perl PHP comme Wampp signifie Windows Apache MySQL Perl PHP.Je sais que pour vous ça ne veut pas dire grand chose ( ) mais, grâce au nom, on peut comprendre qu’il sert à utiliser les langages Apache, Perl et PHP mais aussi à stocker des données sous forme de bases de données grâce à MySQL.Il va vous servir à installer un serveur de développement en PHP sur votre ordinateur.Xampp n’est en fait qu’un regroupement de différents logiciels indispensables au bon fonctionnement d’un serveur.
Pour un serveur de production, il vaut mieux regarder du côté de Lamp.
De plus, il est entièrement gratuit et se veut facilement installable sous Linux.
Pour le télécharger, allez ici puis choisissez la dernière version (qui est, à l’heure où j’écris ces lignes, la version 1.7).
Il s’agit surtout de supprimer apache et php et avec comme nom de paquet (pour l’instant) apache2 et php5.
En effet, ces paquets utilisent le port 80 qui va être utilisé pour Xampp.
Installation
Donc, selon votre gestionnaire de paquets (pour moi c’est apt), faites :Code : Console
sudo apt-get install ia32-libs |
Vous avez bien récupéré l’archive, et installé ia32-libs si besoin ?
Bien, on peut y aller.
Ouvrez la console puis placez-vous à l’endroit où votre archive a été téléchargée avant de décompresser, sinon vous aurez droit à une jolie erreur .
Vous y êtes ? Bien.
Ensuite, entrez dans la console la commande suivante :
Code : Console
sudo tar xvfz ./xampp-linux-*.tar.gz -C /opt |
Une petite explication de cette ligne est exigée (sans pour autant vous faire un cours, M@teo21 explique très bien cela dans son tutoriel).
- sudo : il faut être en root pour pouvoir exécuter cette commande car l’archive sera décompressée dans le dossier /opt qui est interdit d’écriture pour les simples utilisateurs.
- tar : le programme qui permet de gérer les archives tar ou tar.gz (comme ici).
- x : extrait l’archive.
- v : montre ce qu’il fait (vous verrez par vous-même si vous l’activez).
- f : utilise le fichier donné en paramètre.
- z : prend en charge le type d’archive gzip (qui est utilisé ici).
- -C : redirige l’extraction de l’archive vers le dossier donné en paramètre après.
Xampp est maintenant installé.
Pour le lancer il faut entrer sudo /opt/lampp/lampp start.
Cette commande est un peu longue, si vous voulez la raccourcir, allez plus bas dans le tutoriel (plus précisément dans la partie « Quelques manipulations utiles »).
Sécurisation de Xampp
Si vous avez suivi vos cours d’anglais depuis la sixième, ça ne devrait pas vous poser de problèmes. Pour le lancer, il suffit de faire sudo /opt/lampp/lampp security.Il vous pose tout d’abord une première question :
La sécurisation des pages
Code : Console
XAMPP: Your XAMPP pages are NOT secured by a password. XAMPP: Do you want to set a password? [yes] |
Si vous entrez « yes », votre dossier « xampp » sera sécurisé au moyen d’un htaccess (M@teo21 en parle dans son tutoriel sur le PHP). En effet, que vous passiez par l’adresse locale ou par Internet (via votre adresse IP), vous serez automatiquement redirigé sur ce dossier. Je vous conseille donc fortement d’accepter.
Vous pouvez obtenir votre adresse IP en entrant comme commande ifconfig.
C’est cette ligne qui nous intéresse :
Code : Console
inet adr:votre IP Bcast:votre IP Masque:votre IP |
Dans le navigateur, entrez l’IP que vous obtenez au niveau de « inet adr: » et vous verrez, vous arrivez sur la page de Xampp.
Une petite précision cependant : l’IP que vous venez d’entrer est celle de votre réseau local.
Je m’explique : si vous êtes en réseau local par l’intermédiaire d’une box, votre box distribue à chaque ordinateur du réseau une adresse IP locale et UNIQUEMENT utilisable par les ordinateurs connectés sur la même box que vous (ce qui comprend les ordinateurs câblés autant que ceux non-câblés).
Pour que votre site (qui pour le moment tourne en local) puisse être vu à partir d’Internet, il faut que vous ouvriez des ports (nan pas de pêche ) mais ça, inutile de me demander, je ne sais pas le faire .Tout ce que je sais c’est que c’est différent pour chaque box.
Donc ce qui suit est encore plus important si vous ouvrez des ports.
Si vous avez entré « yes » à la question, il vous demandera un mot de passe.
Si vous avez entré « no », tout le monde pourra accéder à votre dossier « xampp ».
Vous n’avez qu’à tester, lancez Xampp (sudo /opt/lampp/lampp start) sans lancer le programme de sécurisation ; vous verrez que, par votre adresse IP, vous pouvez accéder à tout ce que vous voulez.
Pour arrêter Xampp, faites sudo /opt/lampp/lampp stop.
Si une personne voit ce dossier, il ou elle peut accéder à vos bases de données si vous ne les avez pas sécurisées. Pour les sécuriser, lisez la suite.
Il ou elle peut également tout savoir sur votre serveur via le menu phpinfo ou encore avoir les statistiques de votre site par webalizer.
On continue !
Sécurisation de MySQL
Code : Console
XAMPP: MySQL is accessable via network. XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] |
Ici, il vous informe que MySQL est accessible depuis Internet, ce qui veut dire que les personnes qui connaissent votre adresse IP peuvent accéder à vos bases de données. Je vous conseille de donner « yes » comme réponse à cette question pour éviter cela.
Puis viennent les questions pour la sécurisation de phpMyAdmin.
Sécurisation de phpMyAdmin
Code : Console
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!! XAMPP: Do you want to set a password? [yes] |
Là, le programme vous demande si vous voulez mettre un mot de passe à l’utilisateur root de phpMyAdmin.
En effet, celui-ci sauvegarde vos préférences dans une base de données MySQL. Ces bases de données sont celles qui sont déjà présentes lors de votre première connexion. Pour accéder à ces données, phpMyAdmin utilise un utilisateur spécial pma (phpMyAdmin). Pour éviter tout problème de sécurité, je vous conseille d’en mettre un.
Puis, si vous répondez « yes », il vous demandera le mot de passe.
Vient alors la question de sécurisation de MySQL.
Re-sécurisation de MySQL
Code : Console
XAMPP: MySQL has no root passwort set!!! XAMPP: Do you want to set a password? [yes] |
Je vous conseille de répondre « yes » puis de choisir un mot de passe compliqué à trouver.
<?php mysql_connect(‘localhost’, ‘identifiant’, ‘mot_de_passe’); ?> .
N’oubliez donc pas votre mot de passe car sinon, vous n’aurez plus accès à phpMyAdmin et à MySQL et il vous faudra tout réinstaller. De toute façon, le programme vous prévient.
Nouvelle question !
Le FTP de Xampp
Code : Console
The FTP password is still set to ####. XAMPP: Do you want to change the password? [yes] |
Il vous demande ici le mot de passe pour accéder au serveur FTP.
Je vous conseille d’en mettre un car grâce à cela, on peut accéder à toutes vos pages.
Si vous n’en mettez pas, le login par défaut est « nobody » et le mot de passe est donné à la place de #### dans ma citation de la console.
Et voilà, c’est fini pour la sécurité.
Lancer Xampp
Enfin, après avoir installé et sécurisé Xampp, il est enfin prêt à être utilisé.
Pour accéder à vos pages, allez dans votre navigateur et tapez « localhost » dans la barre d’adresse.
Et là, surprise, vous tombez sur une page autre que celle que vous pourriez trouver sous Windows (si vous avez déjà utilisé Wampp sous Windows ou alors regardé les screenshot du tutoriel de M@teo21 sur le PHP).
Page d’accueil
Cette page est très pratique car elle réunit toutes les informations dont vous avez besoin sur le serveur.
Je vais expliquer certaines entrées du menu (pas toutes, il y en a beaucoup que je n’utilise pas).
Statut correspond aux programmes lancés et ceux qui fonctionnent.
Sécurité correspond à la sécurisation de Xampp que vous avez vue dans la partie précédente.
Si vous voyez encore quelques lignes non-sécurisées et que vous êtes inquiet, relancez tout simplement le programme de sécurisation de Xampp.
Documentation réunit toutes les documentations sur les langages qu’il est possible d’utiliser avec Xampp. Il y a également à disposition des tutoriels mais je ne connais pas leur qualité car je ne les ai jamais lus.
Composants contient les noms de tous les programmes réunis dans Xampp ainsi que les liens vers les sites officiels.
…
Je passe quelques entrées.
…
phpinfo est la page contenant la fonction <?php phpinfo(); ?> . Cette fonction sert à connaître quelles extensions sont activées et contient toutes les informations sur le serveur.
Ensuite, dans le sous-menu « Outils », vous pouvez voir les liens vers phpMyAdmin, phpSQLiteAdmin et webalizer.
phpMyAdmin permet de gérer ses bases de données graphiquement.
phpSQLiteAdmin est un programme similaire à phpMyAdmin mais en plus léger et plus rapide.
Une précision supplémentaire pour ces deux logiciels : ils utilisent deux gestionnaires pour le stockage différents : phpMyAdmin utilise MySQL comme BDD et phpSQLiteAdmin utilise… SQLite. Ce sont deux formes de stockage sous forme de base de données différentes.
Webalizer est un créateur de statistiques pour votre site. S’il n’est pas sur Internet, cette entrée n’est pas très importante mais peut quand même vous servir.
Pouvoir utiliser un autre répertoire
Pour utiliser un autre répertoire, il vous suffit de créer un nouveau dossier à la racine du dossier /opt/lampp/htdocs.
Je l’ai appelé www.
NOTA : pour le créer, il vous faut être en root donc sudo mkdir /opt/lampp/htdocs/www.
Ensuite, essayez dans votre navigateur localhost/www et là ça fonctionne, vous pouvez donc placer vos fichiers dans ce dossier.
Mais voilà, vous voilà en face d’un beau problème : le dossier /opt/lampp/htdocs/www est en root donc le simple mortel ( ) que vous êtes ne pourra pas le modifier.
Une seule solution, la manifestation changer le chmod du dossier.
Le chmod est l’ensemble des droits que possèdent les utilisateurs sur le dossier.
Pour ce faire, entrer sudo chmod 777 /opt/lampp/htdocs/www.
777 signifie que tous les utilisateurs pourront tout faire dans ce dossier mais nulle part ailleurs.
Si vous voulez mettre un autre droit, je vous conseille d’apprendre les droits grâce au tuto de M@teo21 sur Linux.
Voilà donc un problème de réglé.
phpMyAdmin
Pour accéder à phpMyAdmin, tapez tout simplement localhost/phpmyadmin dans la barre d’adresse du navigateur.
Vous pouvez également y accéder par le menu de la page d’accueil de Xampp
La partie suivante concerne quelques manipulations bien pratiques de Xampp.
Quelques manipulations utiles
Raccourcir la commande de Xampp
Vous l’avez sans doute remarqué, la commande pour démarrer Xampp est longue.
Nous allons donc la changer pour la remplacer par lampp.
Pour ce faire, nous allons créer un lien symbolique dans le répertoire où sont installées les autres commandes.
Tapez dans un terminal sudo ln -s /opt/lampp/lampp /usr/bin/lampp.
Et voilà !
Faire un lien vers www
Ici, nous allons voir comment accéder directement au répertoire www que nous avons créé dans la partie précédente (celui dans lequel vous allez mettre vos pages).
Placez-vous dans votre dossier personnel puis entrez cette commande :
Code : Console
sudo ln -s /opt/lampp/htdocs/www /home/roesti/www |
Elle n’a rien de bien extraordinaire mais elle va permettre d’aller dans votre dossier /opt/lampp/htdocs/www à partir de votre dossier d’utilisateur.
Ajouter Xampp au démarrage système
Deux commandes suffisent pour cela :
Code : Console
sudo ln -s /opt/lampp/lampp /etc/rc2.d/S99lampp sudo ln -s /opt/lampp/lampp /etc/rc1.d/K02lampp |
Elles ont pour effet d’inscrire le programme dans les procédures de démarrage et d’arrêt du système.
Et voilà vous savez tout.
Et pourquoi voudriez-vous le désinstaller d’abord ?
Mais non revenez, reveneeeeeeeez, je vais vous le dire.
Une commande suffit :
Code : Console
sudo rm -rf /opt/lampp |
rm : supprimer un fichier ou dossier.
f : forcer la suppression.
r : supprimer un dossier.
En effet, l’installation de Xampp ne tient que sur un seul dossier.
Il vous faudra également, si vous l’avez fait, supprimer le lien symbolique et le lien qui permet de lancer le programme au démarrage.
Voici donc les commandes pour faire cela :
Lien symbolique :
sudo rm -f /usr/bin/lampp |
et les deux autres :
Code : Console
sudo rm -f /etc/rc2.d/S99lampp sudo rm -f /etc/rc1.d/K02lampp
Installer openssh pour le copier-coller
Dernière petite astuce : le copier-coller. Sur une installation classique d’une machine virtuelle munie d’une interface graphique, lorsqu’on installe les additions invité VirtualBox, il est possible de faire des copier-coller entre la machine hôte et la machine virtuelle, dans les deux sens. Malheureusement, cette fonctionnalité est dépendante de l’interface graphique, dont votre nouveau serveur de développement est dépourvu.
La solution pour palier à ce problème est d’installer openssh :
sudo apt-get install openssh-server |
Connectez-vous ensuite à votre machine virtuelle depuis le terminal de votre machine hôte (pour ceux qui utilisent Windows, PuTTy est votre ami) :
ssh USERNAME@10.0.0.2 |
Pour rappel, 10.0.0.2 est l’adresse locale de votre serveur virtuel.
DEMARRER XAMPP
Pour démarrer XAMPP, il s’agit d’exécuter la commande suivante :
/opt/lampp/lampp start
Vous devriez maintenant voir des messages semblables à ceux-ci :
Starting XAMPP 1.8.0...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
Ready. Apache and MySQL are running.
Une question de securité
Tel que mentionné auparavant, XAMPP n'est pas destiné à un usage en production mais seulement pour des développeurs dans un environnement de développement. XAMPP est configuré de façon à être le plus ouvert possible pour permettre au développeur de faire ce qu'il/elle veut. Ceci est intéressant dans un contexte de développement mais en production ceci pourrait s'avérer fatal.
Voici la liste des éléments de sécurité manquants dans XAMPP :
L’administrateur MySQL (root) n’a pas de mot de passe.
- Le serveur MySQL est accessible depuis le réseau.
- ProFTPD utilise le mot de passe « lampp » pour l’utilisateur « nobody ».
- phpMyadmin est accessible depuis le réseau.
- Les exemples sont disponibles depuis le réseau.
- MySQL et Apache sont en exécution sous le même utilisateur (nobody).
Pour corriger la plupart de ces faiblesses de sécurité, veuillez exécuter la commande suivante :
/opt/lampp/lampp security
Cette commande effectue une petite vérification de sécurité et rend votre installation de XAMPP plus sécuritaire.
Paramètres avancés pour le démarrage et l’arrêt
Jusqu’à la version 0.9.4, /opt/lampp/lampp ne pouvait que démarrer et arrêter XAMPP. Depuis la version 0.9.5, plusieurs nouvelles options sont possibles.
PARAMÈTRES DE DÉMARRAGE ET D’ARRÊT | ||
Paramètre | Description | |
start | Démarre XAMPP. | |
stop | Arrête XAMPP. | |
restart | Arrête et démarre XAMPP | |
startapache | Ne démarre qu’Apache. | |
start | Démarre XAMPP. | |
startssl | Active le support SSL dans Apache. Cette activation est permanente, donc si vous redémarrez XAMPP plus tard, SSL demeurera actif. | |
startmysql | Ne démarre que le serveur de bases de données MySQL. | |
startftp | Démarre le serveur ProFTPD. Au moyen de FTP vous pouvez télécharger des fichiers pour votre serveur web (utilisateur « nobody », mot de passe « lampp »). Cette commande active ProFTPD de manière permanente. | |
stopapache | Arrête Apache | |
stopssl | Désactive le support SSL dans Apache. Cette désactivation est permanente, donc si vous redémarrez XAMPP plus tard, SSL demeurera désactivé. | |
stopmysql | Arrête le serveur de bases de données MySQL. | |
stopftp | Arrête le serveur ProFTPD. Cette désactivation est permanente, donc si vous redémarrez XAMPP plus tard, FTP demeurera désactivé. | |
security | Lance un petit programme de vérification de sécurité. |
Par exemple : Pour démarrer Apache avec support SSL, tapez en tant que root la commande suivante :
/opt/lampp/lampp startssl
exemple roesti:
roesti@roesti-HP-Compaq-dc7800-Convertible-Minitower:/opt/lampp/etc/lampp$ sudo /opt/lampp/lampp startftp
Vous pouvez accéder à votre serveur Apache via SSL au moyen de https://localhost.
FICHIERS ET RÉPERTOIRES IMPORTANTS
FICHIERS ET RÉPERTOIRES IMPORTANTS | ||
Fichier/Répertoire | But | |
/opt/lampp/bin/ | Les commandes XAMPP. Par exemple, /opt/lampp/bin/mysql appelle le moniteur MySQL. | |
/opt/lampp/bin/ | Les commandes XAMPP. Par exemple, /opt/lampp/bin/mysql appelle le moniteur MySQL. | |
/opt/lampp/htdocs/ | Le répertoire Apache DocumentRoot. | |
/opt/lampp/etc/httpd.conf | Le fichier de configuration Apache | |
/opt/lampp/etc/my.cnf | Le fichier de configuration MySQL. | |
/opt/lampp/etc/php.ini | Le fichier de configuration PHP. | |
/opt/lampp/etc/proftpd.conf | Le fichier de configuration ProFTPD. (depuis 0.9.5) | |
/opt/lampp/phpmyadmin/config.inc.php | Le fichier de configuration phpMyAdmin. |
Arrêt de XAMPP
Pour arrêter XAMPP, veuillez utiliser la commande suivante :
/opt/lampp/lampp stop
Vous verrez ceci :
Stopping LAMPP 1.4.14... LAMPP: Stopping Apache... LAMPP: Stopping MySQL... LAMPP stopped.
Et maintenant, XAMPP pour Linux est arrêté.
Désinstallation
La commande suivante désinstalle XAMPP:
rm -rf /opt/lampp