Dans cet article nous allons voir comment installer un serveur web avec une base de données sous debian 10 pour un projet Symfony.

Pour le serveur web nous utiliserons apache2 et pour la base de données mariadb.

Installation des packages

Sous debian nous utilisons le gestionnaire de paquets apt pour faire l’installation.

Pour installer le serveur web avec la prise en charge de php : entrez la commande suivante:

apt install apache2 php

Puis pour installer les modules nécessaire à Symfony entrez :

apt install php-zip php-xml php-curl php-intl

Enfin, pour installer le moteur de base de données et le driver pour php, entrez :

apt install mariadb-server php-mysql

Configuration du serveur web

Les fichiers de configuration d’apache pour les virtualhost se trouve dans le dossier /etc/apache2/sites-enabled

Par défaut apache charge les pages contenus dans le dossier /var/www/html

Pour changer ce dossier, dans le cas de notre installation Symfony, il faut :

D’abord créer ou cloner son projet dans le répertoire : /var/www/

Puis allez dans le dossier de configuration d’apache :

cd /etc/apache2/site-enabled

Copiez la configuration par défaut pour notre projet :

cp 000-default.conf symfony.conf

Supprimez la configuration par défaut

rm 000-default.conf

Editez le fichier de configuration nouvellement créé:

nano default.conf

Modifiez la ligne :

DocumentRoot /var/www/html par DocumentRoot /var/www/my_project/public

Redémarrez apache avec la commande suivante :

systemctl restart apache2

Apache chargera désormais l’index.php contenu dans le dossier /var/www/my_project/public

Configuration de la base de données

Nous allons créer un utilisateur “symfony” et une base de données “my_project” avec pour mot de passe “chocolate”

Pour se faire, connectez vous à mariadb avec la commande suivante :

mysql

Exécutez la requête SQL suivante pour créer l’utilisateur symfony avec son mot de passe chocolate :

CREATE USER 'symfony'@'localhost' IDENTIFIED BY 'chocolate';

Puis créez la base de données et se positionner dessus :

CREATE DATABASE my_project;

USE my_project;

Accordez les droits sur cette base :

GRANT ALL PRIVILEGES ON my_project.* TO 'symfony'@'localhost';

Appliquez les modifications et quitter :

FLUSH PRIVILEGES;

quit

Vous pouvez tester la connexion avec la commande suivante :

mysql -u symfony -p

La base de données est configurée, vous pouvez utiliser le compte nouvellement créé pour la configuration de Symfony.

C’est terminé, j’espère que ce post vous aura été utile !