Aller au contenu

Ayak973

INpactien
  • Compteur de contenus

    5
  • Inscription

  • Dernière visite

Visiteurs récents du profil

523 visualisations du profil

Ayak973's Achievements

Nouveau

Nouveau (1/14)

  • First Post Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

  1. Mes containers Debian n'étant jamais à l'heure (mauvais fuseau horaire), il a suffit d'ajouter ceci dans le Dockerfile : # stage: mise à l'heure du container sur Europe/Paris ENV TZ=Europe/Paris RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  2. Bonjour, Voici un Dockerfile pour une image PHP (php7-fpm), avec support PDO + Microsoft ODBC + Gettext (externationalisation) et envoi d'emails via relais externe (msmtp): Image de base : php:7.4.1-fpm Ports exposé: 9000 (pour écouter les requêtes apache/nginx) Fichier: FROM php:7.4.1-fpm LABEL version="0.1" LABEL description="PHP7 base image with MS-SQL ODBC - WARNING: TLSV1 for outdated sqlserver" LABEL maintainer="ayak973@ayak973.io" EXPOSE 9000 # for php PDO extensions RUN set -x && DEBIAN_FRONTEND=noninteractive \ && apt update && apt install gnupg unixodbc unixodbc-dev -y \ && docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \ && docker-php-ext-install pdo_odbc \ && docker-php-ext-configure gettext \ && docker-php-ext-install gettext # for emails: RUN set -x && DEBIAN_FRONTEND=noninteractive \ && apt install -y --no-install-recommends msmtp mailutils RUN echo "sendmail_path = /usr/bin/msmtp -t -i" >> /usr/local/etc/php/conf.d/php-msmtp.ini # test email from container: echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=php@****.com -t nicolas.***@***.com # for msodbc, to connect to old MSSQL Server, disable modern TLS (BWAAAAAAAAAAAAAAAAAAAAAH !!) RUN set -x && DEBIAN_FRONTEND=noninteractive \ && apt install -y --no-install-recommends openssl \ && sed -i 's,^\(MinProtocol[ ]*=\).*,\1'TLSv1.0',g' /etc/ssl/openssl.cnf \ && sed -i 's,^\(CipherString[ ]*=\).*,\1'DEFAULT@SECLEVEL=1',g' /etc/ssl/openssl.cnf # for MS ODBC RUN set -x && DEBIAN_FRONTEND=noninteractive \ && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ && curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list \ && apt update \ && ACCEPT_EULA=Y apt-get install -y msodbcsql17 \ && rm /etc/apt/sources.list.d/mssql-release.list \ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/* Dans le docker-compose php, ajouter le fichier de conf msmtp via un volume (afin de pouvoir utiliser un relais mail par conteneur, mais il existe peut-etre un meilleur moyen, ici dans le répertoire ./php7/conf/msmtp.conf) volumes: - "./php7/conf/msmtp.conf:/etc/msmtprc" Avec le fichier de conf MSMTP: defaults #tls on tls_certcheck off tls_starttls on #tls_trust_file /etc/ssl/certs/ca-certificates.crt account current_account host 192.168.xx.xxx port 587 timeout 10 from php@***.com account default : current_account Ce qui a été le plus galère, c'est de comprendre pourquoi php_PDO ne se connectait pas au serveur MSSQL2008: ce dernier est trop vieux, et ne gère pas de protocole TLS assez récent, et PHP, dans la version 7 il me semble, bloque les anciennes versions de TLS. Voila pourquoi il a fallu recourir a une image custom, sachant que la MAJ du serveur SQL n'est pas d'actualité (snif) Au passage, si ca correpond pas au sujet ou ressemble trop a un tuto, n'hésitez pas à delete sans mon accord ! Bonne fin de journée à vous !
×
×
  • Créer...