INSTALL.md 9.32 KB
Newer Older
1 2
# Installation de Kohinos

3
**PROCEDURE D'INSTALLATION EN PRODUCTION :**
ADML63 committed
4

Félicie committed
5
## Environnement requis
ADML63 committed
6 7 8

Apache >= 2

9
PHP = 7.4
ADML63 committed
10

11
Extensions PHP :
ADML63 committed
12 13 14 15

    intl
    ctype
    iconv
Félicie committed
16
    mariadb (ou mysql > 8.0)
17
    gd
Yvon committed
18
    bcmath (en environnement tav/ssa)
ADML63 committed
19 20 21 22

Installer composer si besoin

$ curl -sS https://getcomposer.org/installer | php
ADML63 committed
23

Félicie committed
24
## Cloner le projet dans le dossier nomdudossier
ADML63 committed
25 26 27

    Sur o2switch, l'accès au clone via SSH est impossible, utilisez plutôt le mode HTTP !

28
SSH : **$ git clone git@gitlab.com:federation-kohinos/kohinos.git nomdudossier**
ADML63 committed
29 30 31 32 33 34

ou

HTTPS : $ git clone https://gitlab.com/federation-kohinos/kohinos.git nomdudossier

=> Taper login et mot de passe GITLAB
ADML63 committed
35

ADML63 committed
36 37 38
Aller à nomdudossier

$ cd nomdudossier
ADML63 committed
39

Félicie committed
40
## Installer l'environnement du projet
41

ADML63 committed
42 43 44 45 46 47
Modifier les variables d'environnement

Copier le fichier .env.dist en .env et configurer :

    l'accès à la base de données (DATABASE_URL)

