Commit 0cc6c635 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'release-1.1.4'

parents bce2b533 2c00048d
Loading
Loading
Loading
Loading
Loading
+26 −15
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ Reportez-vous au [README consacré à la création de la base de données](doc/d

Pour ce qui est de l'installation du serveur d'application, n'ayant pas à Caen les compétences 
en déploiement Docker autres que pour le développement (d'où la présence d'un `Dockerfile` et d'un `docker-compose.yml`
dans les sources), nous documenterons une installation à l'ancienne.
dans les sources), nous documenterons une installation à l'ancienne sur un serveur *entièrement dédié à l'application*.
Si vous voulez déployer l'application avec Docker, faites-le à partir du `Dockerfile` présent et n'hésitez pas à 
proposer des améliorations pour cette doc d'install!

@@ -21,13 +21,20 @@ proposer des améliorations pour cette doc d'install!
*NB: la procédure proposée ici part d'un serveur *Debian Stretch* tout nu et couvre l'installation de tous les packages 
requis.* Si ce n'était pas le cas, merci de le signaler.

Sur un serveur *Debian Stretch*, en `root`, lancez les commandes suivantes pour installer git et obtenir les sources de 
SyGAL :
En `root` sur votre serveur, pour obtenir les sources de SyGAL, lancez l'une des commandes suivantes en fonction 
du site sur lequel vous lisez la présente page :
```bash
apt-get update -qq && apt-get install -y git
git clone https://git.unicaen.fr/open-source/sygal.git /var/www/sygal
# Si vous êtes sur git.unicaen.fr :
git clone https://git.unicaen.fr/open-source/sygal.git /app

# Si vous êtes sur github.com :
git clone https://github.com/EsupPortail/sygal.git /app
```

*NB: merci de respecter dans un premier temps le choix de `/app` comme répertoire d'installation. 
Libre à vous une fois que tout fonctionne de changer d'emplacement et de modifier en conséquence les configs
nécessaires.*

### Configuration du serveur

Sur le serveur, placez-vous dans le répertoire des sources de SyGAL et jetez un oeil au script `Dockerfile.sh`.
@@ -38,24 +45,24 @@ traduit en bash.)

Lancez le script `Dockerfile.sh` ainsi :
```bash
cd /var/www/sygal
cd /app
bash Dockerfile.sh 7.0
```

Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants,
créés par le script `Dockerfile.sh` :
- ${APACHE_CONF_DIR}/ports.conf
- ${APACHE_CONF_DIR}/sites-available/sygal.conf
- ${APACHE_CONF_DIR}/sites-available/sygal-ssl.conf  
- ${PHP_CONF_DIR}/fpm/pool.d/sygal.conf
- ${PHP_CONF_DIR}/fpm/conf.d/
- ${APACHE_CONF_DIR}/sites-available/app.conf
- ${APACHE_CONF_DIR}/sites-available/app-ssl.conf  
- ${PHP_CONF_DIR}/fpm/pool.d/app.conf
- ${PHP_CONF_DIR}/fpm/conf.d/90-app.ini

NB: Vérifiez dans le script `Dockerfile.sh` que vous venez de lancer mais normalement 
`APACHE_CONF_DIR=/etc/apache2` et `PHP_CONF_DIR=/etc/php/7.0`.

### Installation d'une version précise de l'application

Normalement, vous ne devez installer que les versions officielles, c'est à dire les versions taguées, du genre `1.0.9`
Normalement, vous ne devez installer que les versions officielles, c'est à dire les versions taguées, du genre `1.1.4`
par exemple.

