Machine virtuelle pour le framework Symfony 6



On suppose que l'on se trouve sous Ubuntu 20.04 LTS mais cela n'a pas d'influence par rapport à une autre distribution Linux de même type (Debian).

1.1. installation de Virtual Box

La première étape consiste à installer VirtualBox sous Ubuntu. Généralement, j'utilise synaptic pour réaliser ce genre d'action. Sinon, il faudra installer plusieurs packages grâce à la commande apt dans le terminal :

sudo apt install virtualbox virtualbox-dkms virtualbox-qt

1.2. Téléchargement de Ubuntu 22.04

Se rendre sur le site d'Ubuntu et télécharger la version 22.04 sous forme d'un fichier iso, par exemple : ubuntu-22.04-desktop-amd64.iso

1.3. Création de la machine virtuelle

Lancer virtualbox, puis cliquer sur Nouvelle pour créer une nouvelle machine virtuelle.

Les images sont affichées dans une taille plus petite que leur taille réelle. Vous pouvez les visualiser de manière beaucoup plus nette en faisant un clic droit, suivi de "Ouvrir l'image dans un nouvel onglet" sous Google Chrome.

La machine virtuelle sera nommée devweb_symfony :

Cliquez ensuite sur Suivant.

1.3.1. Taille de la mémoire

Continuez en choisissant la taille de mémoire allouée à la machine virtuelle, dans mon cas, j'attribue 4096 Mo, puis cliquez sur Suivant.

1.3.2. Disque dur virtuel

1.3.3. Configuration

De retour sur la fenêtre principale, cliquer sur Configuration.

1.3.3.a  Ressources

Cliquez sur l'onglet Système sur la gauche, puis sur l'onglet Processeur en haut et allouer 4 CPUs. Activez également les fonctions avancées (cases cochées).

1.3.3.b  Stockage

Dans l'onglet Stockage sur la gauche, dans Contrôleur IDE, cliquez sur le petit CD avec un signe plus (celui qui se trouve à gauche), puis ajoutez une nouvelle entrée qui sera le fichier .iso de Ubuntu, et enfin cliquez sur Choisir :

Sélectionnez ensuite le disque en cliquant dessus, puis cliquez sur le bouton Ok en bas à droite

1.4. Démarrage et installation de Ubuntu

Cliquez ensuite sur le bouton Démarrer en ayant choisi la machine virtuelle sur la gauche.

Dans la fenêtre qui s'ouvre, choisissez le disque de démarrage qui correspond à l'ISO puis cliquez sur Démarrer :

Dans la fenêtre courante de la machine virtuelle, choisir Try or Install Ubuntu afin de commencer l'installation d'Ubuntu :

Lorsque l'installation commence, choisir le français (ou une autre langue) puis cliquez sur Installer Ubuntu

Suivre la procédure d'installation classique mais en choisissant une installation Minimale, celle ci sera un peu plus rapide.

Pour l'utilisateur choisir le nom devweb (pour Développeur Web) ainsi que pour le mot de passe.

L'installation se poursuit sans que vous ayez à intervenir mais demande pas mal de temps.

1.5. Installation des logiciels

Redémarrer la machine virtuelle et se connecter en tant qu'utilisateur devweb avec le mot de passe devweb.

1.5.1. Mettre à jour Ubuntu

La première chose à faire consiste à mettre à jour Ubuntu en ouvrant un terminal grâce à la combinaison de touches Ctrl+Alt+T.

Dans le terminal saisir :

sudo apt update

Puis installer synaptic :

sudo apt install synaptic

Le gestionnaire de mises à jour va alors se déclencher et il faudra installer les mises à jour. Cela peut prendre du temps.

1.5.2. Installer PHP 8.1

Lancer synaptic et installer php8.1 ainsi que php8.1-{fpm, intl, mbstring, mysql, xml, zip}.

1.5.3. Installer des packages linux

Installez les packages Linux suivants dont nous auront besoin par la suite :

sudo apt install curl git zip unzip

1.5.4. Installer Composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/bin/composer

1.5.5. Installer Visual Studio Code

Se rendre sur le site Visual Studio et télécharger le fichier qui correspond à votre système d'exploitation. En l'occurrence ici, il s'agit de Linux sous Ubuntu, donc d'un fichier d'extension .deb.

Installez ensuite le package téléchargé, par exemple :

sudo dpkg -i code_1.70.2-1660629410_amd64.deb

Afin d'améliorer l'interface, lancez VSCode (code) et ajouter les extensions suivantes :

1.5.6. Installer MySQL

Installer le SGBD MySQL, pour cela utiliser synaptic et installer mysql-server et mysql-client.

Il semble qu'actuellement sur une installation récente, on peut accéder à MySQL avec des privilèges administrateur, il suffit de faire :

sudo mysql -u root

Par mesure de précaution, il est préférable de modifier le mot de passe de l'administrateur. Voici comment procéder :

sudo systemctl stop mysql.service
sudo mkdir /var/run/mysqld
sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables&
sudo mysql -u root mysql
mysql> update mysql.user set authentication_string=null where User='root';
mysql> flush privileges;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'rootpwd';
mysql> flush privileges;
mysql> exit;

Il faut ensuite supprimer mysql_safe et relancer mysql. On commence par recherche la première occurrence de mysql_safe au niveau des processus lancés (ici de pid 19163), puis on le supprime :

ps -ef | grep "mysql"
root 19613 2 .... mysql_safe....

sudo kill -9 19613

# relancer mysql
sudo systemctl start mysql.service

Se connecter finalement en tant qu'administrateur (root) avec mot de passe et :

sudo mysql -u root -p
mysql> CREATE DATABASE ccp;
mysql> CREATE USER 'ccpuser'@'localhost' IDENTIFIED BY 'ccppwd';
mysql> GRANT ALL PRIVILEGES ON ccp.* TO 'ccpuser'@'localhost';
mysql> flush privileges;
mysql> exit;

1.5.7. Installer PhpMyAdmin

Utiliser synaptic pour installer PhpMyAdmin qui permet de gérer MySQL sous forme d'une application PHP.

Lors de l'installation, choisir le serveur apache et cliquer sur le bouton Suivant.

Saisir ensuite deux fois le mot de passe de l'administrateur MySQL, en l'occurrence nous avons choisi : rootpwd

1.5.8. Installer Symfony

Nous allons installer la version CLI (Command Line Interface) de Symfony qui permet d'interagir avec Symfony dans un terminal en ligne de commande.

Dans un terminal saisir les commandes suivantes :

sudo apt install apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash
sudo apt install symfony-cli

Lancez enfin la commande suivante qui devrait vous indiquer que tout est OK.

symfony check:requirements

Définir ensuite les variables globales de git dont Symfony a besoin pour créer un projet. Vous pouvez remplacer par votre propre adresse email et votre nom :

git config --global user.email "devweb@devweb.com"
git config --global user.name "devweb"

Vous pouvez alors essayer de créer un squelette de projet afin de vérifier que tout fonctionne bien :

symfony new --webapp myproject

Par défaut, Symfony utilise git et réalise un premier commit avec les fichiers initiaux. On peut le constater en tapant dans un terminal :

cd myproject
git log

Vous pouvez lancer le projet en saisissant :

symfony serve

qui crée un serveur web pour votre application sur l'URL http://127.0.0.1:8000, ou, de manière équivalente : http://localhost:8000.

Si vous rechargez la page plusieurs fois, vous verrez que la couleur de fond sera modifiée.