Debian est l’un des systèmes d’exploitation les plus populaires lorsqu’il s’agit de développer et de déployer des applications web. Dans cet article, nous allons explorer en détail le processus d’installation, de configuration et de déploiement de PHP, Symfony, MySQL et Docker sous Debian. Nous couvrirons chaque étape nécessaire pour créer un environnement de développement robuste et optimisé pour Symfony.
===Prérequis et environnement de développement===
Avant de commencer, il est important de s’assurer que votre système Debian est à jour. Assurez-vous d’avoir les privilèges d’administrateur pour installer les packages nécessaires. Vous aurez également besoin d’une connexion Internet stable pour télécharger les packages requis.
En ce qui concerne l’environnement de développement, il est recommandé d’utiliser un serveur Apache ou Nginx pour exécuter vos applications Symfony. Assurez-vous d’avoir également Git installé pour gérer le versionnement de votre code.
===Installation de PHP sur Debian===
La première étape consiste à installer PHP sur votre système Debian. Vous pouvez le faire en utilisant la commande suivante dans votre terminal :
sudo apt-get install php
Assurez-vous de sélectionner les extensions et les modules PHP requis pour Symfony lors de l’installation. Vous pouvez vérifier les modules installés en exécutant la commande php -m
.
===Configuration de PHP pour Symfony===
Une fois PHP installé, vous devrez configurer quelques paramètres pour Symfony. Ouvrez le fichier de configuration php.ini
avec votre éditeur de texte préféré et modifiez les valeurs suivantes :
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 60
Assurez-vous d’enregistrer les modifications et redémarrez votre serveur web pour que les changements prennent effet.
===Installation de MySQL sur Debian===
MySQL est le système de gestion de base de données recommandé pour Symfony. Vous pouvez l’installer en utilisant la commande suivante :
sudo apt-get install mysql-server
L’installation vous guidera pour définir un mot de passe pour l’utilisateur root de MySQL. Assurez-vous de le noter car vous en aurez besoin lors de la configuration de Symfony.
===Configuration de MySQL pour Symfony===
Une fois MySQL installé, vous devrez créer une base de données pour votre application Symfony. Vous pouvez le faire en vous connectant à MySQL en tant qu’utilisateur root :
mysql -u root -p
Une fois connecté, exécutez les commandes suivantes pour créer la base de données et l’utilisateur associé :
CREATE DATABASE symfony;
CREATE USER 'symfonyuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON symfony.* TO 'symfonyuser'@'localhost';
FLUSH PRIVILEGES;
N’oubliez pas de remplacer ‘password’ par un mot de passe sécurisé.
===Installation de Docker sur Debian===
Docker est un outil puissant pour créer et gérer des conteneurs. Il facilite grandement le déploiement de vos applications Symfony. Pour installer Docker sur Debian, exécutez les commandes suivantes :
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Assurez-vous que Docker est correctement installé en exécutant docker --version
.
===Configuration de Docker pour Symfony===
Avant de déployer votre application Symfony avec Docker, vous devrez créer un fichier Dockerfile
dans le répertoire racine de votre projet. Ce fichier contiendra les instructions pour la construction de l’image Docker.
Voici un exemple de Dockerfile
pour Symfony :
FROM php:7.4-apache
RUN apt-get update && apt-get install -y
libicu-dev
zlib1g-dev
libzip-dev
unzip
git
RUN docker-php-ext-install intl zip pdo_mysql
COPY . /var/www/html
RUN chown -R www-data:www-data /var/www/html
Assurez-vous d’adapter ce fichier en fonction des dépendances spécifiques de votre projet Symfony.
===Déploiement de Symfony avec Docker sur Debian===
Maintenant que vous avez configuré Docker pour Symfony, vous pouvez déployer votre application. Exécutez les commandes suivantes dans votre terminal :
docker build -t symfony-app .
docker run -p 8080:80 symfony-app
Ces commandes construisent l’image Docker et lancent un conteneur basé sur cette image, accessible sur le port 8080 de votre machine.
===Vérification de l’installation et des configurations===
Pour vérifier que tout fonctionne correctement, ouvrez votre navigateur et accédez à http://localhost:8080
. Vous devriez voir votre application Symfony se charger sans problème.
Pour vérifier que PHP, MySQL et Docker fonctionnent correctement, vous pouvez exécuter quelques commandes supplémentaires :
php -v
: vérifie la version de PHP installéemysql -V
: vérifie la version de MySQL installéedocker ps
: affiche la liste des conteneurs actifs
===Optimisation des performances===
Pour optimiser les performances de votre application Symfony, il est recommandé d’utiliser des outils tels que OPCache pour le caching du code PHP, Varnish pour la mise en cache HTTP et Redis pour le caching des données.
Conclusion ===
Dans cet article, nous avons exploré le processus d’installation, de configuration et de déploiement de PHP, Symfony, MySQL et Docker sous Debian. Nous avons couvert chaque étape nécessaire pour créer un environnement de développement solide et optimisé pour Symfony. En suivant ces instructions, vous devriez être en mesure de démarrer votre projet Symfony avec succès sur Debian. N’hésitez pas à explorer davantage les options de configuration et d’optimisation pour répondre aux besoins spécifiques de votre application.