Votre VPS est en ligne et sécurisé en HTTPS — il est maintenant temps de le rendre pleinement opérationnel pour un projet PHP. Dans cet article, on installe MariaDB pour la base de données, PhpMyAdmin pour l'administrer depuis le navigateur, et Composer pour gérer les dépendances PHP. À la fin, vous aurez un environnement de développement complet, prêt pour la production.

Cet article est le troisième volet de la série Installer et configurer un VPS pour des projets web. Il suppose que vous avez suivi les articles 1 — SSH & Apache et 2 — SSL Let's Encrypt, et que votre VPS tourne sous Ubuntu avec Apache et PHP installés.

Apache répond, le HTTPS est en place — mais un projet PHP sans base de données reste limité. Dans cet article, on complète l'environnement avec trois outils essentiels :

  • MariaDB : le serveur de base de données (alternative open source à MySQL, plus performante et activement maintenue)
  • PhpMyAdmin : l'interface web pour administrer vos bases de données sans ligne de commande
  • Composer : le gestionnaire de dépendances PHP, indispensable pour tout projet moderne

Pour la suite, on considère que votre utilisateur est johndoe et que votre domaine est acme.test.


1. Installer et sécuriser MariaDB

1.1. Installation

sudo apt install mariadb-server -y

Vérifiez que le service tourne correctement :

sudo systemctl status mariadb

1.2. Sécurisation de l'installation

MariaDB est livré avec des paramètres par défaut peu sécurisés (utilisateur root sans mot de passe, bases de test accessibles…). Le script mariadb-secure-installation règle tout ça en quelques étapes :

cd /usr/bin
sudo mariadb-secure-installation

Le script vous pose une série de questions. Voici les réponses recommandées :

Question Réponse recommandée
Switch to unix_socket authentication N
Change the root password Y — choisissez un mot de passe fort
Remove anonymous users Y
Disallow root login remotely Y
Remove test database Y
Reload privilege tables Y

1.3. Créer un utilisateur dédié

Il est déconseillé d'utiliser le compte root pour vos projets. Créez un utilisateur avec les droits limités à vos bases :

sudo mariadb -u root -p

Une fois connecté au prompt MariaDB, exécutez :

CREATE USER 'johndoe'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
CREATE DATABASE mon_projet;
GRANT ALL PRIVILEGES ON mon_projet.* TO 'johndoe'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Bonne pratique : créez un utilisateur et une base de données distincts par projet. Cela limite les dégâts en cas de compromission d'un compte.


2. Installer et configurer PhpMyAdmin

PhpMyAdmin est une interface web qui permet d'administrer vos bases de données MariaDB depuis votre navigateur : créer des tables, importer/exporter des données, exécuter des requêtes SQL, etc.

2.1. Installation

sudo apt install phpmyadmin -y

Pendant l'installation, un prompt interactif vous pose deux questions :

  1. Quel serveur web ? → Sélectionnez apache2 avec la barre espace, puis validez avec Entrée
  2. Configurer dbconfig-common ? → Sélectionnez Oui et définissez un mot de passe pour l'utilisateur PhpMyAdmin

2.2. Configurer Apache pour PhpMyAdmin

Copiez la configuration Apache fournie par PhpMyAdmin dans le dossier des configurations disponibles :

sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

Éditez ensuite ce fichier :

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Repérez la ligne suivante :

Alias /phpmyadmin /usr/share/phpmyadmin

Remplacez /phpmyadmin par un alias personnalisé et difficile à deviner :

Alias /mon-acces-secret /usr/share/phpmyadmin

Pourquoi changer l'alias ? L'URL /phpmyadmin est la première cible des bots qui scannent internet à la recherche d'interfaces d'administration exposées. Un alias personnalisé réduit considérablement ce risque.

2.3. Activer la configuration et recharger Apache

sudo a2enconf phpmyadmin
sudo systemctl reload apache2

Vous pouvez maintenant accéder à PhpMyAdmin depuis votre navigateur :

https://acme.test/mon-acces-secret

Connectez-vous avec l'utilisateur johndoe et le mot de passe défini à l'étape 1.3.


3. Installer Composer

Composer est le gestionnaire de dépendances standard de l'écosystème PHP. Il permet d'installer et de gérer les bibliothèques tierces de vos projets (frameworks, SDKs, utilitaires…).

3.1. Télécharger et vérifier l'installeur

cd ~
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Vérifiez l'intégrité du fichier téléchargé en comparant son hash avec celui publié sur la page officielle de Composer :

php -r "if (hash_file('sha384', 'composer-setup.php') === 'HASH_OFFICIEL') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); exit(1); }"

Important : le hash change à chaque nouvelle version de Composer. Copiez toujours le hash depuis getcomposer.org/download au moment de l'installation — n'utilisez jamais un hash copié depuis un tuto.

3.2. Installer Composer

php composer-setup.php
php -r "unlink('composer-setup.php');"

Composer est installé sous forme de fichier composer.phar dans votre répertoire courant.

3.3. Créer un alias global

Pour utiliser Composer avec la commande composer depuis n'importe quel répertoire, ajoutez un alias dans votre fichier ~/.bashrc :

echo "alias composer='php ~/composer.phar'" >> ~/.bashrc
source ~/.bashrc

Vérifiez que tout fonctionne :

composer --version

Vous devriez voir quelque chose comme :

Composer version 2.x.x

4. Récapitulatif de l'environnement

Voici l'arborescence type de votre VPS à ce stade :

/home/johndoe/
├── acmephp.phar              # Client Let's Encrypt (article 2)
├── composer.phar             # Gestionnaire de dépendances PHP
├── projects/
│   ├── default/              # Projet par défaut (article 1)
│   │   └── index.html
│   └── mon-projet/           # Vos futurs projets PHP
│       ├── composer.json
│       └── vendor/
└── logs/
    ├── default-access.log
    └── default-errors.log


Récapitulatif

Votre environnement PHP est maintenant complet et prêt pour la production :

  • ✅ MariaDB installé et sécurisé
  • ✅ Utilisateur et base de données dédiés créés
  • ✅ PhpMyAdmin accessible via un alias sécurisé
  • ✅ Composer installé et disponible globalement

Checklist finale — VPS prêt pour la production

En combinant les trois articles de cette série, voici ce que vous avez mis en place :

Étape Statut
VPS Ubuntu configuré
Accès SSH avec paire de clés
Apache + PHP installés
Nom de domaine configuré (DNS + Virtual Host)
Certificat SSL Let's Encrypt
Renouvellement automatique du certificat
MariaDB sécurisé
PhpMyAdmin avec alias personnalisé
Composer installé

Votre VPS est opérationnel. Il ne vous reste plus qu'à déposer votre projet PHP dans ~/projects/ et à configurer un nouveau Virtual Host Apache pour le servir.

Ressources :

Previous Post Next Post


Add a comment