From 4e387b7d308a09fc40fed193b38ff70232357188 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 8 Jul 2025 14:02:56 +0000 Subject: [PATCH] FINALK --- srcs/.env | 7 +++- srcs/requirements/wordpress/Dockerfile | 15 ++++++--- srcs/requirements/wordpress/tools/setup.sh | 37 +++++++++++++++++++++- 3 files changed, 52 insertions(+), 7 deletions(-) diff --git a/srcs/.env b/srcs/.env index 5fa89f1..1fd353a 100644 --- a/srcs/.env +++ b/srcs/.env @@ -1,5 +1,10 @@ -DOMAIN_NAME=yantoine.42.fr +DDOMAIN_NAME=yantoine.42.fr +DOMAIN_NAME=51.103.107.252 MYSQL_USER=yantoine MYSQL_PASSWORD=password MYSQL_DATABASE=wordpress MYSQL_ROOT_PASSWORD=rootpass +ADMIN_USER=superuser +ADMIN_PASSWORD=lelaisserpasser +ADMIN_MAIL=superuser@mail.com +MYSQL_HOST=mariadb diff --git a/srcs/requirements/wordpress/Dockerfile b/srcs/requirements/wordpress/Dockerfile index 29cbf13..e4c133a 100644 --- a/srcs/requirements/wordpress/Dockerfile +++ b/srcs/requirements/wordpress/Dockerfile @@ -1,17 +1,22 @@ FROM debian:12.5-slim -RUN apt-get update && apt-get install -y php-fpm php-mysql curl && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y \ + php-fpm php-mysql curl mariadb-client less unzip \ + && rm -rf /var/lib/apt/lists/* # Force PHP-FPM à écouter sur le port TCP 9000 -RUN sed -i 's/listen = \/run\/php\/php8.2-fpm.sock/listen = 0.0.0.0:9000/' /etc/php/8.2/fpm/pool.d/www.conf +RUN sed -i 's|listen = /run/php/php8.2-fpm.sock|listen = 0.0.0.0:9000|' /etc/php/8.2/fpm/pool.d/www.conf + +# Installer WP-CLI +RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \ + chmod +x wp-cli.phar && mv wp-cli.phar /usr/local/bin/wp -# Créer le dossier AVANT de lancer le script RUN mkdir -p /var/www/html COPY tools/setup.sh /setup.sh -RUN chmod +x /setup.sh && /setup.sh +RUN chmod +x /setup.sh EXPOSE 9000 -CMD ["php-fpm8.2", "-F"] +CMD ["/setup.sh"] diff --git a/srcs/requirements/wordpress/tools/setup.sh b/srcs/requirements/wordpress/tools/setup.sh index 9d073f1..32e0b32 100644 --- a/srcs/requirements/wordpress/tools/setup.sh +++ b/srcs/requirements/wordpress/tools/setup.sh @@ -1,5 +1,40 @@ #!/bin/sh + +# Télécharger WordPress curl -LO https://wordpress.org/latest.tar.gz -tar -xzvf latest.tar.gz --strip-components=1 -C /var/www/html +tar -xzf latest.tar.gz --strip-components=1 -C /var/www/html rm latest.tar.gz chown -R www-data:www-data /var/www/html + +echo "🔍 MYSQL_HOST=$MYSQL_HOST" +echo "🔍 MYSQL_USER=$MYSQL_USER" +echo "🔍 MYSQL_PASSWORD=$MYSQL_PASSWORD" + +# Attendre que MariaDB soit prêt +echo "Waiting for MariaDB to be ready..." +until echo "$MYSQL_PASSWORD" | mysqladmin --silent ping -h"$MYSQL_HOST" -u"$MYSQL_USER" -p; do + sleep 1 +done + +# Générer wp-config.php +wp config create --path=/var/www/html \ + --dbname=$MYSQL_DATABASE \ + --dbuser=$MYSQL_USER \ + --dbpass=$MYSQL_PASSWORD \ + --dbhost=$MYSQL_HOST \ + --skip-check \ + --allow-root + +# Installation auto +wp core install --path=/var/www/html \ + --url="https://$DOMAIN_NAME" \ + --title="Mon site WordPress" \ + --admin_user="$ADMIN_USER" \ + --admin_password="$ADMIN_PASSWORD" \ + --admin_email="$ADMIN_MAIL" \ + --skip-email \ + --allow-root + +chown -R www-data:www-data /var/www/html + +exec php-fpm8.2 -F