Commit 9a9c3c42 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Install des modules PHP Saxonc (transfo XSLT pour step-star) et qpdf (manip...

Install des modules PHP Saxonc (transfo XSLT pour step-star) et qpdf (manip PDF) ; install de Liquibase.
parent e232ff03
Loading
Loading
Loading
Loading
+25 −23
Original line number Diff line number Diff line
@@ -6,38 +6,37 @@

ARG PHP_VERSION

FROM registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
#FROM registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
FROM unicaen-dev-php${PHP_VERSION}-apache

LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>"

ENV SAXONC_INSTALL_DIR="/opt/Saxonica/SaxonHEC"
ENV FPM_PHP_LOG_FILE=/var/log/fpm-php.www.log

## Installation de packages requis.
RUN apt-get upgrade -qq && \
    apt-get update -qq && \
RUN apt-get update -qq && \
    apt-get install -y \
        postgresql-client

# qpdf
ADD resources/qpdf-10.3.2.tar.gz /tmp/
RUN cd /tmp/qpdf-10.3.2 && ./configure && make && make install && make clean && ldconfig

# Saxon/C PHP module : https://www.saxonica.com/download/c.xml
# (NB : dernière version 1.2.1 non compatible PHP 8 !)
ADD resources/libsaxon-HEC-setup64-v1.2.1.zip /tmp/
RUN unzip -o /tmp/libsaxon-HEC-setup64-v1.2.1.zip -d /tmp/ && \
    echo '/opt/Saxonica/SaxonHEC' | /tmp/libsaxon-HEC-setup64-v1.2.1 && \
    cd /opt/Saxonica/SaxonHEC && \
    cp *.so /usr/lib/. && cp -r rt /usr/lib/. && cp -r saxon-data /usr/lib/.
RUN export SAXONC_HOME=/usr/lib && \
    cd /opt/Saxonica/SaxonHEC/Saxon.C.API && \
    make distclean && phpize && ./configure --enable-saxon && make && make install && \
# (NB : dernière version 11.4 non compatible PHP 8 : https://saxonica.plan.io/issues/4842)
# (NB : sur le serveur de preprod, il a été nécessaire d'ajouter `make distclean` avant `phpize ...`)
ADD resources/libsaxon-HEC-setup64-v11.4.zip /tmp/
RUN 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 ${SAXONC_INSTALL_DIR}/Saxon.C.API && \
    phpize && ./configure --enable-saxon && make -j4 && make install && \
    echo 'extension=saxon.so' > /etc/php/${PHP_VERSION}/mods-available/saxon.ini && \
    phpenmod saxon
RUN echo 'export SAXONC_HOME=/usr/lib' >> /etc/apache2/envvars
    phpenmod saxon && \
    echo 'export SAXONC_HOME=/usr/lib' >> /etc/apache2/envvars

# Passage à Composer v2
RUN composer self-update --2
# qpdf
ADD resources/qpdf-10.3.2.tar.gz /tmp/
RUN cd /tmp/qpdf-10.3.2 && ./configure && make && make install && make clean && ldconfig

# Nettoyage.
RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/*
@@ -62,9 +61,12 @@ ADD config/php/cli/conf.d/99-sygal.ini ${PHP_CONF_DIR}/cli/conf.d/
# Copie des scripts complémentaires à lancer au démarrage du container.
COPY entrypoint.d/* /entrypoint.d/

# Rechargement de services.
#RUN service php${PHP_VERSION}-fpm reload

# Création du fichier pour les logs FPM (cf. fpm/pool.d/www.conf.part)
RUN touch ${FPM_PHP_LOG_FILE} && \
    chown www-data:www-data ${FPM_PHP_LOG_FILE}

# 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}"
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ services:
- Exemple : démarrage ponctuel d'un container pour lancer un `composer install`

```bash
PHP_VERSION=7.3 ; \
PHP_VERSION=7.4 ; \
docker run \
--rm \
-it \
@@ -76,6 +76,6 @@ composer install

```bash
docker exec \
sygal-container-php7.3 \
sygal-container-php7.4 \
php -v
```
+89.4 MiB

File added.

No diff preview for this file type.

+37.1 MiB

File added.

No diff preview for this file type.

+31.6 MiB

File added.

No diff preview for this file type.