Outils pour utilisateurs

Outils du site


symfony5:deploiement

Deploiement avec un script

Déploiement via ssh avec la commande rsync.

Destination

Sur le serveur, préparer le dossier de destination et changer son propriétaire.

sudo mkdir /var/www/monprojet
sudo chown marc:marc /var/www/monprojet

Script de déploiement

deploy.sh
#!/bin/sh
rsync -av \
    ./ \
    USER@SERVEUR:/var/www/monprojet/ \
    --include=public/build \
    --include=vendor \
    --exclude-from=.gitignore \
    --exclude=".*"
Ne pas oublier de terminer les chemins par des “/”

Rendre le script exécutable :

chmod +x deploy.sh

Exécuter une première fois le script, ce qui va copier l'ensemble du projet sur le serveur.

Création d'une Base de données et d'un utilisateur

Ouvrir l'outil mariadb

mariadb -u admin -p

Lister les bases de données existantes :

show databases;

Lister les privileges existants :

SELECT USER FROM mysql.user;

Créer une base de données :

CREATE DATABASE `mydb`;

Créer un nouvel utilisateur :

CREATE USER `myuser`@`localhost` IDENTIFIED BY `mypassword`;

Donner tous les droits à l'utilisateur sur cette base de données :

GRANT ALL PRIVILEGES ON `mydb`.* TO `myuser`@`localhost`;

Appliquer les privilèges :

flush privileges;
exit

Dossier VAR

Créer un dossier var/

sudo mkdir var
sudo chown -R www-data:www-data var/
sudo chmod 775 var/

Ajouter l'utilisateur marc au groupe www-data

sudo usermod -aG www-data marc

Configuration

Créer un fichier .env contenant au minimum :

.env
APP_ENV=prod
APP_SECRET=<générer une chaîne de caractères aléatoires>
 
DATABASE_URL="mysql://USER:PASSWORD@127.0.0.1:3306/DBNAME?serverVersion=mariadb-10.3.25"

Pour générer des chaînes aléatoires pour APP_SECRET et PASSWORD, utiliser la commande suivante 1) :

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

La version du serveur peut être obtenue par la commande suivante :

mariadb -V

Appliquer les migrations

php bin/console doctrine:migrations:migrate

Apache VirtualHost

Réappliquer le propriétaire du dossier var

Des dossiers ont été créés dans var/ par le user marc

sudo chown -R www-data:www-data var/

Déploiements utltérieurs

Sur la machine de dev, exécuter le script de déploiement.

./deploy.sh

Se connecter en SSH sur le serveur.

Faire un clear du cache.

php bin/console cache:clear
symfony5/deploiement.txt · Dernière modification: 2021/04/16 21:52 (modification externe)