Documentation technique : Debian
Documentation basée sur la distribution Debian

> > Installation basique de LAMP

Également dans la rubrique : Serveurs web : Installation de LAMP

Installation basique de LAMP

Installation basique de l’ensemble

L’installation de base d’Apache / MySQL / PHP est des plus simples.

Il vous suffit de lancer la commande :

  1. sudo apt-get install apache2 libapache2-mod-php5 mysql-server php5-mysql php5-gd phpmyadmin

Cette commande ajoutera toutes les dépendances requises et installera donc un système LAMP de base. On y a ajouté phpMyAdmin qui permettra de gérer les bases de données de MySQL en ligne.

Lors de l’installation un mot de passe vous sera demandé pour le compte d’administration de MySQL, il est impératif pour des raisons de sécurité d’en spécifier un.

Il vous sera ensuite demandé quel serveur web à reconfigurer pour exécuter phpMyAdmin, choisissez apache2. Il est également demandé s’il faut configurer la base de données de phpmyadmin avec dbconfig-common, répondez Oui puis un mot de passe administrateur qui sert à créer la base de phpMyAdmin, il faut mettre le même que l’on a inséré lors de la configuration de MySQL.

Tester le bon déroulement de l’installation

Afin de tester vous avez besoin de connaitre soit l’adresse IP (par exemple 81.12.123.23) , soit le nom d’hôte du serveur, soit un domaine dont les DNS pointent sur le serveur.

Tester si Apache est accessible

Dans un navigateur, utilisez une de ces 3 adresses :

  1. http://81.12.123.23
  2. http://hostname_du_serveur
  3. http://undomaine.pointantsurleserveur.example

Télécharger

Vous devriez voir apparaitre une page indiquant le message It works.

Cette page est la page d’accueil par défaut d’Apache.

Tester si phpMyAdmin et MySQL fonctionnent

Pour ce faire, juste après l’installation, utilisez la même adresse que pour Apache en y ajoutant /phpmyadmin/ à la fin.

Par exemple :

  1. http://81.12.123.23/phpmyadmin/

Vous devriez voir l’interface de phpMyAdmin vous demandant un nom d’utilisateur et un mot de passe. phpMyAdmin est donc bien installé ainsi que PHP.

Si vous utilisez root comme nom d’utilisateur et le mot de passe que vous avez utilisé pendant l’installation, vous devriez rentrer dans l’interface de phpMyAdmin où, dans la colonne de gauche, 3 bases de données sont indiquées :

  • information_shema ;
  • phpmyadmin ;
  • mysql ;

Si c’est le cas, MySQL est également bien installé.

Sécurisation basique de phpMyAdmin

Afin d’éviter que phpMyAdmin soit trop facilement découvrable par les apprentis hackers qui tenteraient une attaque par bruteforce, nous allons le restreindre à un domaine dédié au lieu de le laisser accessible sur tous les domaines de la machine.

On commence par désactiver la configuration Apache par défaut de phpMyAdmin :

  1. sudo a2disconf phpmyadmin

Puis on crée un virtualhost pour le domaine dédié à phpMyAdmin avec le contenu suivant (basé sur celui présent dans /etc/phpmyadmin/apache.conf) :

  1. <VirtualHost *:80>
  2.     ServerAdmin webmaster@localhost
  3.     ServerName sql.site.net
  4.     DocumentRoot /usr/share/phpmyadmin
  5.     <Directory /usr/share/phpmyadmin>
  6.         Options FollowSymLinks
  7.         DirectoryIndex index.php
  8.         <IfModule mod_php5.c>
  9.             AddType application/x-httpd-php .php
  10.             php_flag magic_quotes_gpc Off
  11.             php_flag track_vars On
  12.             php_flag register_globals Off
  13.             php_admin_flag allow_url_fopen Off
  14.             php_value include_path .
  15.             php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
  16.             php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/
  17.         </IfModule>
  18.     </Directory>
  19.    
  20.     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n" pma_combined
  21.     CustomLog /var/log/apache2/phpmyadmin-access.log pma_combined
  22.    
  23.     # Disallow web access to directories that don't need it
  24.     <Directory /usr/share/phpmyadmin/libraries>
  25.         Require all denied
  26.     </Directory>
  27.     <Directory /usr/share/phpmyadmin/setup/lib>
  28.         Require all denied
  29.     </Directory>
  30. </VirtualHost>

Télécharger

On active notre virtualhost :

  1. sudo a2ensite sql.site.net

Et on recharge la configuration Apache pour prendre en compte ces changements :

  1. sudo service apache2 reload

Ainsi phpMyAdmin est accessible uniquement depuis sql.site.net.

Voir aussi comment protéger l’accès à phpMyAdmin des tentatives de bruteforce.

  • Auteur :
  • Publié le :
  • Mis à jour : 19/07/17

Aucun commentaire


Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.