README.md 3.5 KB

Katao

Plateforme du réseau de distribution porté par la Coop du Tilleul

Sommaire

Rapporter un bug

https://taiga.tera.coop/project/katao/issues

Informations préalables

Cette application utilise Symfony 1.1.9 ! Il faut donc un environnement avec php5.

Installation (avec Docker)

Récupération des sources et build

Tout d'abord, clôner ce dépôt :

$ git clone https://agora.tera.coop/gogs/tera.coop/katao-coop-tilleul.git

On construit les différentes images pour Docker :

$ docker-compose build

Puis on lance le bouzin :

$ docker-compose up

On peut vérifier que tout tourne correctement (tout doit être à "up") :

$ docker-compose ps

Gestion des droits d'accès

La gestions des droits d'accès avec Docker et les volumes n'est pas simple, voici une solution :

  1. Créer le répertoire uploads :
$ mkdir web/uploads
  1. On donne tous les droits sur les répertoires dans lesquels l'appli peut écrire :
$ chmod -R 777 log logs web/uploads

Déclaration de notre domaine local

On modifie le fichier /etc/hosts pour faire pointer katao.local sur notre container nouvellement créé :

$ sudo echo "$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -f name=apache-php -q)) katao.local" >> /etc/hosts

Import d'un dump de la base de données

Remplacer [DUMP] par le nom de votre dump :

$ docker exec -i $(docker ps -f name=db_1 -q) mysql -ukatao -pkatao katao < [DUMP].sql

Accéder au site

Normalement, vous devriez avoir un site fonctionnel en tapant katao.local dans votre navigateur web.

Consulter les logs

Vous pouvez accéder aux logs symfony et nginx via les fichiers suivants :

  • logs/nginx
  • logs/symfony

Quelques explications

Nous créeons 2 containers (voir le fichier docker-compose.yml)

  • db : C'est le container Mysql
  • apache-php : C'est le container qui contient lees sources de l'application (via un volume qui est monté à l'intérieur)

Le container apache-php est spécifique (contrairement à db qui utilise directement l'image mariadb), et est défini dans le fichier docker/apache-php/Dockerfile.

Pour éviter des problèmes lors du lancement d'apache, on passe par l'exécution d'un script start-apache.sh.

Mise en production

Base de données

  • Créer un utilisateur katao pour la base de données
  • Modifier les 2 fichiers suivants pour mettre à jour les informations de connexion à la BDD :
    • config/databases.yml
    • config/propel.ini

Configuration prod

Changer la configuration de dev en prod dans les fichiers suivants :

  • web/admin.php
  • web/api.php
  • web/index.php