Faireface.ca

Ce fichier décrit la procédure de déploiement de l'application faireface.ca.

Informations

Faireface.ca fut développé en PHP à l'aide du framework Laravel.

Laravel utilise le gestionnaire de dépendance composer.

Configuration (LEMP)

  • OS: Linux/Debian
  • Serveur HTTP: nginx
  • Serveur DB: MySQL

Liens

Prérequis

Avant de procéder à l'installation de l'application, l'environement doit être correctement configuré.

  1. La librairie mcrypt doit être installée.
  2. L'extention php-mcrypt doit être installée.
  3. Le serveur doit pouvoir interpréter les fichiers php.
  4. Le serveur doit DB être fonctionnel.

Le reste du document prends pour acquis:

  • Que le serveur est fonctionnel et que les informations de connexions au serveur de BD sont disponibles.
  • Que la machine n'héberge qu'un seul site.

Installation

Récupération du code

Dans un environement Debian, par défaut, le dossier racine des fichiers publiques de nginx sont situés dans /usr/share/nginx/.

Il faut cloner le dépot de faireface à partir de github à cet emplacement à l'aide de la commande git clone https://github.com/LeYvan/scaling-hipster.git faireface .

À la suite de l'execution de cette commande, le dépot devrait être disponible dans le dossier /usr/share/nginx/faireface/ .

Installation de composer

Le projet nescessite le gestionaire de dépendances composer .

Il faut l'installer de le dossier de faireface, car nous avons choisi d'exclure ses fichiers du dépot pour dimminuer la complexité d'utilisation de git.

Rendez-vous dans le dossier /usr/share/nginx/faireface/et lancez la commande php -r "readfile('https://getcomposer.org/installer');" | php pour y télécharger les fichiers de composer.

asd span Une fois composer téléchargé, le fichier composer.phar est créé.

Sécurité / Fichier critique

Pour executer la dernière étape d'installation, un fichier critique doit être créé manuellement.

Ce fichier contient les informations d'authentification pour le service de messagerie SMS Twillio.

Dans le dossier ./faireface/app/commands/il faut créé le fichier .secure.php et y insérer le code suivant:<?php $GLOBALS['account_sid'] = 'xxx'; $GLOBALS['auth_token'] = 'yyy';?>.

Il faut remplacer xxx et yyy par vos informations confidentielles.

Si ce fichier n'existe pas lors de l'execution de la prochaine commande, le processus échouera.

Dépendances

À la racine du dossier faireface, executer: php composer.phar install

Ceci lancera le téléchargement de Laravel et de ses dépendances.

La base de code du projet est maintenant techniquement fonctionnelle, il faut la rendre executable.

Nginx

La combinaison Laravel+Nginx nescéssite une configuration particulière.

Il faut modifier le fichier du site par défaut dans la configuration de nginx.

Pour ce faire éditer le fichier/etc/nginx/site-availables/default .

Remplacer tout le contenu par la configuration contenu dans ce gist.

Vous devez modifier les chemins pour pointer vers l'emplacement de l'application sur votre machine.

MySQL

Laravel

Au lignes 59 et 60 dans le fichier app/config/database.php modifier les informations d'authentification pour MySQL.

MySQL

De plus, vous devez créer une base de données nommée faireface qui sera remplie à la phase d'initialisation. Executer: mysql -uroot -proot -e "CREATE DATABASE faireface;" où root/root sont remplacés par vos information d'authentification.

Permissions

Laravel nescéssite des permissions précises sur certains dossiers.

Le fichier ./faireface/set-permission.sh doit être executé avec les droits root .

L'application est prête à fonctionner. Il faur remplir la base de données.

Initilisation

Schéma de donnée

À la racine du dossier, executer: php artisan migrate

Génération de données de développement

Toujours à la racine du dossier faireface, executer: php artisan db:seed .

Ceci rendra l'application foncionelle, testable et navigable. Félicitations.

Troubleshooting

Erreur: mcrypt_encrypt(): Key of size 12 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported

Pour régler ce problème, à la racine du dossier faireface, executer la commande: php artisan key:generate.

Erreur: could not find driver

Vérifier vos informations de connexion de base de données dans le fichier ./faireface/app/config/database.php .

De plus, vérifier si l'extention php5-mysql est correctement installée.

Erreur: SQLSTATE[42000] [1049] Unknown database 'faireface'

Créer une base de données nommée "faireface" dans MySQL.