-
Notifications
You must be signed in to change notification settings - Fork 1
Wordpress
-
WordPress Installation and Configuration
Some tools will be necessary for the communication between the WordPress program and the MariaDB database to be possible:
-
mysqli: A PHP extension, similar to a “library” to be “included” in PHP files, responsible for allowing PHP programs to execute MariaDB commands. Necessary because WordPress is a PHP program, and this allows WordPress to make modifications and searches in the database. -
wp-config.php: A configuration file read during the WordPress initialization, responsible for configuring the operation in connection with the database. Therefore, it is necessary to create this file in a customized way before creating the WordPress Docker image.
-
Add the
mysqliinstallation command, which will be used to allow access and modification commands to MariaDB by PHP files, andcurl, which will be used to download the WordPress CLI from the internet, for later installation, in the Dockerfile for WordPress:FROM debian:bullseye RUN apt update && apt upgrade -y && apt install -y \ php7.4-fpm \ php7.4-mysqli \ curl RUN mkdir -p /run/php && chown -R www-data:www-data /run/php COPY conf/www.conf /etc/php/7.4/fpm/pool.d/. ENTRYPOINT ["php-fpm7.4", "-F"]
-
Create the bash script
wp-install.shin the/srcs/requirements/wordpress/tools/directory, which will be responsible for installing the WordPress CLI, downloading the main WordPress files, creating and configuring thewp-config.phpfile, and installing WordPress:#!/bin/bash cd /var/www/html curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sleep 5 ./wp-cli.phar core download --allow-root ./wp-cli.phar config create --dbname=wordpress --dbuser=wpuser --dbpass=password --dbhost=mariadb --allow-root ./wp-cli.phar core install --url=localhost --title=inception --admin_user=ivbatist --admin_password=123456789 --admin_email=ivbatist@inception.com --allow-root ./wp-cli.phar user create guest guest@inception.com --role=subscriber --user_pass=123456789 --allow-root php-fpm7.4 -F
👉🏼 The parameters passed to create the
wp-install.shfile and create a WordPress account should later be passed through environment variables. -
Add the copy command for the
wp-install.shscript from the/srcs/requirements/wordpress/tools/directory to the current/srcs/requirements/wordpress/directory, change the execution permissions of the script, and change the final execution command from php-fpm to the script execution in the Dockerfile for WordPress:FROM debian:bullseye RUN apt update && apt upgrade -y && apt install -y \ php7.4-fpm \ php7.4-mysqli \ curl RUN mkdir -p /run/php && chown -R www-data:www-data /run/php COPY conf/www.conf /etc/php/7.4/fpm/pool.d/. COPY ./tools/wp-install.sh . RUN chmod +X wp-install.sh ENTRYPOINT ["./wp-install.sh"]
👉🏼 At this stage, you can test the WordPress configuration's functionality by rebuilding the images and starting all the containers. Finally, accessing the address
http://localhostshould display a static, styled page created by WordPress.
-