|
@@ -0,0 +1,106 @@
|
|
|
+# Katao
|
|
|
+
|
|
|
+Plateforme du réseau de distribution porté par la Coop du Tilleul
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<!-- vim-markdown-toc GFM -->
|
|
|
+
|
|
|
+* [Rapporter un bug](#rapporter-un-bug)
|
|
|
+* [Informations préalables](#informations-préalables)
|
|
|
+* [Installation (avec Docker)](#installation-avec-docker)
|
|
|
+ * [Récupération des sources et build](#récupération-des-sources-et-build)
|
|
|
+ * [Gestion des droits d'accès](#gestion-des-droits-daccès)
|
|
|
+ * [Déclaration de notre domaine local](#déclaration-de-notre-domaine-local)
|
|
|
+ * [Import d'un dump de la base de données](#import-dun-dump-de-la-base-de-données)
|
|
|
+ * [Accéder au site](#accéder-au-site)
|
|
|
+ * [Consulter les logs](#consulter-les-logs)
|
|
|
+ * [Quelques explications](#quelques-explications)
|
|
|
+* [Mise en production](#mise-en-production)
|
|
|
+ * [Base de données](#base-de-données)
|
|
|
+ * [Configuration prod](#configuration-prod)
|
|
|
+
|
|
|
+<!-- vim-markdown-toc -->
|
|
|
+
|
|
|
+
|
|
|
+## 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 :
|
|
|
+```bash
|
|
|
+$ git clone https://agora.tera.coop/gogs/tera.coop/katao-coop-tilleul.git
|
|
|
+```
|
|
|
+On construit les différentes images pour Docker :
|
|
|
+```bash
|
|
|
+$ docker-compose build
|
|
|
+```
|
|
|
+Puis on lance le bouzin :
|
|
|
+```bash
|
|
|
+$ docker-compose up
|
|
|
+```
|
|
|
+On peut vérifier que tout tourne correctement (tout doit être à "up") :
|
|
|
+```bash
|
|
|
+$ 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 :
|
|
|
+```bash
|
|
|
+$ mkdir web/uploads
|
|
|
+```
|
|
|
+2. On donne tous les droits sur les répertoires dans lesquels l'appli peut écrire :
|
|
|
+```bash
|
|
|
+$ 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éé :
|
|
|
+```bash
|
|
|
+$ 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 :
|
|
|
+```bash
|
|
|
+$ 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`
|
|
|
+
|