Placez-vous dans le répertoire des sources de l'application puis lancez les commandes suivantes pour obtenir la liste des
@@ -64,10 +71,10 @@ versions officielles (taguées) :
git fetch && git fetch --tags && git tag
```

Si la version la plus récente est par exemple la `1.0.9`, utilisez les commandes suivantes pour "installer" cette version 
Si la version la plus récente est par exemple la `1.1.4`, utilisez les commandes suivantes pour "installer" cette version 
sur votre serveur :
```bash
git checkout --force 1.0.9 && bash install.sh
git checkout --force 1.1.4 && bash install.sh
```

### Configuration du moteur PHP pour SyGAL
@@ -220,7 +227,8 @@ depuis l'interface graphique.
Placez-vous dans le répertoire de SyGAL sur le serveur pour lancer l'import puis la synchro des données.

Ce qui suit n'est possible que si le web service d'import de données est installé, si ce n'est pas le cas, 
reportez-vous au [README du projet sygal-import-ws](https://github.com/EsupPortail/sygal-import-ws).
reportez-vous au projet `sygal-import-ws` [sur github.com/EsupPortail](https://github.com/EsupPortail/sygal-import-ws)
ou [sur git.unicaen.fr](https://git.unicaen.fr/open-source/sygal-import-ws).

### Lancement de l'import des données

@@ -228,6 +236,9 @@ Il s'agit de l'interrogation du WS et du remplissage des tables TMP_*.

    php public/index.php import-all --etablissement=UCN --synchronize=0 --breakOnServiceNotFound=0

*NB: `'UCN'` doit être remplacé par le code établissement choisi lors
    de la création de votre établissement dans la base de données (dans le script [`05-init.sql`](04-init.sql)).*

### Lancement de la synchro à partir des données importées 

Il s'agit de la synchronisation des tables définitves de travail de l'application avec les tables TMP_* 
+6 −5
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
        "This file is @generated automatically"
    ],
    "content-hash": "8cf89d8aa3a8b99d31c267555f254266",
    "content-hash": "2efae1d051567be2653312db3e480e52",
    "packages": [
        {
            "name": "beberlei/assert",
@@ -2194,11 +2194,11 @@
        },
        {
            "name": "unicaen/oracle",
            "version": "1.2.8",
            "version": "1.2.10",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/oracle.git",
                "reference": "026e0ef03dc0326ec1e563774852891c894fa03f"
                "reference": "d242249be5225c37fcd68da8dc635add03e368ec"
            },
            "require": {
                "doctrine/dbal": "^2.5",
@@ -2218,7 +2218,7 @@
                ]
            },
            "description": "Bibliothèque utile lorsqu'on utilise un base de données Oracle",
            "time": "2019-03-10T20:11:52+00:00"
            "time": "2019-04-04T15:01:51+00:00"
        },
        {
            "name": "webmozart/assert",
@@ -3947,7 +3947,8 @@
        "ext-fileinfo": "*",
        "ext-json": "*",
        "ext-imagick": "*",
        "ext-readline": "*"
        "ext-readline": "*",
        "ext-gettext": "*"
    },
    "platform-dev": []
}
+383 −0

File added.

Preview size limit exceeded, changes collapsed.

+540 −374

File changed.

Preview size limit exceeded, changes collapsed.

+24 −11
Original line number Diff line number Diff line
@@ -5,25 +5,32 @@
--
-- Sources de données SyGAL.
--
delete from SOURCE where CODE = 'SYGAL::sygal';
delete from SOURCE where CODE = 'SYGAL::sygal'
/
INSERT INTO SOURCE (ID, CODE, LIBELLE, IMPORTABLE)
VALUES (1, 'SYGAL::sygal', 'SyGAL', 0);
VALUES (1, 'SYGAL::sygal', 'SyGAL', 0)
/

--
-- Pseudo-utilisateur 'sygal-app'.
--
delete from UTILISATEUR where USERNAME = 'sygal-app';
delete from UTILISATEUR where USERNAME = 'sygal-app'
/
INSERT INTO UTILISATEUR (ID, USERNAME, DISPLAY_NAME, PASSWORD)
VALUES (1, 'sygal-app', 'Application SyGAL', 'ldap');
VALUES (1, 'sygal-app', 'Application SyGAL', 'ldap')
/

--
-- Rôles multi-établissements.
--
delete from ROLE where SOURCE_CODE in ('ADMIN_TECH', 'OBSERV');
delete from ROLE where SOURCE_CODE in ('ADMIN_TECH', 'OBSERV')
/
INSERT INTO ROLE (ID, CODE, LIBELLE, SOURCE_CODE, SOURCE_ID, ROLE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
  VALUES (1, 'ADMIN_TECH', 'Administrateur technique', 'ADMIN_TECH', 1, 'Administrateur technique', 0, 1, 1);
  VALUES (1, 'ADMIN_TECH', 'Administrateur technique', 'ADMIN_TECH', 1, 'Administrateur technique', 0, 1, 1)
/
INSERT INTO ROLE (ID, CODE, LIBELLE, ROLE_ID, SOURCE_CODE, SOURCE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
  VALUES (2 /*241*/, 'OBSERV', 'Observateur', 'Observateur', 'OBSERV', 1, 0, 1, 1);
  VALUES (2 /*241*/, 'OBSERV', 'Observateur', 'Observateur', 'OBSERV', 1, 0, 1, 1)
/

-- drop sequence INDIVIDU_ID_SEQ;
-- drop sequence UTILISATEUR_ID_SEQ;
@@ -37,8 +44,10 @@ INSERT INTO ROLE (ID, CODE, LIBELLE, ROLE_ID, SOURCE_CODE, SOURCE_ID, THESE_DEP,
--
-- L'établissement inconnu.
--
delete from ETABLISSEMENT where SOURCE_CODE  = 'ETAB_INCONNU';
delete from STRUCTURE where SOURCE_CODE  = 'ETAB_INCONNU';
delete from ETABLISSEMENT where SOURCE_CODE  = 'ETAB_INCONNU'
/
delete from STRUCTURE where SOURCE_CODE  = 'ETAB_INCONNU'
/
insert into STRUCTURE(ID, LIBELLE, TYPE_STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE, CODE)
select STRUCTURE_ID_SEQ.nextval,
       'Établissement inconnu',
@@ -47,14 +56,16 @@ select STRUCTURE_ID_SEQ.nextval,
       1, -- source sygal
       'ETAB_INCONNU', -- source code unique
       'INCONNU' -- code
from dual;
from dual
/
insert into ETABLISSEMENT(ID, STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE)
select ETABLISSEMENT_ID_SEQ.nextval,
       STRUCTURE_ID_SEQ.currval,
       1, 1,
       1, -- source sygal
       'ETAB_INCONNU' -- source code unique, idem structure
from dual;
from dual
/

--
-- Avance de sequences.
@@ -69,6 +80,7 @@ begin
    EXIT WHEN seqnextval >= maxid;
  END LOOP;
end;
/
declare
  maxid integer;
  seqnextval integer;
@@ -79,3 +91,4 @@ begin
    EXIT WHEN seqnextval >= maxid;
  END LOOP;
end;
/
Loading