Loading doc/release-notes/v3.0.0.md +44 −6 Original line number Diff line number Diff line Loading @@ -14,18 +14,56 @@ Cf. [3.0.0/physalis.sql](3.0.0/physalis.sql). Serveur d'application --------------------- - Sur le serveur d'application, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez les commandes suivantes pour installer la nouvelle version : - Sur le serveur d'application, vous devez installer PHP 8.0. Voici un exemple, à adapter à votre situation : ```bash git fetch && git fetch --tags && git checkout --force 3.0.0 && rm -rf vendor/* && bash install.sh export PHP_VERSION="8.0" export APACHE_CONF_DIR=/etc/apache2 export PHP_CONF_DIR=/etc/php/${PHP_VERSION} export OCI8_PACKAGE=oci-3.0.1 pear config-set http_proxy "$http_proxy" cd /tmp wget https://packages.sury.org/php/apt.gpg sudo apt-key add apt.gpg sudo apt update sudo apt upgrade sudo -E apt install -y apache2 ca-certificates curl ghostscript ghostscript-x git ldap-utils libaio1 libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libmcrypt-dev libmemcached-dev libssl-dev libxml2-dev make memcached libmemcached-tools netcat-openbsd php-pear php${PHP_VERSION} php${PHP_VERSION}-bcmath php${PHP_VERSION}-curl php${PHP_VERSION}-dev php${PHP_VERSION}-fpm php${PHP_VERSION}-gd php${PHP_VERSION}-gettext php${PHP_VERSION}-iconv php${PHP_VERSION}-imagick php${PHP_VERSION}-intl php${PHP_VERSION}-ldap php${PHP_VERSION}-mbstring php${PHP_VERSION}-memcached php${PHP_VERSION}-mysql php${PHP_VERSION}-opcache php${PHP_VERSION}-pgsql php${PHP_VERSION}-soap php${PHP_VERSION}-xml php${PHP_VERSION}-zip php${PHP_VERSION}-cli php${PHP_VERSION}-common php${PHP_VERSION}-opcache php${PHP_VERSION}-readline ssh ssl-cert subversion unzip vim wget zlib1g-dev sudo pecl install xdebug-3.2.2 && sh -c "echo 'zend_extension=xdebug.so' > /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini" && sudo sh -c "echo 'zend_extension=xdebug.so' > /etc/php/${PHP_VERSION}/fpm/conf.d/20-xdebug.ini" sudo update-alternatives --set php /usr/bin/php${PHP_VERSION} sudo a2enmod proxy_fcgi setenvif sudo a2disconf php7.4-fpm sudo a2enconf php8.0-fpm sudo service php7.4-fpm stop sudo service php8.0-fpm start sudo service apache2 restart sudo pecl uninstall oci8 cd /tmp wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads sudo unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ sudo ln -sf /usr/local/instantclient_18_5 /usr/local/instantclient && sudo ln -sf /usr/local/instantclient/sqlplus /usr/bin/sqlplus sudo echo 'instantclient,/usr/local/instantclient' | sudo pecl install ${OCI8_PACKAGE} sudo sh -c "echo 'extension=oci8.so' > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini" && sudo sh -c "echo 'extension=oci8.so' > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini" && sudo sh -c "echo '/usr/local/instantclient' > /etc/ld.so.conf.d/oracle-instantclient.conf" && sudo ldconfig sudo service php8.0-fpm reload cd /var/www/sygal-import-ws composer install rm -rf data/cache/* /usr/bin/php ./public/index.php update-service-tables --verbose ``` - Rechargez le service PHP-FPM : - Sur le serveur d'application, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez les commandes suivantes pour installer la nouvelle version : ```bash service php7.4-fpm reload git fetch && git fetch --tags && git checkout --force 3.0.0 && rm -rf vendor/* && bash install.sh ``` - Lancer la mise à jour des tables hébergeant les données importables (cela prend jusqu'à 1 minute) : - Lancer la mise à jour des tables hébergeant les données importables (cela prend 1 ou 2 minutes) : ```bash /usr/bin/php ./public/index.php update-service-tables --verbose ``` module/Application/config/module.config.php +28 −14 Original line number Diff line number Diff line Loading @@ -24,60 +24,74 @@ return [ ], 'services_to_entity_classes' => [ 'structure' => [ \ImportData\V1\Entity\Db\Structure::class, //\ImportData\V1\Entity\Db\Structure::class, \ImportData\V2\Entity\Db\Structure::class, \ImportData\V3\Entity\Db\Structure::class, ], 'etablissement' => [ \ImportData\V1\Entity\Db\Etablissement::class, //\ImportData\V1\Entity\Db\Etablissement::class, \ImportData\V2\Entity\Db\Etablissement::class, \ImportData\V3\Entity\Db\Etablissement::class, ], 'ecole-doctorale' => [ \ImportData\V1\Entity\Db\EcoleDoctorale::class, //\ImportData\V1\Entity\Db\EcoleDoctorale::class, \ImportData\V2\Entity\Db\EcoleDoctorale::class, \ImportData\V3\Entity\Db\EcoleDoctorale::class, ], 'unite-recherche' => [ \ImportData\V1\Entity\Db\UniteRecherche::class, //\ImportData\V1\Entity\Db\UniteRecherche::class, \ImportData\V2\Entity\Db\UniteRecherche::class, \ImportData\V3\Entity\Db\UniteRecherche::class, ], 'individu' => [ \ImportData\V1\Entity\Db\Individu::class, //\ImportData\V1\Entity\Db\Individu::class, \ImportData\V2\Entity\Db\Individu::class, \ImportData\V3\Entity\Db\Individu::class, ], 'doctorant' => [ \ImportData\V1\Entity\Db\Doctorant::class, //\ImportData\V1\Entity\Db\Doctorant::class, \ImportData\V2\Entity\Db\Doctorant::class, \ImportData\V3\Entity\Db\Doctorant::class, ], 'these' => [ \ImportData\V1\Entity\Db\These::class, //\ImportData\V1\Entity\Db\These::class, \ImportData\V2\Entity\Db\These::class, \ImportData\V3\Entity\Db\These::class, ], 'these-annee-univ' => [ \ImportData\V1\Entity\Db\TheseAnneeUniv::class, //\ImportData\V1\Entity\Db\TheseAnneeUniv::class, \ImportData\V2\Entity\Db\TheseAnneeUniv::class, \ImportData\V3\Entity\Db\TheseAnneeUniv::class, ], 'role' => [ \ImportData\V1\Entity\Db\Role::class, //\ImportData\V1\Entity\Db\Role::class, \ImportData\V2\Entity\Db\Role::class, \ImportData\V3\Entity\Db\Role::class, ], 'acteur' => [ \ImportData\V1\Entity\Db\Acteur::class, //\ImportData\V1\Entity\Db\Acteur::class, \ImportData\V2\Entity\Db\Acteur::class, \ImportData\V3\Entity\Db\Acteur::class, ], 'variable' => [ \ImportData\V1\Entity\Db\Variable::class, //\ImportData\V1\Entity\Db\Variable::class, \ImportData\V2\Entity\Db\Variable::class, \ImportData\V3\Entity\Db\Variable::class, ], 'origine-financement' => [ \ImportData\V1\Entity\Db\OrigineFinancement::class, //\ImportData\V1\Entity\Db\OrigineFinancement::class, \ImportData\V2\Entity\Db\OrigineFinancement::class, \ImportData\V3\Entity\Db\OrigineFinancement::class, ], 'financement' => [ \ImportData\V1\Entity\Db\Financement::class, //\ImportData\V1\Entity\Db\Financement::class, \ImportData\V2\Entity\Db\Financement::class, \ImportData\V3\Entity\Db\Financement::class, ], 'titre-acces' => [ \ImportData\V1\Entity\Db\TitreAcces::class, //\ImportData\V1\Entity\Db\TitreAcces::class, \ImportData\V2\Entity\Db\TitreAcces::class, \ImportData\V3\Entity\Db\TitreAcces::class, ], ], 'doctrine' => [ Loading Loading
doc/release-notes/v3.0.0.md +44 −6 Original line number Diff line number Diff line Loading @@ -14,18 +14,56 @@ Cf. [3.0.0/physalis.sql](3.0.0/physalis.sql). Serveur d'application --------------------- - Sur le serveur d'application, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez les commandes suivantes pour installer la nouvelle version : - Sur le serveur d'application, vous devez installer PHP 8.0. Voici un exemple, à adapter à votre situation : ```bash git fetch && git fetch --tags && git checkout --force 3.0.0 && rm -rf vendor/* && bash install.sh export PHP_VERSION="8.0" export APACHE_CONF_DIR=/etc/apache2 export PHP_CONF_DIR=/etc/php/${PHP_VERSION} export OCI8_PACKAGE=oci-3.0.1 pear config-set http_proxy "$http_proxy" cd /tmp wget https://packages.sury.org/php/apt.gpg sudo apt-key add apt.gpg sudo apt update sudo apt upgrade sudo -E apt install -y apache2 ca-certificates curl ghostscript ghostscript-x git ldap-utils libaio1 libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libmcrypt-dev libmemcached-dev libssl-dev libxml2-dev make memcached libmemcached-tools netcat-openbsd php-pear php${PHP_VERSION} php${PHP_VERSION}-bcmath php${PHP_VERSION}-curl php${PHP_VERSION}-dev php${PHP_VERSION}-fpm php${PHP_VERSION}-gd php${PHP_VERSION}-gettext php${PHP_VERSION}-iconv php${PHP_VERSION}-imagick php${PHP_VERSION}-intl php${PHP_VERSION}-ldap php${PHP_VERSION}-mbstring php${PHP_VERSION}-memcached php${PHP_VERSION}-mysql php${PHP_VERSION}-opcache php${PHP_VERSION}-pgsql php${PHP_VERSION}-soap php${PHP_VERSION}-xml php${PHP_VERSION}-zip php${PHP_VERSION}-cli php${PHP_VERSION}-common php${PHP_VERSION}-opcache php${PHP_VERSION}-readline ssh ssl-cert subversion unzip vim wget zlib1g-dev sudo pecl install xdebug-3.2.2 && sh -c "echo 'zend_extension=xdebug.so' > /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini" && sudo sh -c "echo 'zend_extension=xdebug.so' > /etc/php/${PHP_VERSION}/fpm/conf.d/20-xdebug.ini" sudo update-alternatives --set php /usr/bin/php${PHP_VERSION} sudo a2enmod proxy_fcgi setenvif sudo a2disconf php7.4-fpm sudo a2enconf php8.0-fpm sudo service php7.4-fpm stop sudo service php8.0-fpm start sudo service apache2 restart sudo pecl uninstall oci8 cd /tmp wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads wget https://git.unicaen.fr/open-source/docker/sygal-import-ws-image/-/blob/master/resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip?ref_type=heads sudo unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && sudo unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ sudo ln -sf /usr/local/instantclient_18_5 /usr/local/instantclient && sudo ln -sf /usr/local/instantclient/sqlplus /usr/bin/sqlplus sudo echo 'instantclient,/usr/local/instantclient' | sudo pecl install ${OCI8_PACKAGE} sudo sh -c "echo 'extension=oci8.so' > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini" && sudo sh -c "echo 'extension=oci8.so' > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini" && sudo sh -c "echo '/usr/local/instantclient' > /etc/ld.so.conf.d/oracle-instantclient.conf" && sudo ldconfig sudo service php8.0-fpm reload cd /var/www/sygal-import-ws composer install rm -rf data/cache/* /usr/bin/php ./public/index.php update-service-tables --verbose ``` - Rechargez le service PHP-FPM : - Sur le serveur d'application, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez les commandes suivantes pour installer la nouvelle version : ```bash service php7.4-fpm reload git fetch && git fetch --tags && git checkout --force 3.0.0 && rm -rf vendor/* && bash install.sh ``` - Lancer la mise à jour des tables hébergeant les données importables (cela prend jusqu'à 1 minute) : - Lancer la mise à jour des tables hébergeant les données importables (cela prend 1 ou 2 minutes) : ```bash /usr/bin/php ./public/index.php update-service-tables --verbose ```
module/Application/config/module.config.php +28 −14 Original line number Diff line number Diff line Loading @@ -24,60 +24,74 @@ return [ ], 'services_to_entity_classes' => [ 'structure' => [ \ImportData\V1\Entity\Db\Structure::class, //\ImportData\V1\Entity\Db\Structure::class, \ImportData\V2\Entity\Db\Structure::class, \ImportData\V3\Entity\Db\Structure::class, ], 'etablissement' => [ \ImportData\V1\Entity\Db\Etablissement::class, //\ImportData\V1\Entity\Db\Etablissement::class, \ImportData\V2\Entity\Db\Etablissement::class, \ImportData\V3\Entity\Db\Etablissement::class, ], 'ecole-doctorale' => [ \ImportData\V1\Entity\Db\EcoleDoctorale::class, //\ImportData\V1\Entity\Db\EcoleDoctorale::class, \ImportData\V2\Entity\Db\EcoleDoctorale::class, \ImportData\V3\Entity\Db\EcoleDoctorale::class, ], 'unite-recherche' => [ \ImportData\V1\Entity\Db\UniteRecherche::class, //\ImportData\V1\Entity\Db\UniteRecherche::class, \ImportData\V2\Entity\Db\UniteRecherche::class, \ImportData\V3\Entity\Db\UniteRecherche::class, ], 'individu' => [ \ImportData\V1\Entity\Db\Individu::class, //\ImportData\V1\Entity\Db\Individu::class, \ImportData\V2\Entity\Db\Individu::class, \ImportData\V3\Entity\Db\Individu::class, ], 'doctorant' => [ \ImportData\V1\Entity\Db\Doctorant::class, //\ImportData\V1\Entity\Db\Doctorant::class, \ImportData\V2\Entity\Db\Doctorant::class, \ImportData\V3\Entity\Db\Doctorant::class, ], 'these' => [ \ImportData\V1\Entity\Db\These::class, //\ImportData\V1\Entity\Db\These::class, \ImportData\V2\Entity\Db\These::class, \ImportData\V3\Entity\Db\These::class, ], 'these-annee-univ' => [ \ImportData\V1\Entity\Db\TheseAnneeUniv::class, //\ImportData\V1\Entity\Db\TheseAnneeUniv::class, \ImportData\V2\Entity\Db\TheseAnneeUniv::class, \ImportData\V3\Entity\Db\TheseAnneeUniv::class, ], 'role' => [ \ImportData\V1\Entity\Db\Role::class, //\ImportData\V1\Entity\Db\Role::class, \ImportData\V2\Entity\Db\Role::class, \ImportData\V3\Entity\Db\Role::class, ], 'acteur' => [ \ImportData\V1\Entity\Db\Acteur::class, //\ImportData\V1\Entity\Db\Acteur::class, \ImportData\V2\Entity\Db\Acteur::class, \ImportData\V3\Entity\Db\Acteur::class, ], 'variable' => [ \ImportData\V1\Entity\Db\Variable::class, //\ImportData\V1\Entity\Db\Variable::class, \ImportData\V2\Entity\Db\Variable::class, \ImportData\V3\Entity\Db\Variable::class, ], 'origine-financement' => [ \ImportData\V1\Entity\Db\OrigineFinancement::class, //\ImportData\V1\Entity\Db\OrigineFinancement::class, \ImportData\V2\Entity\Db\OrigineFinancement::class, \ImportData\V3\Entity\Db\OrigineFinancement::class, ], 'financement' => [ \ImportData\V1\Entity\Db\Financement::class, //\ImportData\V1\Entity\Db\Financement::class, \ImportData\V2\Entity\Db\Financement::class, \ImportData\V3\Entity\Db\Financement::class, ], 'titre-acces' => [ \ImportData\V1\Entity\Db\TitreAcces::class, //\ImportData\V1\Entity\Db\TitreAcces::class, \ImportData\V2\Entity\Db\TitreAcces::class, \ImportData\V3\Entity\Db\TitreAcces::class, ], ], 'doctrine' => [ Loading