INSTALL.md 10.1 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 61
- en environnement TAV, la variable HOUSEHOLD_BASED_ALLOWANCE permet d'activer un mode de cotisation libre (avec valeur minimum) et d'allocations basées sur la composition du foyer. Active également la possibilité pour l'admin de renseigner un quartier ainsi qu'un territoire à une fiche adhérent, rajoute l'information "Solde & plafond" dans la liste des adhérents (plafond défini à 2x le montant de l'allocation), ainsi que la possibilité de corriger le solde d'un adhérent.
- en environnement TAV, la variable SIMPLIFIED_HOUSEHOLD_BASED_ALLOWANCE permet d'activer un mode simplifié d'allocation en fonction de la composition du foyer (pas de minimum de cotisation, moins de détails dans la composition du foyer de l'adhérent, pas de renseignement de territoire dans la fiche adhérent, calcul de l'allocation simplifié, pas de plafond de solde). /!\ Requiert l'activation de HOUSEHOLD_BASED_ALLOWANCE.
62
- 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
63
- 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
64 65 66

Si vous utilisez Payzen comme moyen de paiement par CB :

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

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

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

ou

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

80 81 82 83 84 85 86 87 88 89
## 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
90
## Lancer la création de la base de données et des données de base du kohinos
ADML63 committed
91 92 93

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

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

Création des tables et des contraintes :

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

ADML63 committed
100 101
Charger les fixtures standards :

102 103 104 105 106 107
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
108 109 110 111 112 113

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

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

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

116 117 118 119 120 121
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
122

ADML63 committed
123

ADML63 committed
124 125
Supprimer le cache (si besoin)

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

ou

Félicie committed
130
`$ rm -rf var/cache/*`
131 132
(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
133
##Installer les assets
ADML63 committed
134

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

!!! 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
146

ADML63 committed
147

ADML63 committed
148 149 150 151 152
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
153

Félicie committed
154 155 156 157 158
## 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
159
## Configuration & test du Paiement Payzen
ADML63 committed
160 161 162 163

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.
164 165 166
    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
167 168 169 170

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
171

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

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...
175 176 177 178 179

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 : 
180 181
**tail -f var/log/prod.xxx.log | grep CRITICAL**

182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
## 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

197
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 :
198 199 200

    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
201
    27      2       10       *       *       kohinos rm -f /home/kohinos/kohinos/ccastransactions/*
202

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

Installer le client symfony

Permettre la simulation du https en local :

**$ symfony server:ca:install**

Lancer le serveur local

213 214
**$ symfony server:start**

Félicie committed
215

216 217 218 219 220 221 222 223
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**