Installation de Symfony 2.8/3.1 sur une instance Simple Hosting de type ‘PHP 5.6/7.0’.
Dans ce tutoriel, nous allons vous montrer pas-à-pas une installation de base de ‘Symfony version 2.8/3.1‘ sur une instance Simple Hosting de type ‘PHP / MySQL‘ avec ‘PHP version 5.6/7.0‘.
Dans notre cas, le développement de l’application se fait à partir de votre poste de travail en local avec une distribution ‘Linux/Ubuntu 14.04 LTS‘ installé.
===== Installation de Composer =====
Vous devez tout d’abord télécharger le script PHP qui permet d’installer Composer :
~$ wget https://getcomposer.org/installer
Puis, on passe à la phase d’installation :
~$ php ./installer
Veuillez renommer le script :
~$ sudo mv composer.phar /usr/local/bin/composer
On vérifie que ‘composer’ est bien installé :
~$ composer --version Composer version 1.1.2 2016-05-31 19:48:11
Vous pouvez trouver un tutoriel plus complet sur l’utilisation de ‘Composer’ sur notre wiki :
http://wiki.gandi.net/fr/tutorials/simple/php/composer
===== Installation de Symfony =====
Je vous invite tout d’abord à télécharger l’application ‘Symfony Installer‘ :
~$ sudo curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
Puis à rendre ‘exécutable‘ le fichier :
~$ sudo chmod a+x /usr/local/bin/symfony
Lien :
http://symfony.com/doc/current/book/installation.html
===== Répertoire de l’application Symfony =====
Je vous suggère de créer un répertoire de travail qui va contenir l’ensemble de votre application Symfony, soit :
~$ mkdir MyProject ~$ cd MyProject/ ~/MyProject$
===== Génération de l’application Symfony en ligne de commande =====
La création de votre application Symfony est généré de la manière suivante :
symfony new
Soit :
~/MyProject$ symfony new projet 2.8 ... Downloading Symfony... ...
ou
~/MyProject$ symfony new projet 3.1
Veuillez renommer le répertoire ‘projet/‘ en ‘htdocs/‘ qui correspond au répertoire ‘racine‘ de votre application sur nos instances :
~/MyProject$ mv projet/ htdocs/
Je vous invite à vérifier si les fichiers Symfony sont bien présents :
~/MyProject$ ls htdocs/ app bin composer.json composer.lock README.md src vendor web
Lien :
http://symfony.com/doc/current/book/installation.html#creating-the-symfony-application
===== Ajout du fichier ‘.htaccess‘ =====
Afin d’avoir des adresses internets (url) correctement configurées, il vous faut créer le fichier ‘.htaccess‘ dans le répertoire ‘htdocs/‘ :
Puis ajouter le code suivant :
RewriteEngine On RewriteBase /web RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /web/$1 [QSA,L]
Lien :
http://groups.gandi.net/fr/topic/gandi.fr.hebergement.simple/34557
===== Ajout du module de générateur de bundle =====
Le module de générateur de ‘bundle‘ doit être installé :
~/MyProject$ cd htdocs/ ~/MyProject/htdocs$ composer require sensio/generator-bundle Using version ^3.0 for sensio/generator-bundle ./composer.json has been updated ... > Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile > Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::prepareDeploymentTarget ~/MyProject/htdocs$ cd .. ~/MyProject$
===== Modification du fichier .gitignore =====
Pour un premier déploiement, je vous recommande de renommer le fichier ‘.gitignore‘ ceci afin d’installer toutes les dépendances de votre application sur l’instance :
~/MyProject$ mv htdocs/.gitignore htdocs/gitignore
===== Initialisation du dépôt git =====
Pour commencer la gestion de version de votre projet, le dépôt ‘git‘ doit être initialisé :
~/MyProject$ git init . Dépôt Git vide initialisé dans /home/gandi/MyProject/.git/
Pour de plus amples informations sur Git :
https://wiki.gandi.net/fr/simple/git
===== ‘Commit‘ de la première version du projet =====
Tous les fichiers de votre projet Symfony sont alors ajoutés au premier ‘commit‘ :
~/MyProject$ git add -A
Puis ‘commiter‘:
~/MyProject$ git commit -m "First commit: Version 0.0.1" 36 files changed, 3461 insertions(+) create mode 100644 htdocs/README.md ... create mode 100644 htdocs/web/favicon.ico create mode 100644 htdocs/web/robots.txt
La branche ‘origin‘ distante de votre dépôt GitWeb doit être créé :
~/MyProject$ git remote add origin git+ssh://1234567@git.dc0.gpaas.net/ac874ebc1b.url-de-test.ws.git
Je vous invite bien sûr à changer les valeurs suivantes :
‘1234567’ est l’identifiant d’utilisateur de l’instance.
‘dc0’ est l’identifiant du datacenter.
‘ac874ebc1b.url-de-test.ws’ est l’adresse internet/hôte virtuel (vhost) de test de votre instance Simple Hosting.
Ensuite le ‘commit‘ est poussé vers le gestionnaire de version en-ligne Gitweb :
~/MyProject$ git push origin master Counting objects: 3367, done. Delta compression using up to 4 threads. Compressing objects: 100% (2199/2199), done. Writing objects: 100% (2280/2280), 1.26 MiB | 0 bytes/s, done. Total 2280 (delta 1326), reused 0 (delta 0) To git+ssh://1234567@git.dc0.gpaas.net/ac874ebc1b.url-de-test.ws.git 8dd3e50..0d80d67 master -> master
===== Déploiement de l’application en production =====
Enfin, l’application est déployée vers le répertoire SFTP ‘/lamp0/web/vhosts/ac874ebc1b.url-de-test.ws.git/htdocs/‘ de votre instance :
~/MyProject$ ssh 1234567@git.dc0.gpaas.net 'deploy ac874ebc1b.url-de-test.ws.git' ... htdocs/web/bundles/ htdocs/web/bundles/framework -> ../../vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/public/ sent 757182 bytes received 944 bytes 1516252.00 bytes/sec total size is 753574 speedup is 0.99 -----> Build complete -----> Cleaning temporary files
Vous avez la possibilité d’éviter l’affichage des logs sur la console grâce à une redirection de la sortie standard vers ‘/dev/null‘, soit :
~/MyProject$ ssh 1234567@git.dc0.gpaas.net 'deploy ac874ebc1b.url-de-test.ws.git' > /dev/null
Lien :
https://wiki.gandi.net/fr/simple/git
===== Test de votre application Symfony =====
Vous pouvez enfin tester votre site développé sous le framework Symfony 2.8/3.1 à l’adresse internet par défaut de test, dans notre cas :
http://ac874ebc1b.url-de-test.ws/
Comments are closed, but trackbacks and pingbacks are open.