dev-scripts/wp-install.sh

81 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
if [ -z "$1" ] ; then
echo "error: must specify configuration file to use"
exit 5
fi
. ./"$1"
ssh -T $ssh << EOSSH
if [ -n "$php_version" ] ; then
echo "TODO - install specific PHP version"
exit 1
elif ! php ; then
apt install -y php-fpm php-bcmath php-curl php-gd php-imagick php-mbstring \
php-mysql php-soap php-xml php-zip
fi
php_config_file=$(php --ini | grep Loaded | awk '{ print $4 }')
sed -i '/memory_limit/c\memory_limit = 256M' "$php_config_file"
sed -i '/upload_max_filesize/c\upload_max_filesize = 64M' "$php_config_file"
sed -i '/post_max_size/c\post_max_size = 64M' "$php_config_file"
sed -i '/max_execution_time/c\max_execution_time = 300M' "$php_config_file"
sed -i '/max_input_time/c\max_input_time = 1000' "$php_config_file"
# install wp-cli first
if [ ! -f /usr/local/bin/wp ] ; then
wget -nv -O /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x /usr/local/bin/wp
fi
if wp core is-installed --quiet --path="$wp_path" --allow-root ; then
echo "WordPress already installed"
else
echo "TODO - install WordPress"
fi
if [ -n "$wp_themes" ] ; then
printf "\nInstalling themes ..."
option='--activate'
for theme in $wp_themes ; do
echo " installing $theme ..."
wp theme install $theme "$option" --path="$wp_path" --allow-root
option=''
done
fi
if [ -n "$wp_plugins" ] ; then
printf "\nInstalling plugins ..."
for plugin in $wp_plugins ; do
echo " installing $plugin ..."
wp plugin install $plugin --path="$wp_path" --allow-root
done
fi
if [ -n "$wp_plugins_active" ] ; then
printf "\nInstalling plugins to activate ..."
for plugin in $wp_plugins_active ; do
echo " installing $plugin ..."
wp plugin install $plugin --activate --path="$wp_path" --allow-root
done
fi
if [ -n "$wp_plugins_active" ] ; then
printf "\nUninstalling plugins ..."
for plugin in $wp_plugins_uninstall ; do
echo " installing $plugin ..."
wp plugin deactivate $plugin --path="$wp_path" --allow-root
wp plugin uninstall $plugin --path="$wp_path" --allow-root
done
fi
# TODO determine web user programatically
ownergroup='www-data:www-data'
if [ -n "$litespeed_version" ] ; then
ownergroup='nobody:nogroup'
fi
chown -R "$ownergroup" "$wp_path"
EOSSH