Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ Journal des modifications - Ajout des filtres année universitaire, et type (seulement pour sessions) - tri par défaut en fonction de la date des séances (de la plus récente à la plus ancienne) - Module Formations : Affichage du nom patronymique sur l'attestation et la fiche d'émargement d'une formation - Correction et mise à jour de la doc d'installation. - [FIX] Step-Star : requête de sélection des thèses à envoyer (colonne erronée pour le filtre établissement). - [FIX] Page de couverture de thèse : l'établissement affiché pour le codir était l'établissement du dernier membre du jury affiché. - [FIX] ré-attribution du privilège d'accès à l'index des formations pour les formateurs Loading Dockerfile +3 −2 Original line number Diff line number Diff line ########################################################################################### # # Image pour l'application SyGAL. # Image Docker pour l'application SyGAL # ########################################################################################### Loading Loading @@ -65,7 +65,8 @@ RUN wget https://www.saxonica.com/download/libsaxon-HEC-setup64-v11.4.zip -P /tm cd ${SAXONC_INSTALL_DIR} && \ cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. && \ export SAXONC_HOME=/usr/lib && \ cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} && \ cd ## Liquibase (+ Java) #ADD resources/jre-8u321-linux-x64.tar.gz /opt/java/ Loading Dockerfile.precdeleted 100644 → 0 +0 −18 Original line number Diff line number Diff line ########################################################################################### # # Image pour l'application SyGAL. # ########################################################################################### ARG PHP_VERSION #FROM registre.unicaen.fr:5000/open-source/docker/sygal-image:php${PHP_VERSION} FROM sygal-image-php${PHP_VERSION} LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" COPY . /app WORKDIR /app #RUN composer install Dockerfile.sh 0 → 100644 +224 −0 Original line number Diff line number Diff line ########################################################################################### # # Image Docker pour l'application SyGAL # traduite en script sh, pour configurer manuellement un serveur Debian # # Pré-requis : # - Copier le répertoire local ./docker dans le répertoire /tmp du serveur cible, ex # scp -r ./docker root@ksygal.univ.fr:/tmp/ # - Etre root. # ########################################################################################### #FROM debian:bullseye AS distrib #ENV TZ="Europe/Paris" #LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" #ARG PHP_VERSION export PHP_VERSION=8.0 #ENV HTTP_PROXY=${http_proxy} \ # HTTPS_PROXY=${https_proxy} \ # NO_PROXY=${no_proxy} \ # http_proxy=${http_proxy} \ # https_proxy=${https_proxy} \ # no_proxy=${no_proxy} apt-get -qq update && \ apt-get install -y \ apache2 \ ca-certificates \ curl \ ghostscript \ ghostscript-x \ gcc \ git \ imagemagick \ ldap-utils \ libaio1 \ libcurl4-openssl-dev \ libfreetype6-dev \ libicu-dev \ libjpeg62-turbo-dev \ libldap2-dev \ libmcrypt-dev \ libmemcached-dev \ libmemcached-tools \ libssl-dev \ libxml2-dev \ make \ memcached \ nano \ netcat-openbsd \ postgresql-client \ qpdf \ ssh \ ssl-cert \ unzip \ vim \ wget \ zlib1g-dev # Saxon/C transform command (https://www.saxonica.com/download/c.xml) export SAXONC_INSTALL_DIR="/opt/Saxonica/SaxonHEC" \ SAXONC_TRANSFORM_CMD_DEPLOY_DIR="/usr/bin" wget https://www.saxonica.com/download/libsaxon-HEC-setup64-v11.4.zip -P /tmp/ && \ unzip -o /tmp/libsaxon-HEC-setup64-v11.4.zip -d /tmp/ && \ mkdir -p ${SAXONC_INSTALL_DIR} && cp -r /tmp/libsaxon-HEC-11.4/* ${SAXONC_INSTALL_DIR}/ && \ cd ${SAXONC_INSTALL_DIR} && \ cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. && \ export SAXONC_HOME=/usr/lib && \ cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} && cd ## Liquibase (+ Java) #ADD resources/jre-8u321-linux-x64.tar.gz /opt/java/ #ENV JAVA_HOME="/opt/java/jre1.8.0_321" #ADD resources/liquibase-4.8.0.tar.gz /opt/liquibase/ #ENV PATH="/opt/liquibase/:${PATH}" ########################################################################################### #FROM composer:2.5.5 AS get-composer #FROM distrib AS php #ENV PHP_CONF_LOCAL_DIR=docker/configs/php \ export PHP_CONF_LOCAL_DIR=/tmp/docker/configs/php \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} \ FPM_PHP_LOG_FILE=/var/log/php-fpm.log # Repositories fournissant PHP 5.x, 7.x et 8.x apt-get -qq update && \ apt-get -y install apt-transport-https lsb-release ca-certificates curl && \ curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg && \ sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' # wget --no-check-certificate -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ # echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list apt-get -qq update && \ apt-get install -y \ 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}-opcache \ php${PHP_VERSION}-pgsql \ php${PHP_VERSION}-soap \ php${PHP_VERSION}-xdebug \ php${PHP_VERSION}-xml \ php${PHP_VERSION}-zip \ php${PHP_VERSION}-cli \ php${PHP_VERSION}-common \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-readline # Forçage de la version de PHP CLI update-alternatives --set php /usr/bin/php${PHP_VERSION} # Composer #COPY --from=get-composer /usr/bin/composer /usr/local/bin/composer EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] then >&2 echo 'ERROR: Invalid installer checksum' rm composer-setup.php exit 1 fi php composer-setup.php --quiet RESULT=$? rm composer-setup.php mv composer.phar /usr/local/bin/composer # Configuration PHP, php-fpm. cp ${PHP_CONF_LOCAL_DIR}/fpm/pool.d/www.conf.part /tmp/ cat /tmp/www.conf.part >> ${PHP_CONF_DIR}/fpm/pool.d/www.conf && rm /tmp/www.conf.part cp ${PHP_CONF_LOCAL_DIR}/fpm/conf.d/99-sygal.ini ${PHP_CONF_DIR}/fpm/conf.d/ cp ${PHP_CONF_LOCAL_DIR}/cli/conf.d/99-sygal.ini ${PHP_CONF_DIR}/cli/conf.d/ # Création du fichier pour les logs FPM (cf. fpm/pool.d/www.conf.part) touch ${FPM_PHP_LOG_FILE} && \ chown www-data:www-data ${FPM_PHP_LOG_FILE} ########################################################################################### #FROM php AS apache export APACHE_CONF_LOCAL_DIR=/tmp/docker/configs/apache \ APACHE_CONF_DIR=/etc/apache2 a2enmod actions alias rewrite ssl proxy proxy_fcgi setenvif headers && \ a2dismod mpm_event && a2enmod mpm_worker cp ${APACHE_CONF_LOCAL_DIR}/conf-available/security.conf ${APACHE_CONF_DIR}/conf-available/security-unicaen.conf cp ${APACHE_CONF_LOCAL_DIR}/conf-available/livelog.conf ${APACHE_CONF_DIR}/conf-available/livelog.conf cp ${APACHE_CONF_LOCAL_DIR}/conf-available/api.conf ${APACHE_CONF_DIR}/conf-available/api.conf a2disconf security.conf && \ a2enconf security-unicaen.conf \ php${PHP_VERSION}-fpm \ livelog.conf \ api.conf # Symlink apache access and error logs to stdout/stderr so Docker logs shows them. #RUN ln -sf /dev/stdout /var/log/apache2/access.log #RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log #RUN ln -sf /dev/stderr /var/log/apache2/error.log # Configuration Apache. cp ${APACHE_CONF_LOCAL_DIR}/apache-ports.conf ${APACHE_CONF_DIR}/ports.conf cp ${APACHE_CONF_LOCAL_DIR}/apache-site.conf ${APACHE_CONF_DIR}/sites-available/app.conf cp ${APACHE_CONF_LOCAL_DIR}/apache-site-ssl.conf ${APACHE_CONF_DIR}/sites-available/app-ssl.conf a2ensite app app-ssl ########################################################################################### #FROM apache AS bootstrap # Nettoyage #RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Copie les fichiers situés dans ./docker/entrypoint.d dans le dossier /entrypoint.d de l'image. # Les scripts exécutables parmi eux seront exécutés au démarrage du container (cf. entrypoint.sh). # Attention : les noms de fichiers ne doivent être constitués que de lettres minuscules ou majuscules, # de chiffres, de tirets bas (underscore) ou de tirets ; extension interdite, donc. #ADD docker/entrypoint.d/* /entrypoint.d/ ## Copie des scripts complémentaires à lancer au démarrage du container. #COPY docker/entrypoint.d/* /entrypoint.d/ # Entry point #ADD docker/entrypoint.sh /sbin/entrypoint.sh #RUN chmod 755 /sbin/entrypoint.sh #CMD ["/sbin/entrypoint.sh"] service memcached start a2enmod proxy_wstunnel service php${PHP_VERSION}-fpm start service apache2 restart #COPY . /app # #WORKDIR /app #RUN composer install bin/database/README.md +34 −21 Original line number Diff line number Diff line Génération de la doc et des scripts SQL de création d'une bdd pour SyGAL ======================================================================== Ce README s'adresse au développeur souhaitant générer la doc et les scripts de création d'une base de données Ce README s'adresse au développeur souhaitant générer la doc et les scripts de création d'une base de données (bdd) PostgreSQL pour ESUP-SyGAL. Cette génération se fait *à partir d'une base de données PostgreSQL modèle existante* à laquelle on se connecte. Cette génération se fait *à partir d'une bdd PostgreSQL modèle existante* à laquelle on se connecte. Génération des fichiers ----------------------- ## 1. Génération des fichiers ### Principe Loading @@ -19,17 +18,18 @@ Le script shell [`./build_db_install_files.sh`](build_db_install_files.sh) gén - `03_insert_bootstrap_data.sql` - `04_insert_data.sql` - `05_prepare_data.sql` - `06_create_constraints.sql` - `07_create_comue.sql` - `08_create_ced.sql` - `09_init.sql` - `10_create_fixture.sql` - `06_prepare_sequences.sql` - `07_create_constraints.sql` - `08_create_comue.sql` - `09_create_ced.sql` - `10_init.sql` - `11_create_fixture.sql` - un script bash et un fichier de config pour "préparer" les scripts SQL ayant l'extension `.sql.dist` : - `build_db_files.conf.dist` - `build_db_files.sh` - un fichier expliquant comment procéder pour créer une base de données à l'aide de tous ces scripts : - un fichier expliquant comment procéder pour créer une bdd à l'aide de tous ces scripts : - `README.md` Ce script `./build_db_install_files.sh` : Loading @@ -41,17 +41,25 @@ Le script prend en argument : - le chemin d'un fichier de config ; - le chemin du répertoire où doivent être générés les fichiers. La façon de procéder pour créer une base de données à partir des fichiers générés est expliquée dans le fichier La façon de procéder pour créer une bdd à partir des fichiers générés est expliquée dans le fichier `README.md` (lui aussi généré). ### Exemple Voici un exemple pour générer les fichiers de création d'une base de données... - dans le répertoire destination `/tmp/build`, Voici un exemple pour générer la doc et les ressources de création d'une bdd vierge... - dans le répertoire destination `/tmp/sygal-db/build`, - à partir de la base modèle `sygal` (spécifiée par les variables d'env `PGDATABASE`, etc.), - qui permettront de créer la base et l'utilisateur spécifiés dans le fichier de config - qui permettront de créer la base et l'utilisateur tels que spécifiés dans le fichier de config `./build_db_install_files.conf ` : - Emplacement du répertoire de destination : ```bash export DB_BUILD_TMP_DIR="/tmp/sygal-db/build" ``` - Génération de la doc et des ressources de création d'une bdd : ```bash PGHOST='localhost' \ PGPORT=54322 \ Loading @@ -60,21 +68,26 @@ PGUSER='ad_sygal' \ PGPASSWORD='xxxxxx' \ ./build_db_install_files.sh \ -c ./conf/build_db_install_files.conf \ -o /tmp/build -o ${DB_BUILD_TMP_DIR} ``` Mise à jour de la documentation à partir des fichiers générés ------------------------------------------------------------- ## 2. Mise à jour de la doc à partir des fichiers générés - Emplacement de la doc concernant l'install de la bdd : ```bash export DB_DOC_DIR="../../doc/database" ``` Diff avec la doc actuelle, exemple : - Diff avec la doc actuelle, exemple : ```bash meld /tmp/build/ ../../doc/database/ meld ${DB_BUILD_TMP_DIR} ${DB_DOC_DIR} ``` Copier les fichiers générés vers le répertoire contenant la documentation, exemple : - Copier les fichiers générés vers le répertoire contenant la documentation, exemple : ```bash rm -r ../../doc/database/* && cp -r /tmp/build/* ../../doc/database/ [[ -d ${DB_DOC_DIR} ]] && rm -r ${DB_DOC_DIR}/* && cp -rv ${DB_BUILD_TMP_DIR}/* ${DB_DOC_DIR}/ ``` Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ Journal des modifications - Ajout des filtres année universitaire, et type (seulement pour sessions) - tri par défaut en fonction de la date des séances (de la plus récente à la plus ancienne) - Module Formations : Affichage du nom patronymique sur l'attestation et la fiche d'émargement d'une formation - Correction et mise à jour de la doc d'installation. - [FIX] Step-Star : requête de sélection des thèses à envoyer (colonne erronée pour le filtre établissement). - [FIX] Page de couverture de thèse : l'établissement affiché pour le codir était l'établissement du dernier membre du jury affiché. - [FIX] ré-attribution du privilège d'accès à l'index des formations pour les formateurs Loading
Dockerfile +3 −2 Original line number Diff line number Diff line ########################################################################################### # # Image pour l'application SyGAL. # Image Docker pour l'application SyGAL # ########################################################################################### Loading Loading @@ -65,7 +65,8 @@ RUN wget https://www.saxonica.com/download/libsaxon-HEC-setup64-v11.4.zip -P /tm cd ${SAXONC_INSTALL_DIR} && \ cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. && \ export SAXONC_HOME=/usr/lib && \ cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} && \ cd ## Liquibase (+ Java) #ADD resources/jre-8u321-linux-x64.tar.gz /opt/java/ Loading
Dockerfile.precdeleted 100644 → 0 +0 −18 Original line number Diff line number Diff line ########################################################################################### # # Image pour l'application SyGAL. # ########################################################################################### ARG PHP_VERSION #FROM registre.unicaen.fr:5000/open-source/docker/sygal-image:php${PHP_VERSION} FROM sygal-image-php${PHP_VERSION} LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" COPY . /app WORKDIR /app #RUN composer install
Dockerfile.sh 0 → 100644 +224 −0 Original line number Diff line number Diff line ########################################################################################### # # Image Docker pour l'application SyGAL # traduite en script sh, pour configurer manuellement un serveur Debian # # Pré-requis : # - Copier le répertoire local ./docker dans le répertoire /tmp du serveur cible, ex # scp -r ./docker root@ksygal.univ.fr:/tmp/ # - Etre root. # ########################################################################################### #FROM debian:bullseye AS distrib #ENV TZ="Europe/Paris" #LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" #ARG PHP_VERSION export PHP_VERSION=8.0 #ENV HTTP_PROXY=${http_proxy} \ # HTTPS_PROXY=${https_proxy} \ # NO_PROXY=${no_proxy} \ # http_proxy=${http_proxy} \ # https_proxy=${https_proxy} \ # no_proxy=${no_proxy} apt-get -qq update && \ apt-get install -y \ apache2 \ ca-certificates \ curl \ ghostscript \ ghostscript-x \ gcc \ git \ imagemagick \ ldap-utils \ libaio1 \ libcurl4-openssl-dev \ libfreetype6-dev \ libicu-dev \ libjpeg62-turbo-dev \ libldap2-dev \ libmcrypt-dev \ libmemcached-dev \ libmemcached-tools \ libssl-dev \ libxml2-dev \ make \ memcached \ nano \ netcat-openbsd \ postgresql-client \ qpdf \ ssh \ ssl-cert \ unzip \ vim \ wget \ zlib1g-dev # Saxon/C transform command (https://www.saxonica.com/download/c.xml) export SAXONC_INSTALL_DIR="/opt/Saxonica/SaxonHEC" \ SAXONC_TRANSFORM_CMD_DEPLOY_DIR="/usr/bin" wget https://www.saxonica.com/download/libsaxon-HEC-setup64-v11.4.zip -P /tmp/ && \ unzip -o /tmp/libsaxon-HEC-setup64-v11.4.zip -d /tmp/ && \ mkdir -p ${SAXONC_INSTALL_DIR} && cp -r /tmp/libsaxon-HEC-11.4/* ${SAXONC_INSTALL_DIR}/ && \ cd ${SAXONC_INSTALL_DIR} && \ cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/. && \ export SAXONC_HOME=/usr/lib && \ cd command && ./buildhec-command.sh && ln -s ${SAXONC_INSTALL_DIR}/command/transform ${SAXONC_TRANSFORM_CMD_DEPLOY_DIR} && cd ## Liquibase (+ Java) #ADD resources/jre-8u321-linux-x64.tar.gz /opt/java/ #ENV JAVA_HOME="/opt/java/jre1.8.0_321" #ADD resources/liquibase-4.8.0.tar.gz /opt/liquibase/ #ENV PATH="/opt/liquibase/:${PATH}" ########################################################################################### #FROM composer:2.5.5 AS get-composer #FROM distrib AS php #ENV PHP_CONF_LOCAL_DIR=docker/configs/php \ export PHP_CONF_LOCAL_DIR=/tmp/docker/configs/php \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} \ FPM_PHP_LOG_FILE=/var/log/php-fpm.log # Repositories fournissant PHP 5.x, 7.x et 8.x apt-get -qq update && \ apt-get -y install apt-transport-https lsb-release ca-certificates curl && \ curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg && \ sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' # wget --no-check-certificate -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ # echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list apt-get -qq update && \ apt-get install -y \ 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}-opcache \ php${PHP_VERSION}-pgsql \ php${PHP_VERSION}-soap \ php${PHP_VERSION}-xdebug \ php${PHP_VERSION}-xml \ php${PHP_VERSION}-zip \ php${PHP_VERSION}-cli \ php${PHP_VERSION}-common \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-readline # Forçage de la version de PHP CLI update-alternatives --set php /usr/bin/php${PHP_VERSION} # Composer #COPY --from=get-composer /usr/bin/composer /usr/local/bin/composer EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] then >&2 echo 'ERROR: Invalid installer checksum' rm composer-setup.php exit 1 fi php composer-setup.php --quiet RESULT=$? rm composer-setup.php mv composer.phar /usr/local/bin/composer # Configuration PHP, php-fpm. cp ${PHP_CONF_LOCAL_DIR}/fpm/pool.d/www.conf.part /tmp/ cat /tmp/www.conf.part >> ${PHP_CONF_DIR}/fpm/pool.d/www.conf && rm /tmp/www.conf.part cp ${PHP_CONF_LOCAL_DIR}/fpm/conf.d/99-sygal.ini ${PHP_CONF_DIR}/fpm/conf.d/ cp ${PHP_CONF_LOCAL_DIR}/cli/conf.d/99-sygal.ini ${PHP_CONF_DIR}/cli/conf.d/ # Création du fichier pour les logs FPM (cf. fpm/pool.d/www.conf.part) touch ${FPM_PHP_LOG_FILE} && \ chown www-data:www-data ${FPM_PHP_LOG_FILE} ########################################################################################### #FROM php AS apache export APACHE_CONF_LOCAL_DIR=/tmp/docker/configs/apache \ APACHE_CONF_DIR=/etc/apache2 a2enmod actions alias rewrite ssl proxy proxy_fcgi setenvif headers && \ a2dismod mpm_event && a2enmod mpm_worker cp ${APACHE_CONF_LOCAL_DIR}/conf-available/security.conf ${APACHE_CONF_DIR}/conf-available/security-unicaen.conf cp ${APACHE_CONF_LOCAL_DIR}/conf-available/livelog.conf ${APACHE_CONF_DIR}/conf-available/livelog.conf cp ${APACHE_CONF_LOCAL_DIR}/conf-available/api.conf ${APACHE_CONF_DIR}/conf-available/api.conf a2disconf security.conf && \ a2enconf security-unicaen.conf \ php${PHP_VERSION}-fpm \ livelog.conf \ api.conf # Symlink apache access and error logs to stdout/stderr so Docker logs shows them. #RUN ln -sf /dev/stdout /var/log/apache2/access.log #RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log #RUN ln -sf /dev/stderr /var/log/apache2/error.log # Configuration Apache. cp ${APACHE_CONF_LOCAL_DIR}/apache-ports.conf ${APACHE_CONF_DIR}/ports.conf cp ${APACHE_CONF_LOCAL_DIR}/apache-site.conf ${APACHE_CONF_DIR}/sites-available/app.conf cp ${APACHE_CONF_LOCAL_DIR}/apache-site-ssl.conf ${APACHE_CONF_DIR}/sites-available/app-ssl.conf a2ensite app app-ssl ########################################################################################### #FROM apache AS bootstrap # Nettoyage #RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Copie les fichiers situés dans ./docker/entrypoint.d dans le dossier /entrypoint.d de l'image. # Les scripts exécutables parmi eux seront exécutés au démarrage du container (cf. entrypoint.sh). # Attention : les noms de fichiers ne doivent être constitués que de lettres minuscules ou majuscules, # de chiffres, de tirets bas (underscore) ou de tirets ; extension interdite, donc. #ADD docker/entrypoint.d/* /entrypoint.d/ ## Copie des scripts complémentaires à lancer au démarrage du container. #COPY docker/entrypoint.d/* /entrypoint.d/ # Entry point #ADD docker/entrypoint.sh /sbin/entrypoint.sh #RUN chmod 755 /sbin/entrypoint.sh #CMD ["/sbin/entrypoint.sh"] service memcached start a2enmod proxy_wstunnel service php${PHP_VERSION}-fpm start service apache2 restart #COPY . /app # #WORKDIR /app #RUN composer install
bin/database/README.md +34 −21 Original line number Diff line number Diff line Génération de la doc et des scripts SQL de création d'une bdd pour SyGAL ======================================================================== Ce README s'adresse au développeur souhaitant générer la doc et les scripts de création d'une base de données Ce README s'adresse au développeur souhaitant générer la doc et les scripts de création d'une base de données (bdd) PostgreSQL pour ESUP-SyGAL. Cette génération se fait *à partir d'une base de données PostgreSQL modèle existante* à laquelle on se connecte. Cette génération se fait *à partir d'une bdd PostgreSQL modèle existante* à laquelle on se connecte. Génération des fichiers ----------------------- ## 1. Génération des fichiers ### Principe Loading @@ -19,17 +18,18 @@ Le script shell [`./build_db_install_files.sh`](build_db_install_files.sh) gén - `03_insert_bootstrap_data.sql` - `04_insert_data.sql` - `05_prepare_data.sql` - `06_create_constraints.sql` - `07_create_comue.sql` - `08_create_ced.sql` - `09_init.sql` - `10_create_fixture.sql` - `06_prepare_sequences.sql` - `07_create_constraints.sql` - `08_create_comue.sql` - `09_create_ced.sql` - `10_init.sql` - `11_create_fixture.sql` - un script bash et un fichier de config pour "préparer" les scripts SQL ayant l'extension `.sql.dist` : - `build_db_files.conf.dist` - `build_db_files.sh` - un fichier expliquant comment procéder pour créer une base de données à l'aide de tous ces scripts : - un fichier expliquant comment procéder pour créer une bdd à l'aide de tous ces scripts : - `README.md` Ce script `./build_db_install_files.sh` : Loading @@ -41,17 +41,25 @@ Le script prend en argument : - le chemin d'un fichier de config ; - le chemin du répertoire où doivent être générés les fichiers. La façon de procéder pour créer une base de données à partir des fichiers générés est expliquée dans le fichier La façon de procéder pour créer une bdd à partir des fichiers générés est expliquée dans le fichier `README.md` (lui aussi généré). ### Exemple Voici un exemple pour générer les fichiers de création d'une base de données... - dans le répertoire destination `/tmp/build`, Voici un exemple pour générer la doc et les ressources de création d'une bdd vierge... - dans le répertoire destination `/tmp/sygal-db/build`, - à partir de la base modèle `sygal` (spécifiée par les variables d'env `PGDATABASE`, etc.), - qui permettront de créer la base et l'utilisateur spécifiés dans le fichier de config - qui permettront de créer la base et l'utilisateur tels que spécifiés dans le fichier de config `./build_db_install_files.conf ` : - Emplacement du répertoire de destination : ```bash export DB_BUILD_TMP_DIR="/tmp/sygal-db/build" ``` - Génération de la doc et des ressources de création d'une bdd : ```bash PGHOST='localhost' \ PGPORT=54322 \ Loading @@ -60,21 +68,26 @@ PGUSER='ad_sygal' \ PGPASSWORD='xxxxxx' \ ./build_db_install_files.sh \ -c ./conf/build_db_install_files.conf \ -o /tmp/build -o ${DB_BUILD_TMP_DIR} ``` Mise à jour de la documentation à partir des fichiers générés ------------------------------------------------------------- ## 2. Mise à jour de la doc à partir des fichiers générés - Emplacement de la doc concernant l'install de la bdd : ```bash export DB_DOC_DIR="../../doc/database" ``` Diff avec la doc actuelle, exemple : - Diff avec la doc actuelle, exemple : ```bash meld /tmp/build/ ../../doc/database/ meld ${DB_BUILD_TMP_DIR} ${DB_DOC_DIR} ``` Copier les fichiers générés vers le répertoire contenant la documentation, exemple : - Copier les fichiers générés vers le répertoire contenant la documentation, exemple : ```bash rm -r ../../doc/database/* && cp -r /tmp/build/* ../../doc/database/ [[ -d ${DB_DOC_DIR} ]] && rm -r ${DB_DOC_DIR}/* && cp -rv ${DB_BUILD_TMP_DIR}/* ${DB_DOC_DIR}/ ```