113 lines
3.7 KiB
Bash
113 lines
3.7 KiB
Bash
#!/bin/sh
|
|
|
|
GRAY="\e[0;30m"
|
|
RED="\e[0;31m"
|
|
GREEN="\e[0;32m"
|
|
YELLOW="\e[0;33m"
|
|
BLUE="\e[0;34m"
|
|
PURPLE="\e[0;35m"
|
|
CYAN="\e[0;36m"
|
|
WHITE="\e[0;37m"
|
|
RESET="\e[0m"
|
|
|
|
# it gets the ENV variables from .env because specified in the docker-compose.yml file
|
|
|
|
# install wordpress with cli : https://make.wordpress.org/cli/handbook/how-to-install/
|
|
# commands : https://developer.wordpress.org/cli/commands/
|
|
# bug with wp commands : https://github.com/wp-cli/config-command/issues/31
|
|
# -> use `php wp-cli.phar` instead of `wp` as command
|
|
|
|
echo -e ${YELLOW}download wordpress :${RESET}
|
|
if ! wp core version --path="${WP_VOLUME_DIR}" 2> /dev/null
|
|
then
|
|
echo -e ${YELLOW}wp core download...${RESET}
|
|
mkdir -p ${WP_VOLUME_DIR}
|
|
#wp core download --path="${WP_VOLUME_DIR}" --allow-root
|
|
php wp-cli.phar core download --path="${WP_VOLUME_DIR}" --allow-root
|
|
else
|
|
echo -e ${GREEN}already there !${RESET}
|
|
fi
|
|
|
|
|
|
# concat url with port if not 443
|
|
echo -n "check port : "
|
|
COMPLETE_URL="${WP_URL}"
|
|
if [ ! ${WP_PORT} -eq 443 ]; then
|
|
COMPLETE_URL="${WP_URL}:${WP_PORT}"
|
|
fi
|
|
|
|
# install wp if not already installed
|
|
if ! wp core is-installed --path="${WP_VOLUME_DIR}" 2> /dev/null
|
|
then
|
|
echo -e ${YELLOW}installing :${RESET}
|
|
|
|
#wp config create \
|
|
echo -e ${YELLOW}wp config create...${RESET}
|
|
php wp-cli.phar config create \
|
|
--dbhost="${DB_HOST}" \
|
|
--dbname="${DB_NAME}" \
|
|
--dbuser="${DB_USER}" \
|
|
--dbpass="${DB_PSWD}" \
|
|
--path="${WP_VOLUME_DIR}" --allow-root
|
|
|
|
#wp core install \
|
|
echo -e ${YELLOW}wp core install...${RESET}
|
|
php wp-cli.phar core install \
|
|
--url="${WP_URL}" \
|
|
--title="${WP_TITLE}" \
|
|
--admin_user="${WP_ADMIN}" \
|
|
--admin_email="${WP_ADMIN_EMAIL}" \
|
|
--admin_password="${WP_ADMIN_PSWD}" \
|
|
--skip-email \
|
|
--path="${WP_VOLUME_DIR}" --allow-root
|
|
|
|
#wp user create \
|
|
echo -e ${YELLOW}wp user create...${RESET}
|
|
php wp-cli.phar user create \
|
|
"${WP_USER}" "${WP_USER_EMAIL}" \
|
|
--user_pass="${WP_USER_PSWD}" \
|
|
--path="${WP_VOLUME_DIR}" --allow-root
|
|
|
|
echo -e ${YELLOW}chown and chmod...${RESET}
|
|
chown -R www-data:www-data /var/www/*
|
|
chmod 755 -R /var/www/*
|
|
|
|
echo -e ${YELLOW}plugins...${RESET}
|
|
plugins=$(ls ${WP_VOLUME_PLUGINS})
|
|
for dir in $plugins; do
|
|
ln -s ${WP_VOLUME_PLUGINS}/$dir ${WP_VOLUME_DIR}/wp-content/plugins/$dir
|
|
done
|
|
echo -e ${GREEN}done !${RESET}
|
|
else
|
|
echo -e ${GREEN}wp is installed${RESET}
|
|
|
|
echo -e ${YELLOW}checking config.php file with current url...${RESET}
|
|
HOME=$(php wp-cli.phar config get WP_HOME --path=${WP_VOLUME_DIR})
|
|
if [ ${HOME} != ${COMPLETE_URL} ] ; then
|
|
php wp-cli.phar config set WP_HOME ${COMPLETE_URL} --path=${WP_VOLUME_DIR}
|
|
fi
|
|
SITEURL=$(php wp-cli.phar config get WP_SITEURL --path=${WP_VOLUME_DIR})
|
|
if [ ${SITEURL} != ${COMPLETE_URL} ] ; then
|
|
php wp-cli.phar config set WP_SITEURL ${COMPLETE_URL} --path=${WP_VOLUME_DIR}
|
|
fi
|
|
fi
|
|
|
|
|
|
# HOME=$(php wp-cli.phar config get WP_HOME --path=${WP_VOLUME_DIR})
|
|
# echo -e "HOME : ${HOME}\n"
|
|
# SITEURL=$(php wp-cli.phar config get WP_SITEURL --path=${WP_VOLUME_DIR})
|
|
# echo -e "SITEURL : ${SITEURL}\n"
|
|
LIST=$(php wp-cli.phar config list --path=${WP_VOLUME_DIR} --format="dotenv")
|
|
echo -e "LIST : ${LIST}\n"
|
|
#
|
|
# #DB_HOME=$(php wp-cli.phar db query "SELECT option_value FROM wp_options WHERE option_name = 'home'" --path=${WP_VOLUME_DIR})
|
|
# #DB_HOME=$(php wp-cli.phar db query 'SELECT * FROM wp_options WHERE option_name LIKE "%home%"' --skip-column-names --path=${WP_VOLUME_DIR})
|
|
# DB_HOME=$(php wp-cli.phar db query 'SELECT * FROM wp_options WHERE option_name="home"' --skip-column-names --path=${WP_VOLUME_DIR})
|
|
# echo -e "DB_HOME :\n${DB_HOME}\n"
|
|
# DB_URL=$(php wp-cli.phar db query 'SELECT * FROM wp_options WHERE option_name="siteurl"' --skip-column-names --path=${WP_VOLUME_DIR})
|
|
# echo -e "DB_URL :\n${DB_URL}\n"
|
|
|
|
|
|
exec "${PHP_VERSION}" -FR
|
|
|