INSTALL.md 7.08 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
Damien Moulard committed
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
ADML63 committed
62 63 64

Si vous utilisez Payzen comme moyen de paiement par CB :

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

Félicie committed
70
Installer les dépendances via composer
ADML63 committed
71

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

ou

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

## Lancer la création de la base de données et des données de base du kohinos
ADML63 committed
79 80 81

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

82
**$ php bin/console doctrine:database:create**
ADML63 committed
83 84 85

Création des tables et des contraintes :

86 87
**$ php bin/console doctrine:migrations:migrate --no-interaction**

ADML63 committed
88 89
Charger les fixtures standards :

90 91 92 93 94 95
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
96 97 98 99 100 101

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

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

102
**$ php bin/console sonata:media:fix-media-context**
ADML63 committed
103

104 105 106 107 108 109
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
110

ADML63 committed
111

ADML63 committed
112 113
Supprimer le cache (si besoin)

114
**$ php bin/console cache:clear**
ADML63 committed
115 116 117

ou

Félicie committed
118
`$ rm -rf var/cache/*`
119 120
(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
121
##Installer les assets
ADML63 committed
122

123
**$ php bin/console assets:install**
ADML63 committed
124
 
Félicie committed
125
## Générer les fichiers et la BDD des traductions (pour pouvoir les modifier via l'interface d'administration notamment)
ADML63 committed
126 127 128 129 130 131 132 133

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

ADML63 committed
135

ADML63 committed
136 137 138 139 140
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
141

Félicie committed
142 143 144 145 146
## 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
147
## Configuration & test du Paiement Payzen
ADML63 committed
148 149 150 151

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.
152 153 154
    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
155 156 157 158

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
159

Félicie committed
160
## CONFIGURATION DU KOHINOS POUR VOTRE MONNAIE LOCALE
ADML63 committed
161 162

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...
163 164 165 166 167

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 : 
168 169 170 171 172 173 174 175 176 177 178 179
**tail -f var/log/prod.xxx.log | grep CRITICAL**

## Lancer le Kohinos en local

Installer le client symfony

Permettre la simulation du https en local :

**$ symfony server:ca:install**

Lancer le serveur local

180 181
**$ symfony server:start**

Félicie committed
182

183 184 185 186 187 188 189 190
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**