XAMPP : un serveur LAMPP (Apache + MariaDB + PHP + Perl) complet tout prêt

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:

sudo /opt/lampp/lampp security

S'il n'est pas obligatoire de lancer l'assistant de sécurisation, c'est néanmoins fortement recommandé. Répondre "no" à cette question :

XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] **no**

Démarrer XAMPP

Pour démarrer XAMPP :

sudo /opt/lampp/lampp start

Vous verrez alors défiler un texte de ce type :

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.

Sous Ubuntu/Kubuntu 17.10 il semble manquer la commande netstat. Elle fait partie du package net-tools. Vous devez l'installer :

sudo apt-get install net-tools

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 :

sudo chmod -R 777 /opt/lampp/htdocs
ou
sudo chmod -R 777 /opt/lampp/htdocs/repertoire installation
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é.

Pour que Xampp se lance au démarrage, il suffit d’exécuter les commandes suivantes dans un terminal:

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 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:

sudo /opt/lampp/lampp stop

Un texte défile. XAMPP est arrêté.

Vous pouvez créer un lien symbolique du fichier /opt/lampp/lampp dans le dossier /usr/bin :

sudo ln -s /opt/lampp/lampp /usr/bin/lampp

Dorénavant, vous pourrez utiliser les commandes :

  • Pour démarrer le serveur :
    sudo lampp start
  • Pour redémarrer le serveur :
    sudo lampp restart
  • Pour sécuriser le serveur :
    sudo lampp security
  • Pour arrêter le serveur :
    sudo lampp stop
  • Pour accéder à la liste des options possibles :
    sudo lampp

Bien sur, vous pourrez toujours utiliser ces commandes avec /opt/lampp/lampp.

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), créer un fichier nommé comme xampp.desktop.
  • Avec un éditeur de texte (par ex. gedit), y placer un contenu selon le modèle suivant :
[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

Glisser le nouveau lanceur dans la barre de lanceurs Unity Launcher

Si vous utilisez Gnome 3 (variante Ubuntu Gnome et variante officielle depuis la version 17.10), vous pouvez placer un lanceur dans la barre des tâches.

  • Créez un fichier nommé xampp.desktop à la racine de votre dossier personnel (/home/votrenomutilisateur/) ;
  • Avec un éditeur de texte (par ex. gedit), copiez le contenu suivant dans le fichier créé :
[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'
  • 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) :
cd ~
sudo mv xampp.desktop /usr/share/applications/

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.

Exemple d’arborescence projets Web :

$HOME/www/projects/

$HOME équivaut à /home/votreUserName

echo $HOME #Affiche le chemin de votre home

Créer le dossier www et projects dans votre home.

Le caractere tilde '~' équivaut à votre home

mkdir -p ~/www/projects

Création du lien symbolique du dossier projects au niveau de htdocs, utilisez cette commande ln -s (source vers la cible) :

sudo ln -s /opt/lampp/htdocs/projects $HOME/www/projects

Vérification du lien symbolique. Placez-vous dans $HOME/www/projects et entrez la commande :

ll

Ou

ls -la

Vous devriez avoir :

projects -> $HOME/www/projects/ 

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.

Pour lancer le panneau de contrôle (GUI) de XAMPP (comme sous Windows), utilisez cette commande :

gksu /opt/lampp/share/xampp-control-panel/xampp-control-panel

Vous pouvez aussi faire la commande suivante pour avoir une interface plus agréable et plus complète:

gksu /opt/lampp/manager-linux-x64.run

Pour désinstaller XAMPP, il faut simplement supprimer le dossier /opt/lampp :

sudo rm -rf /opt/lampp

En effet, XAMPP tient en un seul dossier indépendant.

Modifier le dossier racine du serveur Apache

Dans le /opt/lampp/etc/httpd.conf ligne 473-474, en sudo gedit modifier le :

# User home directories
#Include etc/extra/httpd-userdir.conf

en :

# User home directories
Include etc/extra/httpd-userdir.conf

Ensuite, dans /opt/lampp/etc/extra/httpd-userdir.conf assurez-vous d'avoir le code suivant:

# 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>

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 :

http://localhost/~user/votre_fichier

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 :

 Require all granted 

Vous devriez avoir un truc comme celui là :

 AllowOverride AuthConfig Limit 
Order allow,deny
Allow from all
Require all granted 

Redémarrez votre serveur :

 sudo /opt/lampp/lampp restart 

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 :

#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>

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.


  • utilisateurs/jamaique/xampp-old.txt
  • Dernière modification: Le 11/10/2019, 09:22
  • (modification externe)