Compare commits
5 Commits
f858776a9e
...
6aaf86df78
Author | SHA1 | Date |
---|---|---|
Ray Elliott | 6aaf86df78 | |
Ray Elliott | 8a3c354254 | |
Ray Elliott | bbc106c018 | |
Ray Elliott | e3186d9cc9 | |
Ray Elliott | d3549ec9ed |
|
@ -1,2 +1,2 @@
|
||||||
files/private
|
files/private
|
||||||
*.secret
|
data/
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
## apache configuration
|
|
||||||
#
|
|
||||||
## uncomment if using apache
|
|
||||||
apache2_version='latest'
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
export mariadb_version='latest'
|
||||||
|
#mysql_version='latest'
|
||||||
|
|
||||||
|
export db_root_pass='9483ujtej0--=0FFFdl'
|
||||||
|
|
||||||
|
export db_name='wordpress'
|
||||||
|
export db_user='wordpress'
|
||||||
|
export db_pass='wordpress'
|
|
@ -1,9 +1,18 @@
|
||||||
# local specific options
|
# local specific options
|
||||||
|
|
||||||
## export if using local development environment
|
## export if using local development environment
|
||||||
export domain='test123.home'
|
export domain='thecampsitebible.home'
|
||||||
export url='http://test123.home'
|
export url='http://thecampsitebible.home'
|
||||||
|
|
||||||
# set to anything other than the empty string to set up a dev environment
|
# set to anything other than the empty string to set up a dev environment
|
||||||
export dev_env='true'
|
export dev_env='true'
|
||||||
|
|
||||||
|
## user configuration
|
||||||
|
export user='ray'
|
||||||
|
export user_pass='ray'
|
||||||
|
export group='ray'
|
||||||
|
|
||||||
|
## ssh configuration
|
||||||
|
export ssh_root='root@thecampsitebible.home'
|
||||||
|
export ssh_user='ray@thecampsitebible.home'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
## uncomment if using mariadb
|
|
||||||
mariadb_version='latest'
|
|
||||||
db_root_pass='9483ujtej0--=0FFFdl'
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
## uncomment if using mysql
|
|
||||||
#mysql_version='latest'
|
|
||||||
#db_root_pass='9483ujtej0--=0FFFdl'
|
|
|
@ -1,5 +0,0 @@
|
||||||
## nginx configuration
|
|
||||||
|
|
||||||
## uncomment if using nginx
|
|
||||||
#nginx_version='latest'
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
## ssh configuration
|
|
||||||
|
|
||||||
## uncomment if connecting via ssh
|
|
||||||
export ssh='root@test123.home'
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
## user configuration
|
|
||||||
## uncomment to set user
|
|
||||||
|
|
||||||
export user='ray'
|
|
||||||
export user_pass='ray'
|
|
||||||
export group='ray'
|
|
|
@ -1,10 +1,15 @@
|
||||||
## litespeed configuration
|
apache2_version='latest'
|
||||||
## uncomment if using litespeed
|
|
||||||
|
#nginx_version='latest'
|
||||||
|
|
||||||
## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74
|
## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74
|
||||||
#export litespeed_version='latest'
|
#export litespeed_version='latest'
|
||||||
|
|
||||||
## php version
|
######################
|
||||||
|
# litespeed specific #
|
||||||
|
######################
|
||||||
|
|
||||||
|
## litespeed php version
|
||||||
#export ls_lsphp_version='73'
|
#export ls_lsphp_version='73'
|
||||||
|
|
||||||
## https://openlitespeed.org/kb/1-click-install/
|
## https://openlitespeed.org/kb/1-click-install/
|
|
@ -2,22 +2,18 @@
|
||||||
|
|
||||||
export wp_user='admin'
|
export wp_user='admin'
|
||||||
export wp_pass='admin'
|
export wp_pass='admin'
|
||||||
export wp_email='myemail@isnet.uk'
|
export wp_email='myemail@example.com'
|
||||||
|
|
||||||
export wp_version='latest'
|
export wp_version='latest'
|
||||||
export wp_path='/var/www/html/wordpress'
|
export wp_path='/var/www/html/wordpress'
|
||||||
export wp_locale='en_GB'
|
export wp_locale='en_GB'
|
||||||
export wp_title='The WordPress'
|
export wp_title='The Campsite Bible'
|
||||||
|
|
||||||
export wp_db_name='wordpress'
|
|
||||||
export wp_db_user='wordpress'
|
|
||||||
export wp_db_pass='wordpress'
|
|
||||||
|
|
||||||
## list of themes to install - first one will be activated
|
## list of themes to install - first one will be activated
|
||||||
export wp_themes="twentytwenty"
|
export wp_themes="twentytwenty"
|
||||||
|
|
||||||
## list of plugins to install
|
## list of plugins to install
|
||||||
export wp_plugins="akismet all-in-one-seo-pack"
|
export wp_plugins="geodirectory"
|
||||||
|
|
||||||
## list of plugins to install and activate
|
## list of plugins to install and activate
|
||||||
export wp_plugins_active=""
|
export wp_plugins_active=""
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
## apache configuration
|
|
||||||
#
|
|
||||||
## uncomment if using apache
|
|
||||||
# apache2_version='latest'
|
|
|
@ -1,11 +0,0 @@
|
||||||
# cloudways configuration
|
|
||||||
|
|
||||||
. ./config/remote/cloudways.secret
|
|
||||||
|
|
||||||
cloudways_user='cloudways@rayelliott.dev'
|
|
||||||
cloudways_url='https://wordpress-453075-1468300.cloudwaysapps.com'
|
|
||||||
|
|
||||||
cloudways_ssh='test123@wordpress-453075-1468300.cloudwaysapps.com'
|
|
||||||
|
|
||||||
cloudways_db_name='mhhusspndh'
|
|
||||||
cloudways_db_user='mhhusspndh'
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
# export mariadb_version='latest'
|
||||||
|
# export mysql_version='latest'
|
||||||
|
|
||||||
|
# export db_root_pass='9483ujtej0--=0FFFdl'
|
||||||
|
|
||||||
|
export db_name='mhhusspndh'
|
||||||
|
export db_user='mhhusspndh'
|
||||||
|
export db_pass='w9Chzh6fR4'
|
|
@ -1,4 +0,0 @@
|
||||||
## uncomment if using mariadb
|
|
||||||
# mariadb_version='latest'
|
|
||||||
# db_root_pass='9483ujtej0--=0FFFdl'
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
## uncomment if using mysql
|
|
||||||
#mysql_version='latest'
|
|
||||||
#db_root_pass='9483ujtej0--=0FFFdl'
|
|
|
@ -1,5 +0,0 @@
|
||||||
## nginx configuration
|
|
||||||
|
|
||||||
## uncomment if using nginx
|
|
||||||
#nginx_version='latest'
|
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
# remote specific options
|
# remote specific options
|
||||||
|
|
||||||
## export if using local development environment
|
export domain='wordpress-453075-1468300.cloudwaysapps.com.example.com'
|
||||||
#export domain='test123.example.com'
|
export url='https://wordpress-453075-1468300.cloudwaysapps.com.example.com'
|
||||||
#export url='http://test123.example.com'
|
|
||||||
|
## user configuration
|
||||||
|
## uncomment to set user
|
||||||
|
# export user='ray'
|
||||||
|
# export user_pass='ray'
|
||||||
|
# export group='ray'
|
||||||
|
|
||||||
|
## ssh configuration
|
||||||
|
# export ssh_root='root@wordpress-453075-1468300.cloudwaysapps.com' # we do not have root access
|
||||||
|
export ssh_user='test123@wordpress-453075-1468300.cloudwaysapps.com'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
## ssh configuration
|
|
||||||
|
|
||||||
## uncomment if connecting via ssh
|
|
||||||
# export ssh='root@test123.isnet.uk'
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
## user configuration
|
|
||||||
## uncomment to set user
|
|
||||||
|
|
||||||
# export user='ray'
|
|
||||||
# export user_pass='ray'
|
|
||||||
# export group='ray'
|
|
|
@ -1,10 +1,15 @@
|
||||||
## litespeed configuration
|
# apache2_version='latest'
|
||||||
## uncomment if using litespeed
|
|
||||||
|
#nginx_version='latest'
|
||||||
|
|
||||||
## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74
|
## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74
|
||||||
#export litespeed_version='latest'
|
#export litespeed_version='latest'
|
||||||
|
|
||||||
## php version
|
######################
|
||||||
|
# litespeed specific #
|
||||||
|
######################
|
||||||
|
|
||||||
|
## litespeed php version
|
||||||
#export ls_lsphp_version='73'
|
#export ls_lsphp_version='73'
|
||||||
|
|
||||||
## https://openlitespeed.org/kb/1-click-install/
|
## https://openlitespeed.org/kb/1-click-install/
|
|
@ -1,23 +1,19 @@
|
||||||
## wordpress configuration - uncomment if using wordpress
|
## wordpress configuration - uncomment if using wordpress
|
||||||
|
|
||||||
# export wp_user='admin'
|
export wp_user='cloudways@rayelliott.dev'
|
||||||
# export wp_pass='admin'
|
export wp_pass='McXNn4vgua'
|
||||||
# export wp_email='myemail@isnet.uk'
|
export wp_email='myemail@example.com'
|
||||||
|
|
||||||
# export wp_version='latest'
|
export wp_version='latest'
|
||||||
# export wp_path='/var/www/html/wordpress'
|
export wp_path='/home/453075.cloudwaysapps.com/mhhusspndh/public_html'
|
||||||
# export wp_locale='en_GB'
|
export wp_locale='en_GB'
|
||||||
# export wp_title='The WordPress'
|
export wp_title='The Campsite Bible'
|
||||||
|
|
||||||
# export wp_db_name='wordpress'
|
|
||||||
# export wp_db_user='wordpress'
|
|
||||||
# export wp_db_pass='wordpress'
|
|
||||||
|
|
||||||
## list of themes to install - first one will be activated
|
## list of themes to install - first one will be activated
|
||||||
# export wp_themes="twentytwenty"
|
export wp_themes="twentytwenty"
|
||||||
|
|
||||||
## list of plugins to install
|
## list of plugins to install
|
||||||
# export wp_plugins="akismet all-in-one-seo-pack"
|
export wp_plugins="geodirectory breeze malcare-security"
|
||||||
|
|
||||||
## list of plugins to install and activate
|
## list of plugins to install and activate
|
||||||
# export wp_plugins_active=""
|
# export wp_plugins_active=""
|
||||||
|
|
|
@ -18,11 +18,6 @@ for _file in ./config/$_target/* ; do
|
||||||
. "$_file"
|
. "$_file"
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$_target" = remote ] && [ -n "$cloudways_user" ] ; then
|
|
||||||
echo "Using Cloudways - nothing to install"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# source script files
|
# source script files
|
||||||
if [ -n "$_target_os" ] ; then
|
if [ -n "$_target_os" ] ; then
|
||||||
_script_dir="./scripts/$_target_os"
|
_script_dir="./scripts/$_target_os"
|
||||||
|
@ -35,11 +30,11 @@ fi
|
||||||
echo "Using Scripts in: $_script_dir"
|
echo "Using Scripts in: $_script_dir"
|
||||||
|
|
||||||
# check we have ssh access
|
# check we have ssh access
|
||||||
[ -z "$ssh" ] && echo "Error: no ssh configuration specified" && exit 5
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
# update
|
# update
|
||||||
echo "Updating .."
|
echo "Updating .."
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get -qq -y update && apt-get -qq -y upgrade
|
apt-get -qq -y update && apt-get -qq -y upgrade
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
|
@ -7,7 +7,10 @@ fi
|
||||||
|
|
||||||
. ./"$1"
|
. ./"$1"
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
|
ssh -T $ssh_root << EOSSH
|
||||||
|
|
||||||
ufw allow http && ufw allow https
|
ufw allow http && ufw allow https
|
||||||
|
|
||||||
|
@ -24,9 +27,9 @@ if [ -n "$wp_user" ] ; then
|
||||||
--wordpressplus "$url" \
|
--wordpressplus "$url" \
|
||||||
--wordpresspath "$wp_path" \
|
--wordpresspath "$wp_path" \
|
||||||
--dbrootpassword "$db_root_pass" \
|
--dbrootpassword "$db_root_pass" \
|
||||||
--dbpassword "$wp_db_pass" \
|
--dbpassword "$db_pass" \
|
||||||
--dbname "$wp_db_name" \
|
--dbname "$db_name" \
|
||||||
--dbuser "$wp_db_user" \
|
--dbuser "$db_user" \
|
||||||
--wpuser "$wp_user" \
|
--wpuser "$wp_user" \
|
||||||
--wppassword "$wp_pass" \
|
--wppassword "$wp_pass" \
|
||||||
&& ufw allow 7080
|
&& ufw allow 7080
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
db_file="$wp_path/data.sql"
|
db_file="$wp_path/data.sql"
|
||||||
|
|
||||||
wp db export --dbuser=wordpress --dbpass=$wp_db_pass --add-drop-table --alow-root "$db_file"
|
wp db export --dbuser=wordpress --dbpass=$db_pass --add-drop-table --alow-root "$db_file"
|
||||||
tar czf /tmp/wordpress.tar.gz "$wp_path"
|
tar czf /tmp/wordpress.tar.gz "$wp_path"
|
||||||
# scp
|
# scp
|
||||||
rm "$db_file"
|
rm "$db_file"
|
||||||
|
|
|
@ -16,7 +16,7 @@ for _file in ./config/$_target/* ; do
|
||||||
done
|
done
|
||||||
|
|
||||||
# check we have ssh access
|
# check we have ssh access
|
||||||
[ -z "$ssh" ] && echo "Error: no ssh configuration specified" && exit 5
|
[ -z "$ssh_user" ] && echo "Error: no user ssh configuration specified" && exit 5
|
||||||
|
|
||||||
if [ -n "$wp_user" ] ; then
|
if [ -n "$wp_user" ] ; then
|
||||||
. ./scripts/export-wp.sh
|
. ./scripts/export-wp.sh
|
||||||
|
|
3
reset.sh
3
reset.sh
|
@ -29,9 +29,6 @@ fi
|
||||||
|
|
||||||
echo "Using Scripts in: $_script_dir"
|
echo "Using Scripts in: $_script_dir"
|
||||||
|
|
||||||
# check we have ssh access
|
|
||||||
[ -z "$ssh" ] && echo "Error: no ssh configuration specified" && exit 5
|
|
||||||
|
|
||||||
if [ -n "$wp_user" ] ; then
|
if [ -n "$wp_user" ] ; then
|
||||||
# TODO - confirmation prompt
|
# TODO - confirmation prompt
|
||||||
echo "IMPORTANT - we need a confirmation prompt here"
|
echo "IMPORTANT - we need a confirmation prompt here"
|
||||||
|
|
|
@ -5,7 +5,10 @@ if [ "$apache2_version" != 'latest' ] ; then
|
||||||
exit 30
|
exit 30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
|
ssh -T $ssh_root << EOSSH
|
||||||
echo "Installing Apache2"
|
echo "Installing Apache2"
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
echo "Installing packages .."
|
echo "Installing packages .."
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
|
ssh -T $ssh_root << EOSSH
|
||||||
|
|
||||||
sed -i '/PubkeyAuthentication/c\PubkeyAuthentication yes' /etc/ssh/sshd_config
|
sed -i '/PubkeyAuthentication/c\PubkeyAuthentication yes' /etc/ssh/sshd_config
|
||||||
sed -i '/PasswordAuthentication/c\PasswordAuthentication no' /etc/ssh/sshd_config
|
sed -i '/PasswordAuthentication/c\PasswordAuthentication no' /etc/ssh/sshd_config
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
|
|
||||||
_home_dir="/home/$user"
|
_home_dir="/home/$user"
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_user" ] || [ -z "$ssh_root" ] && echo "Error: user and root ssh configuration must be specified" && exit 5
|
||||||
|
|
||||||
|
ssh -T $ssh_root << EOSSH
|
||||||
|
|
||||||
echo "Installing packages .."
|
echo "Installing packages .."
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
@ -36,7 +39,7 @@ if command -v php ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
EOSSH
|
EOSSH
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
|
|
||||||
su "$user"
|
su "$user"
|
||||||
|
|
||||||
|
@ -46,16 +49,14 @@ echo 'export NVM_DIR="\$HOME/.nvm"' >> "$_home_dir/.profile"
|
||||||
echo '[ -s "\$NVM_DIR/nvm.sh" ] && \. "\$NVM_DIR/nvm.sh"' >> "$_home_dir/.profile"
|
echo '[ -s "\$NVM_DIR/nvm.sh" ] && \. "\$NVM_DIR/nvm.sh"' >> "$_home_dir/.profile"
|
||||||
|
|
||||||
EOSSH
|
EOSSH
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
|
|
||||||
su --login "$user"
|
su --login "$user"
|
||||||
. ./.profile
|
. ./.profile
|
||||||
nvm install --lts --latest-npm
|
nvm install --lts --latest-npm
|
||||||
|
|
||||||
EOSSH
|
EOSSH
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_user << EOSSH
|
||||||
|
|
||||||
su --login "$user"
|
|
||||||
. ./.profile
|
. ./.profile
|
||||||
echo "Configuring neovim ..."
|
echo "Configuring neovim ..."
|
||||||
npm install -g neovim
|
npm install -g neovim
|
||||||
|
|
|
@ -5,9 +5,12 @@ if [ "$mariadb_version" != 'latest' ] ; then
|
||||||
exit 30
|
exit 30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
_mysql_cmd="mysql -uroot -e "
|
_mysql_cmd="mysql -uroot -e "
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
if mysql --version ; then
|
if mysql --version ; then
|
||||||
echo "ERROR: unable to install MariaDb, 'mysql' already installed - aborting install"
|
echo "ERROR: unable to install MariaDb, 'mysql' already installed - aborting install"
|
||||||
exit 35
|
exit 35
|
||||||
|
@ -24,6 +27,10 @@ ssh -T $ssh << EOSSH
|
||||||
$_mysql_cmd "DROP DATABASE IF EXISTS test;"
|
$_mysql_cmd "DROP DATABASE IF EXISTS test;"
|
||||||
$_mysql_cmd "DELETE FROM mysql.db WHERE Db='test' OR Db='"'test\\_%'"'"
|
$_mysql_cmd "DELETE FROM mysql.db WHERE Db='test' OR Db='"'test\\_%'"'"
|
||||||
|
|
||||||
|
$_mysql_cmd "CREATE DATABASE $db_name;"
|
||||||
|
$_mysql_cmd "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost' IDENTIFIED BY '$db_pass';"
|
||||||
|
$_mysql_cmd "FLUSH PRIVILEGES;"
|
||||||
|
|
||||||
mysqladmin --user=root password "$db_root_pass"
|
mysqladmin --user=root password "$db_root_pass"
|
||||||
mysqladmin --user=root --password="$db_root_pass" flush-privileges
|
mysqladmin --user=root --password="$db_root_pass" flush-privileges
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
|
@ -5,9 +5,12 @@ if [ "$mysql_version" != 'latest' ] ; then
|
||||||
exit 30
|
exit 30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
_mysql_cmd="mysql -uroot -e "
|
_mysql_cmd="mysql -uroot -e "
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
if mysql --version ; then
|
if mysql --version ; then
|
||||||
echo "ERROR: unable to install MySQL, 'mysql' already installed - aborting install"
|
echo "ERROR: unable to install MySQL, 'mysql' already installed - aborting install"
|
||||||
exit 35
|
exit 35
|
||||||
|
@ -24,6 +27,10 @@ ssh -T $ssh << EOSSH
|
||||||
$_mysql_cmd "DROP DATABASE IF EXISTS test;"
|
$_mysql_cmd "DROP DATABASE IF EXISTS test;"
|
||||||
$_mysql_cmd "DELETE FROM mysql.db WHERE Db='test' OR Db='"'test\\_%'"'"
|
$_mysql_cmd "DELETE FROM mysql.db WHERE Db='test' OR Db='"'test\\_%'"'"
|
||||||
|
|
||||||
|
$_mysql_cmd "CREATE DATABASE $db_name;"
|
||||||
|
$_mysql_cmd "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost' IDENTIFIED BY '$db_pass';"
|
||||||
|
$_mysql_cmd "FLUSH PRIVILEGES;"
|
||||||
|
|
||||||
mysqladmin --user=root password "$db_root_pass"
|
mysqladmin --user=root password "$db_root_pass"
|
||||||
mysqladmin --user=root --password="$db_root_pass" flush-privileges
|
mysqladmin --user=root --password="$db_root_pass" flush-privileges
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
|
@ -5,10 +5,13 @@ if [ "$php_version" != 'latest' ] ; then
|
||||||
exit 30
|
exit 30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
if [ -n "$wp_user" ] ; then
|
if [ -n "$wp_user" ] ; then
|
||||||
echo 'Installing PHP for WordPress ...'
|
echo 'Installing PHP for WordPress ...'
|
||||||
|
|
||||||
ssh -T $ssh << 'EOSSH'
|
ssh -T $ssh_root << 'EOSSH'
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
echo "Installing packages .."
|
echo "Installing packages .."
|
||||||
apt-get install -qq -y php libapache2-mod-php php-fpm php-bcmath php-curl php-gd php-imagick php-mbstring \
|
apt-get install -qq -y php libapache2-mod-php php-fpm php-bcmath php-curl php-gd php-imagick php-mbstring \
|
||||||
|
@ -25,7 +28,7 @@ EOSSH
|
||||||
else
|
else
|
||||||
echo 'Installing default PHP ...'
|
echo 'Installing default PHP ...'
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
echo "Installing packages .."
|
echo "Installing packages .."
|
||||||
apt-get install -qq -y php libapache2-mod-php php-mysql
|
apt-get install -qq -y php libapache2-mod-php php-mysql
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5
|
||||||
|
|
||||||
_home_dir="/home/$user"
|
_home_dir="/home/$user"
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
echo "Creating user .."
|
echo "Creating user .."
|
||||||
useradd -m -d "$_home_dir" "$user"
|
useradd -m -d "$_home_dir" "$user"
|
||||||
echo "$user:$user_pass" | chpasswd
|
echo "$user:$user_pass" | chpasswd
|
||||||
|
@ -11,12 +14,12 @@ EOSSH
|
||||||
|
|
||||||
echo "Configuring ssh .."
|
echo "Configuring ssh .."
|
||||||
|
|
||||||
ssh $ssh mkdir -v -p "$_home_dir/.ssh"
|
ssh $ssh_root mkdir -v -p "$_home_dir/.ssh"
|
||||||
scp files/private/id_rsa "$ssh:$_home_dir/.ssh/"
|
scp files/private/id_rsa "$ssh_root:$_home_dir/.ssh/"
|
||||||
scp files/id_rsa.pub "$ssh:$_home_dir/.ssh/"
|
scp files/id_rsa.pub "$ssh_root:$_home_dir/.ssh/"
|
||||||
scp files/known_hosts "$ssh:$_home_dir/.ssh/"
|
scp files/known_hosts "$ssh_root:$_home_dir/.ssh/"
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
cp -v /root/.ssh/authorized_keys "$_home_dir/.ssh/authorized_keys"
|
cp -v /root/.ssh/authorized_keys "$_home_dir/.ssh/authorized_keys"
|
||||||
chown -v -R "$user:$group" "$_home_dir/.ssh"
|
chown -v -R "$user:$group" "$_home_dir/.ssh"
|
||||||
|
|
||||||
|
@ -61,7 +64,7 @@ ssh -T $ssh << EOSSH
|
||||||
"$_home_dir/.config/zsh/install.sh"
|
"$_home_dir/.config/zsh/install.sh"
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
chsh -s /usr/bin/zsh "$user"
|
chsh -s /usr/bin/zsh "$user"
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,25 @@
|
||||||
echo "Installing WordPress .."
|
echo "Installing WordPress .."
|
||||||
|
|
||||||
_mysql_cmd="mysql -uroot -p$db_root_pass -e "
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_user" ] || [ -z "$ssh_root" ] && echo "Error: user and root ssh configuration must be specified" && exit 5
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_root << EOSSH
|
||||||
|
# install wp-cli first
|
||||||
# install wp-cli first
|
if [ ! -f /usr/local/bin/wp ] ; then
|
||||||
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 \
|
||||||
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
|
||||||
&& chmod +x /usr/local/bin/wp
|
fi
|
||||||
fi
|
EOSSH
|
||||||
|
|
||||||
su "$user"
|
|
||||||
|
|
||||||
|
ssh -T $ssh_user << EOSSH
|
||||||
if wp core is-installed --quiet --path="$wp_path" ; then
|
if wp core is-installed --quiet --path="$wp_path" ; then
|
||||||
echo "WordPress already installed"
|
echo "WordPress already installed"
|
||||||
else
|
else
|
||||||
# first create database and user
|
echo "wp core download \
|
||||||
if command -v mysql ; then
|
--version=$wp_version \
|
||||||
$_mysql_cmd "CREATE DATABASE $wp_db_name;"
|
--path=$wp_path \
|
||||||
$_mysql_cmd "GRANT ALL PRIVILEGES ON $wp_db_name.* TO '$wp_db_user'@'localhost' IDENTIFIED BY '$wp_db_pass';"
|
--skip-content \
|
||||||
$_mysql_cmd "FLUSH PRIVILEGES;"
|
--locale=$wp_locale"
|
||||||
else
|
|
||||||
echo "ERROR: mysql not found - aborting WordPress install"
|
|
||||||
exit 40
|
|
||||||
fi
|
|
||||||
wp core download \
|
wp core download \
|
||||||
--version="$wp_version" \
|
--version="$wp_version" \
|
||||||
--path="$wp_path" \
|
--path="$wp_path" \
|
||||||
|
@ -31,9 +27,9 @@ else
|
||||||
--locale="$wp_locale"
|
--locale="$wp_locale"
|
||||||
wp config create \
|
wp config create \
|
||||||
--path="$wp_path" \
|
--path="$wp_path" \
|
||||||
--dbname="$wp_db_name" \
|
--dbname="$db_name" \
|
||||||
--dbuser="$wp_db_user" \
|
--dbuser="$db_user" \
|
||||||
--dbpass="$wp_db_pass" \
|
--dbpass="$db_pass" \
|
||||||
--locale="$wp_locale" \
|
--locale="$wp_locale" \
|
||||||
--extra-php <<PHP
|
--extra-php <<PHP
|
||||||
define( 'WP_DEBUG', true );
|
define( 'WP_DEBUG', true );
|
||||||
|
@ -54,8 +50,7 @@ printf "\nInstalling themes ..."
|
||||||
option='--activate'
|
option='--activate'
|
||||||
for theme in $wp_themes ; do
|
for theme in $wp_themes ; do
|
||||||
echo " installing $theme ..."
|
echo " installing $theme ..."
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_user << EOSSH
|
||||||
su "$user"
|
|
||||||
wp theme install $theme "$option" --path="$wp_path"
|
wp theme install $theme "$option" --path="$wp_path"
|
||||||
EOSSH
|
EOSSH
|
||||||
option=''
|
option=''
|
||||||
|
@ -66,8 +61,7 @@ if [ -n "$wp_plugins" ] ; then
|
||||||
printf "\nInstalling plugins ..."
|
printf "\nInstalling plugins ..."
|
||||||
for plugin in $wp_plugins ; do
|
for plugin in $wp_plugins ; do
|
||||||
echo " installing $plugin ..."
|
echo " installing $plugin ..."
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_user << EOSSH
|
||||||
su "$user"
|
|
||||||
wp plugin install $plugin --path="$wp_path"
|
wp plugin install $plugin --path="$wp_path"
|
||||||
EOSSH
|
EOSSH
|
||||||
done
|
done
|
||||||
|
@ -77,50 +71,44 @@ if [ -n "$wp_plugins_active" ] ; then
|
||||||
printf "\nInstalling plugins to activate ..."
|
printf "\nInstalling plugins to activate ..."
|
||||||
for plugin in $wp_plugins_active ; do
|
for plugin in $wp_plugins_active ; do
|
||||||
echo " installing $plugin ..."
|
echo " installing $plugin ..."
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_user << EOSSH
|
||||||
su "$user"
|
|
||||||
wp plugin install $plugin --activate --path="$wp_path"
|
wp plugin install $plugin --activate --path="$wp_path"
|
||||||
EOSSH
|
EOSSH
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$wp_plugins_active" ] ; then
|
if [ -n "$_apache2_version" ] ; then
|
||||||
printf "\nUninstalling plugins ..."
|
ssh -T $ssh_root << EOSSH
|
||||||
for plugin in $wp_plugins_uninstall ; do
|
if [ -n "$apache2_version" ] ; then
|
||||||
echo " installing $plugin ..."
|
mkdir -p /var/log/wordpress/
|
||||||
ssh -T $ssh << EOSSH
|
cat << EOF > /etc/apache2/sites-available/wordpress.conf
|
||||||
su "$user"
|
<VirtualHost *:80>
|
||||||
wp plugin deactivate $plugin --path="$wp_path"
|
ServerName $domain
|
||||||
wp plugin uninstall $plugin --path="$wp_path"
|
DocumentRoot $wp_path
|
||||||
EOSSH
|
ErrorLog /var/log/wordpress/error.log
|
||||||
done
|
CustomLog /var/log/wordpress/access.log combined
|
||||||
fi
|
<Directory $wp_path/>
|
||||||
|
AllowOverride All
|
||||||
config_path='/etc/apache2/sites-available/wordpress.conf'
|
<IfModule mod_rewrite.c>
|
||||||
ssh -T $ssh << EOSSH
|
RewriteEngine On
|
||||||
if [ -n "$apache2_version" ] ; then
|
RewriteBase /
|
||||||
mkdir -p /var/log/wordpress/
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
cat << EOF > $config_path
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
<VirtualHost *:80>
|
RewriteRule . /index.php [L]
|
||||||
ServerName $domain
|
</IfModule>
|
||||||
DocumentRoot $wp_path
|
</Directory>
|
||||||
ErrorLog /var/log/wordpress/error.log
|
</VirtualHost>
|
||||||
CustomLog /var/log/wordpress/access.log combined
|
|
||||||
<Directory $wp_path/>
|
|
||||||
AllowOverride All
|
|
||||||
<IfModule mod_rewrite.c>
|
|
||||||
RewriteEngine On
|
|
||||||
RewriteBase /
|
|
||||||
RewriteCond %{REQUEST_FILENAME} !-f
|
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
|
||||||
RewriteRule . /index.php [L]
|
|
||||||
</IfModule>
|
|
||||||
</Directory>
|
|
||||||
</VirtualHost>
|
|
||||||
EOF
|
EOF
|
||||||
a2enmod rewrite
|
a2enmod rewrite
|
||||||
a2ensite wordpress
|
a2ensite wordpress
|
||||||
a2dissite 000-default
|
a2dissite 000-default
|
||||||
systemctl reload apache2
|
systemctl reload apache2
|
||||||
fi
|
elif [ -n "nginx_version" ] ; then
|
||||||
|
echo "TODO - nginx wordpress config"
|
||||||
|
elif [ -n "litespeed_version" ] ; then
|
||||||
|
echo "TODO - litespeed wordpress config"
|
||||||
|
else
|
||||||
|
echo "Warning: no webserver configuration found"
|
||||||
|
fi
|
||||||
EOSSH
|
EOSSH
|
||||||
|
fi
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
echo "Removing WordPress .."
|
|
||||||
|
|
||||||
_mysql_cmd="mysql -uroot -p$db_root_pass -e "
|
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
|
||||||
# remove database
|
|
||||||
if command -v mysql ; then
|
|
||||||
$_mysql_cmd "DROP DATABASE $wp_db_name;"
|
|
||||||
else
|
|
||||||
echo "ERROR: no installed database found - aborting WordPress removal"
|
|
||||||
exit 40
|
|
||||||
fi
|
|
||||||
# remove files
|
|
||||||
rm -Rf $wp_path
|
|
||||||
EOSSH
|
|
|
@ -7,23 +7,26 @@ _db_filename="wordpress-$_timestamp.db"
|
||||||
_archive_filename="wordpress-$_timestamp.tar.gz"
|
_archive_filename="wordpress-$_timestamp.tar.gz"
|
||||||
_local_dest_dir="./data/$_target"
|
_local_dest_dir="./data/$_target"
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_user" ] && echo "Error: no user ssh configuration specified" && exit 5
|
||||||
|
|
||||||
|
ssh -T $ssh_user << EOSSH
|
||||||
cd "$wp_path"
|
cd "$wp_path"
|
||||||
wp db export \
|
wp db export \
|
||||||
--path="$wp_path" \
|
--path="$wp_path" \
|
||||||
--dbuser="$wp_db_user" \
|
--dbuser="$db_user" \
|
||||||
--dbpass="$wp_db_pass" \
|
--dbpass="$db_pass" \
|
||||||
--add-drop-table \
|
--add-drop-table \
|
||||||
--allow-root \
|
--allow-root \
|
||||||
"/tmp/$_db_filename"
|
"/tmp/$_db_filename"
|
||||||
tar czf "/tmp/$_archive_filename" "$wp_path"
|
tar czf "/tmp/$_archive_filename" "$wp_path"
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
||||||
scp "$ssh:/tmp/$_archive_filename" "$_local_dest_dir/$_archive_filename"
|
scp "$ssh_user:/tmp/$_archive_filename" "$_local_dest_dir/$_archive_filename"
|
||||||
scp "$ssh:/tmp/$_db_filename" "$_local_dest_dir/$_db_filename"
|
scp "$ssh_user:/tmp/$_db_filename" "$_local_dest_dir/$_db_filename"
|
||||||
|
|
||||||
exit
|
exit
|
||||||
ssh -T $ssh << EOSSH
|
ssh -T $ssh_user << EOSSH
|
||||||
rm "/tmp/$_db_filename"
|
rm "/tmp/$_db_filename"
|
||||||
rm "/tmp/$_archive_filename"
|
rm "/tmp/$_archive_filename"
|
||||||
EOSSH
|
EOSSH
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
echo "Removing WordPress .."
|
echo "Removing WordPress .."
|
||||||
|
|
||||||
_mysql_cmd="mysql -uroot -p$db_root_pass -e "
|
# check we have ssh access
|
||||||
|
[ -z "$ssh_user" ] && echo "Error: no user ssh configuration specified" && exit 5
|
||||||
|
|
||||||
ssh -T $ssh << EOSSH
|
_mysql_cmd="mysql -u$db_user -p$db_pass -e "
|
||||||
|
|
||||||
|
ssh -T $ssh_user << EOSSH
|
||||||
# remove database
|
# remove database
|
||||||
if command -v mysql ; then
|
if command -v mysql ; then
|
||||||
$_mysql_cmd "DROP DATABASE $wp_db_name;"
|
$_mysql_cmd "DROP DATABASE $db_name;"
|
||||||
|
$_mysql_cmd "CREATE DATABASE $db_name;"
|
||||||
else
|
else
|
||||||
echo "ERROR: no installed database found - aborting WordPress removal"
|
echo "ERROR: mysql not found - aborting WordPress removal"
|
||||||
exit 40
|
exit 40
|
||||||
fi
|
fi
|
||||||
# remove files
|
# remove files
|
||||||
|
|
Loading…
Reference in New Issue