ADML63 committed
48 49
    bien faire attention à copier la Version du serveur Mysql (visible sur la page d'accueil de phpmyadmin "Version du serveur :" 
    (toute la valeur avant ' - ') à la fin de la variable DATABASE_URL après "?serverVersion=". 
50 51
    Exemple : Sur Mysql on a : Version du serveur : 10.3.31-MariaDB - MariaDB Server 
    On ajoute à DATABASE_URL : => ?serverVersion=10.3.31-MariaDB
ADML63 committed
52

ADML63 committed
53
- APP_ENV=dev et APP_DEBUG=1
54
- l'envoi de mail (MAILER_URL (penser à saisir MLC_NOTIF_EMAIL compatible avec le MAILER utilisé))
ADML63 committed
55
- la variable APP_SECRET (variable secrète que vous pouvez générer à partir de cette url : http://nux.net/secret
Yvon committed
56
- s'il s'agit d'une instance TAV, mettre la variable TAV_ENV à 1 (sinon la laisser à zéro)
57
- en environnement TAV, pour activer le parcours d'inscription autonomisé qui intègre la réponse à une questionnaire d'auto-évaluation pour les points de vente, passer PRESTA_SELF_INIT_AND_EVAL à 1
58
- en environnement TAV, la variable AUTOMATISATION_RECONVERSION permet d'activer l'automatisation des reconversions
59
- en environnement TAV, la variable PRESTA_EXTRA_DATA permet d'indiquer puis d'afficher publiquement plus de données concernant les prestataires (e.g. familles de produits) 
60
- en environnement TAV, la variable HOUSEHOLD_BASED_ALLOWANCE permet d'activer un mode de cotisations libres et d'allocations basées sur la composition du foyer
61
- en environnement TAV, la variable SSA_FRIENDLY_FLUX_TYPE_NAMES permet d'adapter le nommage des types de flux et les écrans de visualisation des flux à un projet de type SSA
62
- en environnement TAV, la varialble CCAS_MODE permet d'activer les fonctionnalités de branchement avec une CCAS. Attention : Pour activer CCAS_MODE, le paramètre AUTOMATISATION_RECONVERSION doit OBLIGATOIREMENT être activé.
ADML63 committed
63 64 65

Si vous utilisez Payzen comme moyen de paiement par CB :

ADML63 committed
66 67 68 69 70
1. - PAYZEN_SITE_ID=VotreConfigPayzen
2. - PAYZEN_CERTIFICATE=VotreConfigPayzen
3. - PAYZEN_CTX_MODE=TEST
4. - PAYZEN_DEBUG=true

71
## Installer les dépendances via composer
ADML63 committed
72

Félicie committed
73 74 75 76 77 78
$ php ../composer.phar install --optimize-autoloader

ou

**$ composer install --optimize-autoloader**

79 80 81 82 83 84 85 86 87 88
## S'assurer des droits d'accès

Certains dossiers doivent être accessibles en écriture par le kohinos pour le bon fonctionnement de l'application.

Par exemple, pour le dossier ccastransactions, lancer les commandes suivantes :

**chown www-data:kohinos ccastransactions** (ou groupe:utilisateur appropriés)

**chmod 775 ccastransactions**

Félicie committed
89
## Lancer la création de la base de données et des données de base du kohinos
ADML63 committed
90 91 92

Création de la base de données, si ce n'est déjà fait avec les accès dans le .ENV :

93
**$ php bin/console doctrine:database:create**
ADML63 committed
94 95 96

Création des tables et des contraintes :

97 98
**$ php bin/console doctrine:migrations:migrate --no-interaction**

ADML63 committed
99 100
Charger les fixtures standards :

101 102 103 104 105 106
Pour une instance non SSA :  
**$ php bin/console hautelook:fixtures:load --purge-with-truncate --env=pro**  
Pour une instance TAV, ou bien :  
**$ php bin/console hautelook:fixtures:load --purge-with-truncate --env=tavpro**  
ou bien :  
**$ php bin/console hautelook:fixtures:load --purge-with-truncate --env=ssagirondepro**
ADML63 committed
107 108 109 110 111 112

Vous obtiendrez cette erreur ci dessous, c'est normal !

In MediaEventSubscriber.php line 96:
There is no main category related to context: rubrique

113
**$ php bin/console sonata:media:fix-media-context**
ADML63 committed
114

115 116 117 118 119 120
Pour une instance non SSA :  
**$ php bin/console hautelook:fixtures:load --append --env=pro**  
Pour une instance TAV, ou bien :  
**$ php bin/console hautelook:fixtures:load --append --env=tavpro**  
ou bien :    
**$ php bin/console hautelook:fixtures:load --append --env=ssagirondepro**
Yvon committed
121

ADML63 committed
122

ADML63 committed
123 124
Supprimer le cache (si besoin)

125
**$ php bin/console cache:clear**
ADML63 committed
126 127 128

ou

Félicie committed
129
`$ rm -rf var/cache/*`
130 131
(supprimes tous les dossiers de cache, plus rapide que clear:cache et plus efficace en cas de changement de structure de base de données)

Félicie committed
132
##Installer les assets
ADML63 committed
133

134
**$ php bin/console assets:install**
ADML63 committed
135
 
Félicie committed
136
## Générer les fichiers et la BDD des traductions (pour pouvoir les modifier via l'interface d'administration notamment)
ADML63 committed
137 138 139 140 141 142 143 144

!!! NE FONCTIONNE PLUS POUR LE MOMENT !!!

$ php bin/console translation:update --force fr --prefix=""

$ php bin/console translation:update --force en --prefix=""

$ php bin/console lexik:translations:import --case-insensitive --force -c
ADML63 committed
145

ADML63 committed
146

ADML63 committed
147 148 149 150 151
Si besoin, modifier le htaccess (si apache < 2.4, il y a le .htaccessOLD qui peut être comptatible) (pas nécessaire sur o2switch)

$ vi .htaccess

INSTALLATION SUR LE SERVEUR TERMINÉE
ADML63 committed
152

Félicie committed
153 154 155 156 157
## Mettre à jour le logo et favicon
Une fois tout installé, éventuellement changer le logo et favicon situés dans :
- `public/images/favicon/` pour le favicon
- `public/images/logo.png/` pour le logo

Félicie committed
158
## Configuration & test du Paiement Payzen
ADML63 committed
159 160 161 162

Une fois Payzen configuré sur le Kohinos, il faut le configurer sur le Back Office de Payzen :

    Paramétrage -> Boutique : configurer les 2 "URL de retour de la boutique" avec la page d'accueil du site.
163 164 165
    Paramétrage -> Règles de notification -> URL de notification à la fin du paiement : dans le 2ème encadré, renseigner les 2 champs avec [url_du_site]/payment/notify
    Paramétrage -> Règles de notification -> URL de notification à la création d'un abonnement (mal nommé à mon avis car utilisé à chaque échéance) : dans le 2ème encadré, renseigner les 2 champs avec [url_du_site]/payment/notify
    Remarque : les URLS de notification sont réécrites par Payum à la même valeur dans le cadre de sa configuration par défaut 
ADML63 committed
166 167 168 169

Une fois l'installation et la configuration du Kohinos terminées, il est conseillé de réaliser un premier paiement afin de tester le bon fonctionnement de la communication avec Payzen en environnement de production.

Pour cela, payez une cotisation par exemple que vous pourrez rembourser dans le Back Office de Payzen et invalider dans l'admin du Kohinos (reçu = false).
ADML63 committed
170

Félicie committed
171
## CONFIGURATION DU KOHINOS POUR VOTRE MONNAIE LOCALE
ADML63 committed
172 173

Naviguer vers l'url de votre installation du Kohinos et vous accéderez à l'écran d'installation et de configuration du nom de la monnaie, du super admin, email et mot de passe, ainsi que le nom du siège, du premier groupe local, du solde de monnaie du siège, du centre de la carte etc...
174 175 176 177 178

EN CAS D'ERREUR 500 :

- Vérifier les logs présents dans var/log/, en général, si l'environnement est PROD, on peut aller voir le fichier prod.critical-DATE-DU-JOUR.log
Pour cela on peut utiliser la commande suivante : 
179 180
**tail -f var/log/prod.xxx.log | grep CRITICAL**

181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
## Mettre en place les CRON jobs

Ecrire dans un fichier tav dans /etc/cron.d :

Quand TAV_ENV = 1, pour envoyer les rappels de cotisation :

    42      0       *       *       *       kohinos php /home/kohinos/kohinos/bin/console kohinos:tav:mail-rappel-cotisation

Quand AUTOMATISATION_RECONVERSION = 1, pour que les reconversions aient lieu les dimanches soir qui précèdent les 14 et/ou 28 :

    15      23      *       *       0       kohinos [ "$(date +\%d)" -ge 08 -a "$(date +\%d)" -le 14 ] && php /home/kohinos/kohinos/bin/console kohinos:ssa:reconversion-prestataires twice_a_month
    15      23      *       *       0       kohinos [ "$(date +\%d)" -ge 22 -a "$(date +\%d)" -le 28 ] && php /home/kohinos/kohinos/bin/console kohinos:ssa:reconversion-prestataires twice_a_month
    17      23      *       *       0       kohinos [ "$(date +\%d)" -ge 22 -a "$(date +\%d)" -le 28 ] && php /home/kohinos/kohinos/bin/console kohinos:ssa:reconversion-prestataires once_a_month
    19      23      *       1,3,5,7,9,11    0        kohinos [ "$(date +\%d)" -ge 22 -a "$(date +\%d)" -le 28 ] && php /home/kohinos/kohinos/bin/console kohinos:ssa:reconversion-prestataires once_every_two_month

196
Quand CCAS_MODE = 1, pour que les reconversions CCAS soient effectuées et les exports envoyés le 1 du mois puis effacés du disque le 10 du mois :
197 198 199

    47      1       1       *       *       kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:reconversion-ccas-prestataires
    57      1       1       *       *       kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:export-ccas-transactions
200
    27      2       10       *       *       kohinos rm -f /home/kohinos/kohinos/ccastransactions/*
201

202 203 204 205 206 207 208 209 210 211
## Lancer le Kohinos en local

Installer le client symfony

Permettre la simulation du https en local :

**$ symfony server:ca:install**

Lancer le serveur local

212 213
**$ symfony server:start**

Félicie committed
214

215 216 217 218 219 220 221 222
Compiler les assets (css & js) après modification pour tests

**$ yarn install** si besoin (première modif des assets)

**$ yarn run encore dev**

Compiler les assets avant de commit : 
**$ yarn run encore prod**