Bonjour!
Je m’essaye à installer Dolibarr sous Docker, qui passe par Traefik. Tout se passe bien jusqu’à présent, et j’en suis un peu fier (je découvre Docker)!
Par contre, j’ai un souci avec les mails. Dans la configuration des emailings, j’ai l’option PHP mail function (comme dans mon Dolibarr de prod dont j’ai récupéré la bdd pour cette installion de dev).
Malheureusement, le test d’envoi de mails ne fonctionne pas, me renvoyant cette erreur:
Échec de l'envoi de l'email (é[email protected] <[email protected]>, [email protected])
Failed to send mail with php mail.
Assurez-vous que vous n'utilisez pas un nombre de destinataires trop élevé et que le contenu de votre message n'est pas similaire à du Spam. Demandez aussi à votre administrateur de vérifier le pare-feu et les journaux serveur pour une information plus complète.
Déjà, j’aimerais bien savoir pourquoi! Alors, je me suis dit que je pourrais configurer en smtp (comme l’autre configuration d’emails).
Lorsque je souhaite enregistrer la nouvelle configuration, j’obtiens une page avec cette erreur:
Access refused to 172.XX.X.2 by SQL or Script injection protection in main.inc.php:analyseVarsForSqlAndScriptsInjection type=0
Try to go back, fix data of your form and resubmit it. You can contact also your technical support.
Seulement, l’adresse ip déclarée ici est celle de mon container Traefik, pas celle de mon container Dolibarr! Et lorsque je me connecte depuis le réseau local avec 192.XXX.X.XX:YYYY (où YYYY est le port que j’utilise), il me donne la même erreur, mais avec l’adresse ip 192.XXX.X.XX (sans le port).
Il va sans dire qu’il lui est impossible d’effectuer une requête sql s’il ne va pas au bon endroit…
Voici mon fichier docker-compose.yml, au cas où ça pourrait aider:
services:
mysql:
image: mysql:latest
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: mysecret
MYSQL_DATABASE: mydbname
MYSQL_USER: myuser
MYSQL_PASSWORD: mypsswd
volumes:
- ./database:/var/lib/mysql
networks:
- web_test
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
links:
- mysql
ports:
- 8081:80
environment:
PMA_HOST: mysql
MAX_EXECUTION_TIME: 3000
UPLOAD_LIMIT: "2000M"
MYSQL_USER: myuser
MYSQL_PASSWORD: mypsswd
networks:
- web_test
labels:
- "traefik.enable=true"
- "traefik.http.routers.phpmyadmin.rule=(Host(`myphpadmin.monserveur.com`))"
web:
image: dolibarr/dolibarr
environment:
WWW_USER_ID: ${WWW_USER_ID:-1000}
WWW_GROUP_ID: ${WWW_GROUP_ID:-1000}
DOLI_DB_HOST: ${DOLI_DB_HOST:-mysql}
DOLI_DB_NAME: ${DOLI_DB_NAME:-mydbname}
DOLI_DB_USER: ${DOLI_DB_USER:-myuser}
DOLI_DB_PASSWORD: ${DOLI_DB_PASSWORD:-mypsswd}
DOLI_URL_ROOT: "${DOLI_URL_ROOT:-http://0.0.0.0}"
DOLI_CRON: ${DOLI_CRON:-0}
DOLI_INIT_DEMO: ${DOLI_INIT_DEMO:-0}
DOLI_COMPANY_NAME: ${DOLI_COMPANY_NAME:-MyBigCompany}
ports:
- "8098:80"
links:
- mysql
volumes:
- ./documents:/var/www/documents
- ./custom:/var/www/html/custom
- ./conf:/var/www/html/conf
networks:
- web_test
labels:
- "traefik.enable=true"
- "traefik.http.routers.web.rule=(Host(`test.monserveur.com`))"
networks:
web_test:
external: true
volumes:
database:
documents:
custom:
conf:
Merci pour votre aide!