Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
utilisateurs:jamaique:xampp-old [Le 07/10/2019, 10:16] – créée jamaiqueutilisateurs:jamaique:xampp-old [Le 11/10/2019, 11:22] (Version actuelle) – [Installation] jamaique
Ligne 1: Ligne 1:
 +{{tag>BROUILLON programmation serveur }}
 +
 +======= XAMPP : un serveur LAMPP (Apache + MariaDB + PHP + Perl) complet tout prêt =======
 +
 +
 +
 +===== Installer et utiliser XAMPP =====
 +
 +
 +==== Sécurisation ====
 +XAMPP est prêt à être utilisé, mais n'est pas sécurisé. Un assistant de sécurisation vous permet de choisir les mots de passe et options de base permettant de sécuriser **sommairement** votre serveur de développement: <code>sudo /opt/lampp/lampp security</code>
 +
 +S'il n'est pas obligatoire de lancer l'assistant de sécurisation, c'est néanmoins fortement recommandé.
 +Répondre "no" à cette question :
 +<code>XAMPP: MySQL is accessable via network.
 +XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] **no**</code>
 +==== Démarrer XAMPP ====
 +
 +Pour démarrer XAMPP : 
 +
 +<code>sudo /opt/lampp/lampp start</code>
 +
 +Vous verrez alors défiler un texte de ce type :
 +<code>
 +Starting XAMPP for Linux * ...
 +XAMPP: Starting Apache with SSL (and PHP5)...
 +XAMPP: Another MySQL daemon is already running.
 +XAMPP: Starting ProFTPD...
 +XAMPP for Linux started.
 +</code>
 +Sous Ubuntu/Kubuntu 17.10 il semble manquer la commande netstat.
 +Elle fait partie du package net-tools. Vous devez l'installer  :
 +<code>sudo apt-get install net-tools</code>
 + 
 +Vous pouvez désormais accéder à votre serveur local avec l'adresse [[http://localhost/]] dans la barre d'adresse de votre navigateur Internet.  
 +
 +Le nom utilisateur pour accéder au FTP est "nobody" et le mot de passe dépend de ce que vous avez indiqué à la sécurisation (le mot de passe par défaut est "lampp").
 +
 +==== Charger Wordpress ou un site en cours ====
 +
 +Le répertoire web est ///opt/lampp/htdocs//
 +Placez vos pages web dans ce répertoire pour y accéder depuis l'adresse [[http://localhost/]]. 
 +Il est cependant conseillé de ne pas mettre l'ensemble des fichiers de Wordpress directement sous la racine htdocs mais dans un répertoire à part :
 +Exemple ///opt/lampp/htdocs/wordpress/// l'adresse pour accéder à vos pages sera alors [[http://localhost/wordpress/]], il sera ensuite possible de configurer wordpress pour modifier vos permaliens.
 +
 +Attention le dossier  "htdocs" ou votre répertoire d'installation ne sera accessible en lecture et en écriture que si vous accordez les privilèges avec ces commandes : \\
 +<code>
 +sudo chmod -R 777 /opt/lampp/htdocs
 +ou
 +sudo chmod -R 777 /opt/lampp/htdocs/repertoire installation
 +</code>
 +<note warning>**C'est une aberration de mettre tous les droits sur des fichiers (777) ou dossiers particulièrement dans les dossiers systèmes.
 +la création, l'utilisation d'un groupe voire le déport des dossiers des sites avec des liens est plus adapté.**
 +</note>
 +
 +Pour que Xampp se lance au démarrage, il suffit d’exécuter les commandes suivantes dans un terminal:
 +
 +<code>
 +sudo ln -s /opt/lampp/lampp /etc/rc2.d/S99lampp
 +sudo ln -s /opt/lampp/lampp /etc/rc1.d/K02lampp
 +</code>
 +
 +Elles ont pour effet d’inscrire le serveur respectivement dans les procédures de démarrage et d’arrêt du système.
 +
 +==== Arrêter XAMPP ====
 +Pour arrêter XAMPP, vous devrez saisir, dans un terminal, la commande suivante:
 +<code>sudo /opt/lampp/lampp stop</code>
 +Un texte défile. XAMPP est arrêté.
 +
 +===== Raccourcir la commande =====
 +Vous pouvez créer un [[:glossaire#liens_symboliques_ou_logiques|lien symbolique]] du fichier ///opt/lampp/lampp// dans le dossier ///usr/bin// :
 +<code>sudo ln -s /opt/lampp/lampp /usr/bin/lampp</code>
 +Dorénavant, vous pourrez utiliser les commandes :
 +  *Pour démarrer le serveur : <code>sudo lampp start</code>
 +  *Pour redémarrer le serveur : <code>sudo lampp restart</code>
 +  *Pour sécuriser le serveur : <code>sudo lampp security</code>
 +  *Pour arrêter le serveur : <code>sudo lampp stop</code>
 +  *Pour accéder à la liste des options possibles : <code>sudo lampp</code>
 +
 +Bien sur, vous pourrez toujours utiliser ces commandes avec ///opt/lampp/lampp//.
 +
 +===== Créer un lanceur dans Unity =====
 +Vous pouvez aussi créer un lanceur dans la barre de lancement de Unity.
 +  * Dans le répertoire caché **~/.local/share/applications** (ou **/usr/share/applications**), [[:tutoriel:comment_modifier_un_fichier|créer un fichier]] nommé comme **xampp.desktop**.
 +  * Avec un éditeur de texte (par ex. [[gedit|gedit]]), y placer un contenu selon le modèle suivant :
 +<file>
 +[Desktop Entry]
 +Version=1.0
 +Type=Application
 +Terminal=Terminal
 +Categories=GNOME;GTK;
 +Exec=xterm -e 'sudo /opt/lampp/lampp start'
 +Name=Xampp
 +Comment=
 +Icon=/opt/lampp/htdocs/favicon.ico
 +
 +X-Ayatana-Desktop-Shortcuts=Start;Restart;Stop;
 +
 +[Start Shortcut Group]
 +Name=Start
 +Exec=xterm -e 'sudo /opt/lampp/lampp start'
 +OnlyShowIn=Unity
 +
 +[Restart Shortcut Group]
 +Name=Restart
 +Exec=xterm -e 'sudo /opt/lampp/lampp restart'
 +OnlyShowIn=Unity
 +
 +[Stop Shortcut Group]
 +Name=Stop
 +Exec=xterm -e 'sudo /opt/lampp/lampp stop'
 +OnlyShowIn=Unity
 +</file>
 +
 +Glisser le nouveau lanceur dans la barre de lanceurs Unity Launcher
 +
 +===== Créer un lanceur dans Gnome Shell =====
 +Si vous utilisez [[gnome|Gnome 3]] (variante [[ubuntu_gnome|Ubuntu Gnome]] et variante officielle depuis la [[17.10|version 17.10]]), vous pouvez placer un lanceur dans la barre des tâches.
 +  * [[:tutoriel:comment_modifier_un_fichier|Créez un fichier]] nommé **xampp.desktop** à la racine de votre dossier personnel (**/home/votrenomutilisateur/**) ;
 +  * Avec un éditeur de texte (par ex. [[gedit|gedit]]), copiez le contenu suivant dans le fichier créé :
 +
 +<file>
 +[Desktop Entry]
 +Version=1.0
 +Type=Application
 +Terminal=Terminal
 +Categories=GNOME;GTK;
 +Exec=xterm -e 'sudo /opt/lampp/lampp start'
 +Name=Xampp
 +Comment=
 +Icon=/opt/lampp/htdocs/favicon.ico
 +Actions=Start;Restart;Stop;
 +
 +X-Ayatana-Desktop-Shortcuts=Start;Restart;Stop;
 +
 +[Desktop Action Start]
 +Name=Start
 +Exec=xterm -e 'sudo /opt/lampp/lampp start'
 +
 +[Desktop Action Restart]
 +Name=Restart
 +Exec=xterm -e 'sudo /opt/lampp/lampp restart'
 +
 +[Desktop Action Stop]
 +Name=Stop
 +Exec=xterm -e 'sudo /opt/lampp/lampp stop'
 +</file>
 +
 +  * Enregistrez le fichier ;
 +  * Ouvrez un [[terminal]], et lancez la commande suivante (qui va déplacer le fichier créé dans le dossier système des lanceurs d'applications) :
 +<code>
 +cd ~
 +sudo mv xampp.desktop /usr/share/applications/
 +</code>
 +Si vous avez créé votre fichier autre part qu'à la racine de votre dossier utilisateur (**/home/votrenomutilisateur/**), remplacez le **~** de la commande **cd** par le chemin vers le dossier où vous avez placé le fichier.
 +
 +Vous pouvez aussi placer le fichier dans le dossier caché **~/.local/share/applications** si vous n'avez pas les droits [[root]] (remplacez dans ce cas la deuxième commande par **mv xampp.desktop ~/.local/share/applications**)
 +  * Ouvrez le menu des applications, normalement l'application **Xampp** devrait apparaître. Cliquez droit dessus, puis cliquez sur **Ajouter aux favoris**. Le lanceur devrait apparaître dans la barre de tâches, cliquez droit dessus et vous découvrirez les options **Start**, **Restart** et **Stop** pour contrôler le démarrage et l'arrêt du serveur.
 +===== Créer un lien symbolique pour accéder à ses sites web =====
 +
 +Exemple d’arborescence projets Web :
 +
 +<code>$HOME/www/projects/</code>
 +
 +$HOME équivaut à /home/votreUserName
 +
 +<code>echo $HOME #Affiche le chemin de votre home</code>
 +
 +Créer le dossier //www// et //projects// dans votre home.
 +
 +Le caractere tilde '~' équivaut à votre home
 +<code>mkdir -p ~/www/projects</code>
 +
 +Création du lien symbolique du dossier projects au niveau de htdocs, utilisez cette commande ln -s (source vers la cible) :
 +
 +<code>sudo ln -s /opt/lampp/htdocs/projects $HOME/www/projects</code>
 +
 +Vérification du lien symbolique.
 +Placez-vous dans $HOME/www/projects et entrez la commande :
 +<code>ll</code>
 +Ou
 +<code>ls -la</code>
 +
 +Vous devriez avoir :
 +<code>projects -> $HOME/www/projects/ </code>
 +
 +Et maintenant si vous allez sur http://localhost/projects/ vous aurez accès à vos sites à condition de vérifier les droits que vous avez sur le répertoire projects.
 +===== Lancer le Panneau de Contrôle graphique =====
 +
 +Pour lancer le panneau de contrôle (GUI) de **XAMPP** (comme sous Windows), utilisez cette commande :
 +
 +<code>gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel</code>
 +
 +Vous pouvez aussi faire la commande suivante pour avoir une interface plus agréable et plus complète:
 +<code>gksu /opt/lampp/manager-linux-x64.run</code>
 +
 +===== Désinstaller XAMPP =====
 +Pour désinstaller XAMPP, il faut simplement supprimer le dossier ''/opt/lampp'' :
 +<code>sudo rm -rf /opt/lampp</code>
 +En effet, XAMPP tient en un seul dossier indépendant.
 +
 +===== Astuces =====
 +
 +==== Modifier le dossier racine du serveur Apache ====
 +Dans le ///opt/lampp/etc/httpd.conf// ligne 473-474, en sudo gedit modifier le :
 +
 +
 +<code># User home directories
 +#Include etc/extra/httpd-userdir.conf</code>
 +
 +
 +en :
 +
 +
 +<code># User home directories
 +Include etc/extra/httpd-userdir.conf</code>
 +Ensuite, dans ///opt/lampp/etc/extra/httpd-userdir.conf// assurez-vous d'avoir le code suivant:
 +<code># Settings for user home directories
 +#
 +# Required module: mod_userdir
 +
 +#
 +# UserDir: The name of the directory that is appended onto a user's home
 +# directory if a ~user request is received.  Note that you must also set
 +# the default access control for these directories, as in the example below.
 +#
 +UserDir public_html
 +
 +#
 +# Control access to UserDir directories.  The following is an example
 +# for a site where these directories are restricted to read-only.
 +#
 +<Directory /home/*/public_html>
 +    AllowOverride FileInfo AuthConfig Limit Indexes
 +    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
 +    <Limit GET POST OPTIONS>
 +        Order allow,deny
 +        Allow from all
 +    </Limit>
 +    <LimitExcept GET POST OPTIONS>
 +        Order deny,allow
 +        Deny from all
 +    </LimitExcept>
 +</Directory>
 +</code>
 +Celui-ci vous permettra d'accéder à tous les répertoires de publication des utilisateur. Pour qu'on puisse voir votre site web, vous devez le placer créer un répertoire (dossier) appelé //public_html// et situé dans le répertoire ///home/votrenomdutilisateur///.
 +Il est possible de changer l'emplacement de ce dossier ou de changer son nom en éditant, dans ///opt/lampp/etc/extra/httpd-userdir.conf// la valeur ///home/*/public_html//.
 +Cependant, il est conseillé de laisser ce chemin.
 +
 +
 +Dans Firefox :
 +
 +<code>http://localhost/~user/votre_fichier</code>
 +
 +
 +bonne route à tous !
 +(source: http://forum.ubuntu-fr.org/viewtopic.php?id=181007)
 +
 +==== Localhost,  accès interdit à phpmyadmin, nouveau concept de sécurité de xampp ====
 +
 +Pour résoudre ce problème, Va falloir suivre les directive de xampp et donc modifier le fichier httpd-xampp.conf.
 +
 +
 +Faites tout d'abord le backup du fichier:
 + /opt/lampp/etc/extra/httpd-xampp.conf
 +
 +Tapez :
 +sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf
 +
 +Cherchez maintenant la ligne :
 +Directory "/opt/lampp/phpmyadmin"
 +
 +Ajoutez :
 +<code> Require all granted </code>
 +
 +Vous devriez avoir un truc comme celui là :  
 +
 +
 +<code> AllowOverride AuthConfig Limit 
 +Order allow,deny
 +Allow from all
 +Require all granted </code>
 +
 +Redémarrez votre serveur :
 +<code> sudo /opt/lampp/lampp restart </code>
 +
 +Fini, normalement, phpmyadmin est désormais accessible.
 +ok
 +(Source : [[http://www.webzerone.com/2012/07/error-403-new-xampp-security-concept.html]] )
 +
 +Une autre petite contrainte pouvant arriver est le fait que la sécurité de XAMPP empêche d'accéder au serveur XAMPP depuis l'extérieur (il autorise seulement un accès en local donc).
 +Pour remédier à cela, il suffit d'aller chercher le dernier paragraphe :
 +<code>
 +#New XAMPP security concept
 +<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webaliser|server-status|server-info))">
 +            Require local
 +           ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
 +</LocationMatch>
 +</code>
 +Puis de commenter les 4 lignes de <LocationMatch> à </LocationMatch> pour faire en sorte que la sécurité de XAMPP ne prenne pas en compte cette partie du code. Il est toutefois à noter que cette partie doit être conserver dans le cas d'une maintenance, afin de continuer à faire tourner en local le serveur sans pour autant aller tripoter le parefeu de Linux : [[:iptables|iptables]]. 
 +
 +===== Voir aussi =====
 +
 +------
 +