From 69dd1e066c912e15213b43d15d7f7e42c3304ca3 Mon Sep 17 00:00:00 2001 From: ray Date: Wed, 30 Dec 2020 16:26:41 +0000 Subject: [PATCH] update --- install/.gitignore | 2 - install/README.md | 1 - install/config/local/database | 8 -- install/config/local/local | 18 --- install/config/local/php | 5 - install/config/local/webserver | 18 --- install/config/local/wordpress | 19 --- install/config/remote/database | 8 -- install/config/remote/php | 5 - install/config/remote/remote | 15 --- install/config/remote/webserver | 18 --- install/config/remote/wordpress | 19 --- install/files/id_rsa.pub | 1 - install/files/known_hosts | 2 - install/files/private/README.md | 3 - install/install.sh | 72 ----------- install/reset.sh | 39 ------ install/scripts/debian10/install-apache2.sh | 26 ---- install/scripts/debian10/install-base.sh | 21 ---- install/scripts/debian10/install-dev-base.sh | 79 ------------ install/scripts/debian10/install-mariadb.sh | 36 ------ install/scripts/debian10/install-mysql.sh | 36 ------ install/scripts/debian10/install-php.sh | 37 ------ install/scripts/debian10/install-user.sh | 73 ----------- install/scripts/debian10/install-wordpress.sh | 114 ------------------ install/scripts/reset-wordpress.sh | 21 ---- scripts/install-dev-env.sh | 60 +++++++++ scripts/octobercms/import-db-from-remote.sh | 9 ++ .../octobercms/import-files-from-remote.sh | 6 + .../octobercms/local-install-octobercms.sh | 46 +++++++ .../wordpress}/README.md | 0 .../wordpress}/backup.sh | 0 .../wordpress}/config | 0 .../wordpress}/export-wp-content-db.sh | 0 .../wordpress}/import-wp-content-db.sh | 0 .../wordpress}/restore.sh | 0 36 files changed, 121 insertions(+), 696 deletions(-) delete mode 100644 install/.gitignore delete mode 100644 install/README.md delete mode 100644 install/config/local/database delete mode 100644 install/config/local/local delete mode 100644 install/config/local/php delete mode 100644 install/config/local/webserver delete mode 100644 install/config/local/wordpress delete mode 100644 install/config/remote/database delete mode 100644 install/config/remote/php delete mode 100644 install/config/remote/remote delete mode 100644 install/config/remote/webserver delete mode 100644 install/config/remote/wordpress delete mode 100644 install/files/id_rsa.pub delete mode 100644 install/files/known_hosts delete mode 100644 install/files/private/README.md delete mode 100755 install/install.sh delete mode 100755 install/reset.sh delete mode 100755 install/scripts/debian10/install-apache2.sh delete mode 100755 install/scripts/debian10/install-base.sh delete mode 100755 install/scripts/debian10/install-dev-base.sh delete mode 100755 install/scripts/debian10/install-mariadb.sh delete mode 100755 install/scripts/debian10/install-mysql.sh delete mode 100755 install/scripts/debian10/install-php.sh delete mode 100755 install/scripts/debian10/install-user.sh delete mode 100755 install/scripts/debian10/install-wordpress.sh delete mode 100755 install/scripts/reset-wordpress.sh create mode 100755 scripts/install-dev-env.sh create mode 100755 scripts/octobercms/import-db-from-remote.sh create mode 100755 scripts/octobercms/import-files-from-remote.sh create mode 100755 scripts/octobercms/local-install-octobercms.sh rename {tools/wp-content-db => scripts/wordpress}/README.md (100%) rename {tools/wp-content-db => scripts/wordpress}/backup.sh (100%) rename {tools/wp-content-db => scripts/wordpress}/config (100%) rename {tools/wp-content-db => scripts/wordpress}/export-wp-content-db.sh (100%) rename {tools/wp-content-db => scripts/wordpress}/import-wp-content-db.sh (100%) rename {tools/wp-content-db => scripts/wordpress}/restore.sh (100%) diff --git a/install/.gitignore b/install/.gitignore deleted file mode 100644 index b8c08c8..0000000 --- a/install/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -files/private -data/ diff --git a/install/README.md b/install/README.md deleted file mode 100644 index 9f688dd..0000000 --- a/install/README.md +++ /dev/null @@ -1 +0,0 @@ -Installation scripts for local/remote servers with development environment. diff --git a/install/config/local/database b/install/config/local/database deleted file mode 100644 index a9bd044..0000000 --- a/install/config/local/database +++ /dev/null @@ -1,8 +0,0 @@ -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' diff --git a/install/config/local/local b/install/config/local/local deleted file mode 100644 index cb157b6..0000000 --- a/install/config/local/local +++ /dev/null @@ -1,18 +0,0 @@ -# local specific options - -## export if using local development environment -export domain='thecampsitebible.home' -export url='http://thecampsitebible.home' - -# set to anything other than the empty string to set up a dev environment -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' - diff --git a/install/config/local/php b/install/config/local/php deleted file mode 100644 index 8141bb3..0000000 --- a/install/config/local/php +++ /dev/null @@ -1,5 +0,0 @@ -## php configuration -# -## uncomment if using php -export php_version='latest' - diff --git a/install/config/local/webserver b/install/config/local/webserver deleted file mode 100644 index b1c7288..0000000 --- a/install/config/local/webserver +++ /dev/null @@ -1,18 +0,0 @@ -export apache2_version='latest' - -#export nginx_version='latest' - -## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74 -#export litespeed_version='latest' - -###################### -# litespeed specific # -###################### - -## litespeed php version -#export ls_lsphp_version='73' - -## https://openlitespeed.org/kb/1-click-install/ -## password used to log into litespeed web interface -#export ls_webadmin_pass='admin' - diff --git a/install/config/local/wordpress b/install/config/local/wordpress deleted file mode 100644 index 63cb9b9..0000000 --- a/install/config/local/wordpress +++ /dev/null @@ -1,19 +0,0 @@ -## wordpress configuration - uncomment if using wordpress - -export wp_user='admin' -export wp_pass='admin' -export wp_email='myemail@example.com' - -export wp_version='latest' -export wp_path='/var/www/html/wordpress' -export wp_locale='en_GB' -export wp_title='The Campsite Bible' - -## list of themes to install - first one will be activated -export wp_themes="twentytwenty" - -## list of plugins to install -export wp_plugins="geodirectory" - -## list of plugins to install and activate -export wp_plugins_active="" diff --git a/install/config/remote/database b/install/config/remote/database deleted file mode 100644 index cc75eae..0000000 --- a/install/config/remote/database +++ /dev/null @@ -1,8 +0,0 @@ -# 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' diff --git a/install/config/remote/php b/install/config/remote/php deleted file mode 100644 index 1151bc3..0000000 --- a/install/config/remote/php +++ /dev/null @@ -1,5 +0,0 @@ -## php configuration -# -## uncomment if using php -#export php_version='latest' - diff --git a/install/config/remote/remote b/install/config/remote/remote deleted file mode 100644 index 4fd12d1..0000000 --- a/install/config/remote/remote +++ /dev/null @@ -1,15 +0,0 @@ -# remote specific options - -export domain='wordpress-453075-1468300.cloudwaysapps.com.example.com' -export url='https://wordpress-453075-1468300.cloudwaysapps.com.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' - diff --git a/install/config/remote/webserver b/install/config/remote/webserver deleted file mode 100644 index b04745a..0000000 --- a/install/config/remote/webserver +++ /dev/null @@ -1,18 +0,0 @@ -#export apache2_version='latest' - -#export nginx_version='latest' - -## specify specific version from latest, 54, 55, 56, 70, 71, 72, 73 or 74 -#export litespeed_version='latest' - -###################### -# litespeed specific # -###################### - -## litespeed php version -#export ls_lsphp_version='73' - -## https://openlitespeed.org/kb/1-click-install/ -## password used to log into litespeed web interface -#export ls_webadmin_pass='admin' - diff --git a/install/config/remote/wordpress b/install/config/remote/wordpress deleted file mode 100644 index c54b945..0000000 --- a/install/config/remote/wordpress +++ /dev/null @@ -1,19 +0,0 @@ -## wordpress configuration - uncomment if using wordpress - -export wp_user='cloudways@rayelliott.dev' -export wp_pass='McXNn4vgua' -export wp_email='myemail@example.com' - -export wp_version='latest' -export wp_path='/home/453075.cloudwaysapps.com/mhhusspndh/public_html' -export wp_locale='en_GB' -export wp_title='The Campsite Bible' - -## list of themes to install - first one will be activated -export wp_themes="twentytwenty" - -## list of plugins to install -export wp_plugins="geodirectory breeze malcare-security" - -## list of plugins to install and activate -# export wp_plugins_active="" diff --git a/install/files/id_rsa.pub b/install/files/id_rsa.pub deleted file mode 100644 index e16bf66..0000000 --- a/install/files/id_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEwwL1J52P0IuAWa+Ar3tCFOmT3A+V4F6/nz3JwGozCGaPrIqyOW7R3R+Y9UZZrxHYT7pt71lhNDQdN4Elhiix6Zkzrf4ZJRDfcyGvg7ZQGOG2nODybmW0TilnELtfjmtiaJ/2wBxNCiwdZAzFCb0kNKyXsUqx3b4NA7nKoxlVEdK1SZyaqwpe4oO6eoj6Nl2fPpLJ7Xq7VX83UJJPofPs3qUYOB2ywhKMljjbHDbQrRr+7Z3vQwmSs8sGI6qh1OHR7HZ2x8kVK507uwKXKPBlLGVKT2RDTslQiooNuuInBD/+DDegme+2arfnHIKB+GWK4Sun6aeN8UcMqA03GsRj dev-scripts@dev diff --git a/install/files/known_hosts b/install/files/known_hosts deleted file mode 100644 index afabf0f..0000000 --- a/install/files/known_hosts +++ /dev/null @@ -1,2 +0,0 @@ -|1|3oVXnt29xONh6+jmV3anxv2jUlE=|6FMJKCQKcgMN0RKsZPt4QcX/Dcw= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEon87+GR5+/I0SwUrsf7TlKQFXkgyYxqnHC4YyZ2i9LbuCrGi3hPibV1tZL4FTyqrI87+uxnZRDznXY2lpLP8Y= -|1|3oVXnt29xONh6+jmV3anxv2jUlE=|6FMJKCQKcgMN0RKsZPt4QcX/Dcw= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEon87+GR5+/I0SwUrsf7TlKQFXkgyYxqnHC4YyZ2i9LbuCrGi3hPibV1tZL4FTyqrI87+uxnZRDznXY2lpLP8Y= diff --git a/install/files/private/README.md b/install/files/private/README.md deleted file mode 100644 index 77abb25..0000000 --- a/install/files/private/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Files in here are not kept under version control. - -Sensitive files should be kept in here. diff --git a/install/install.sh b/install/install.sh deleted file mode 100755 index b22ed35..0000000 --- a/install/install.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -_target="$1" -_target_os="$2" -# default scripts to use -_script_dir='./scripts/debian10' - -if ! [ "$_target" = local ] && ! [ "$_target" = remote ] ; then - echo "Error: must specify 'local' or 'remote' target" - exit 1 -fi - -echo "Loading $_target configuration" - -# source our config files -for _file in ./config/$_target/* ; do - [ -e "$_file" ] || continue - . "$_file" -done - -# source script files -if [ -n "$_target_os" ] ; then - _script_dir="./scripts/$_target_os" - if ! [ -d "$_script_dir" ] ; then - echo "Error: script directory not found '$_script_dir'" - exit 1 - fi -fi - -echo "Using Scripts in: $_script_dir" - -# check we have ssh access -[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 - -# update -echo "Updating .." -ssh -T $ssh_root << EOSSH - export DEBIAN_FRONTEND=noninteractive - apt-get -qq -y update && apt-get -qq -y upgrade -EOSSH -echo "Update complete" - -. "$_script_dir/install-user.sh" -# . "$_script_dir/install-base.sh" -# -# if [ -n "$php_version" ] ; then -# . "$_script_dir/install-php.sh" -# fi -# -# if [ -n "$mariadb_version" ] ; then -# . "$_script_dir/install-mariadb.sh" -# elif [ -n "$mysql_version" ] ; then -# . "$_script_dir/install-mysql.sh" -# fi -# -# if [ -n "$apache2_version" ] ; then -# . "$_script_dir/install-apache2.sh" -# elif [ -n "$nginx_version" ] ; then -# # TODO nginx install script -# echo 'TODO - nginx install script' -# elif [ -n "$litespeed_version" ] ; then -# # TODO -# echo 'TODO litespeed install script' -# fi -# -# if [ -n "$wp_user" ] ; then -# . "$_script_dir/install-wordpress.sh" -# fi -# -# if [ -n "$dev_env" ] ; then -# . "$_script_dir/install-dev-base.sh" -# fi diff --git a/install/reset.sh b/install/reset.sh deleted file mode 100755 index f82e720..0000000 --- a/install/reset.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -_target="$1" -_target_os="$2" -# default scripts to use -_script_dir='./scripts/debian10' - -if ! [ "$_target" = local ] && ! [ "$_target" = remote ] ; then - echo "Error: must specify 'local' or 'remote' target" - exit 1 -fi - -echo "Loading $_target configuration" - -# source our config files -for _file in ./config/$_target/* ; do - [ -e "$_file" ] || continue - . "$_file" -done - -# source script files -if [ -n "$_target_os" ] ; then - _script_dir="./scripts/$_target_os" - if ! [ -d "$_script_dir" ] ; then - echo "Error: script directory not found '$_script_dir'" - exit 1 - fi -fi - -echo "Using Scripts in: $_script_dir" - -if [ -n "$wp_user" ] ; then - # TODO - confirmation prompt - echo "IMPORTANT - we need a confirmation prompt here" - echo "You are about to reinstall the $_target WordPress installation" - echo "Reinstall WordPress (y/N): " - . "./scripts/reset-wordpress.sh" - . "$_script_dir/install-wordpress.sh" -fi diff --git a/install/scripts/debian10/install-apache2.sh b/install/scripts/debian10/install-apache2.sh deleted file mode 100755 index d2a0c05..0000000 --- a/install/scripts/debian10/install-apache2.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -if [ "$apache2_version" != 'latest' ] ; then - echo 'ERROR: unable to install Apache2 - only '"'latest'"' version currently supported' - exit 30 -fi - -# 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" - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get install -qq -y apache2 - echo "Packages installed" - ufw allow in "WWW Full" - - sed -i '/export APACHE_RUN_USER=/c\export APACHE_RUN_USER='"$user" /etc/apache2/envvars - sed -i '/export APACHE_RUN_GROUP=/c\export APACHE_RUN_GROUP='"$group" /etc/apache2/envvars - chown -R "$user:$group" "/var/www/html" - echo "Nothing here ..." > /var/www/html/index.html - systemctl restart apache2 -EOSSH - - diff --git a/install/scripts/debian10/install-base.sh b/install/scripts/debian10/install-base.sh deleted file mode 100755 index 1bd86e9..0000000 --- a/install/scripts/debian10/install-base.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# 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 '/PasswordAuthentication/c\PasswordAuthentication no' /etc/ssh/sshd_config -sed -i '/PermitRootLogin/c\PermitRootLogin prohibit-password' /etc/ssh/sshd_config -systemctl restart sshd - -export DEBIAN_FRONTEND=noninteractive -echo "Installing packages .." -apt-get install -qq -y ufw || (echo "ERROR while installing ufw" ; exit 15) -echo "Packages installed" - -ufw allow ssh || (echo "Error while configuring ufw to allow ssh" ; exit 20 ) -yes | ufw enable - -EOSSH diff --git a/install/scripts/debian10/install-dev-base.sh b/install/scripts/debian10/install-dev-base.sh deleted file mode 100755 index 76620ea..0000000 --- a/install/scripts/debian10/install-dev-base.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh - -_home_dir="/home/$user" - -# 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 .." -export DEBIAN_FRONTEND=noninteractive -echo "Installing packages .." -apt-get -qq -y install curl gnupg2 ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip python-pip python3-pip fzf vim ctags -echo "Packages installed" - -echo "Installing lazygit .." -curl -fsSL https://github.com/jesseduffield/lazygit/releases/download/v0.22.1/lazygit_0.22.1_Linux_x86_64.tar.gz --output /tmp/lazygit.tar.gz -tar xf /tmp/lazygit.tar.gz -C /usr/local/bin/ -rm -v /tmp/lazygit.tar.gz - -echo "Installing lf ..." -curl -fsSL https://github.com/gokcehan/lf/releases/download/r16/lf-linux-amd64.tar.gz --output /tmp/lf.tar.gz -tar xf /tmp/lf.tar.gz -C /usr/local/bin/ -rm -v /tmp/lf.tar.gz - -echo "Installing neovim ..." -git clone https://github.com/neovim/neovim /tmp/neovim -cd /tmp/neovim -make -s CMAKE_BUILD_TYPE=Release -make -s install -echo "Neovim installed" - -if command -v php ; then - echo "Installing composer .." - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" - php composer-setup.php --filename=composer --install-dir=/usr/local/bin - php -r "unlink('composer-setup.php');" -fi - -EOSSH -ssh -T $ssh_root << EOSSH - -su "$user" - -echo "Installing nvm ..." -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash -echo 'export NVM_DIR="\$HOME/.nvm"' >> "$_home_dir/.profile" -echo '[ -s "\$NVM_DIR/nvm.sh" ] && \. "\$NVM_DIR/nvm.sh"' >> "$_home_dir/.profile" - -EOSSH -ssh -T $ssh_root << EOSSH - -su --login "$user" -. ./.profile -nvm install --lts --latest-npm - -EOSSH -ssh -T $ssh_user << EOSSH -. ./.profile -echo "Configuring neovim ..." -npm install -g neovim -python2 -m pip install --user --upgrade pynvim -python3 -m pip install --user --upgrade pynvim -python3 -m pip install --user --upgrade neovim-remote -git clone ssh://git@git.rayelliott.dev:3222/dots/nvim.git $_home_dir/.config/nvim -curl -fLo $_home_dir/.config/nvim/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -nvim --headless +PlugInstall +qall - -echo "Configuring lf .." -lf config -if [ -e "$_home_dir/.config/lf" ] ; then - mv -v "$_home_dir/.config/lf" "$_home_dir/.config/lf-original-$(date +%s)" -fi -git clone ssh://git@git.rayelliott.dev:3222/dots/lf.git "$_home_dir/.config/lf" - -EOSSH - diff --git a/install/scripts/debian10/install-mariadb.sh b/install/scripts/debian10/install-mariadb.sh deleted file mode 100755 index 5abb0b9..0000000 --- a/install/scripts/debian10/install-mariadb.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -if [ "$mariadb_version" != 'latest' ] ; then - echo 'ERROR: unable to install MariaDB - only '"'latest'"' version currently supported' - exit 30 -fi - -# check we have ssh access -[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 - -_mysql_cmd="mysql -uroot -e " - -ssh -T $ssh_root << EOSSH - if mysql --version ; then - echo "ERROR: unable to install MariaDb, 'mysql' already installed - aborting install" - exit 35 - fi - echo "Installing MariaDB" - - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get install -qq -y mariadb-server - echo "Packages installed" - - $_mysql_cmd "DELETE FROM mysql.user WHERE User='';" - $_mysql_cmd "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" - $_mysql_cmd "DROP DATABASE IF EXISTS 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" flush-privileges -EOSSH diff --git a/install/scripts/debian10/install-mysql.sh b/install/scripts/debian10/install-mysql.sh deleted file mode 100755 index d0f4880..0000000 --- a/install/scripts/debian10/install-mysql.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -if [ "$mysql_version" != 'latest' ] ; then - echo 'ERROR: unable to install MySQL - only '"'latest'"' version currently supported' - exit 30 -fi - -# check we have ssh access -[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 - -_mysql_cmd="mysql -uroot -e " - -ssh -T $ssh_root << EOSSH - if mysql --version ; then - echo "ERROR: unable to install MySQL, 'mysql' already installed - aborting install" - exit 35 - fi - echo "Installing MySQL" - - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get install -qq -y mysql-server - echo "Packages installed" - - $_mysql_cmd "DELETE FROM mysql.user WHERE User='';" - $_mysql_cmd "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" - $_mysql_cmd "DROP DATABASE IF EXISTS 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" flush-privileges -EOSSH diff --git a/install/scripts/debian10/install-php.sh b/install/scripts/debian10/install-php.sh deleted file mode 100755 index 4671165..0000000 --- a/install/scripts/debian10/install-php.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -if [ "$php_version" != 'latest' ] ; then - echo 'ERROR: unable to install PHP - only '"'latest'"' version currently supported' - exit 30 -fi - -# check we have ssh access -[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 - -if [ -n "$wp_user" ] ; then - echo 'Installing PHP for WordPress ...' - -ssh -T $ssh_root << 'EOSSH' - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get install -qq -y php libapache2-mod-php php-fpm php-bcmath php-curl php-gd php-imagick php-mbstring \ - php-mysql php-soap php-xml php-zip - echo "Packages installed" - - _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" -EOSSH -else - echo 'Installing default PHP ...' - -ssh -T $ssh_root << EOSSH - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get install -qq -y php libapache2-mod-php php-mysql - echo "Packages installed" -EOSSH -fi diff --git a/install/scripts/debian10/install-user.sh b/install/scripts/debian10/install-user.sh deleted file mode 100755 index 3eb4dcc..0000000 --- a/install/scripts/debian10/install-user.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# check we have ssh access -[ -z "$ssh_root" ] && echo "Error: no root ssh configuration specified" && exit 5 - -_home_dir="/home/$user" - -ssh -T $ssh_root << EOSSH - echo "Creating user .." - useradd -m -d "$_home_dir" "$user" - echo "$user:$user_pass" | chpasswd - usermod -aG sudo "$user" -EOSSH - -echo "Configuring ssh .." - -ssh $ssh_root mkdir -v -p "$_home_dir/.ssh" -scp files/private/id_rsa "$ssh_root:$_home_dir/.ssh/" -scp files/id_rsa.pub "$ssh_root:$_home_dir/.ssh/" -scp files/known_hosts "$ssh_root:$_home_dir/.ssh/" - -ssh -T $ssh_root << EOSSH - cp -v /root/.ssh/authorized_keys "$_home_dir/.ssh/authorized_keys" - chown -v -R "$user:$group" "$_home_dir/.ssh" - - echo "Adding user: $user" - - if [ -f /etc/locale.gen ] && command -v locale-gen ; then - echo 'en_GB.UTF-8 UTF-8' > /etc/locale.gen - locale-gen - echo 'LANG="en_GB.UTF-8"' > /etc/default/locale - else - echo 'Warning: cannot set locale' - fi - - echo "Installing required packages .." - export DEBIAN_FRONTEND=noninteractive - echo "Installing packages .." - apt-get -qq -y install sudo git tmux zsh curl - echo "Packages installed" - - echo "Cloning configuration files .." - su --login "$user" - git config --global user.name rayelliott - git config --global user.email dev@rayelliott.dev - mkdir -v -p "$_home_dir/.config" - - if [ -e "$_home_dir/.config/profile" ] ; then - mv -v "$_home_dir/.config/profile" "$_home_dir/.config/profile-original-$(date +%s)" - fi - git clone ssh://git@git.rayelliott.dev:3222/dots/profile.git "$_home_dir/.config/profile" - "$_home_dir/.config/profile/install.sh" - - if [ -e "$_home_dir/.config/tmux" ] ; then - mv -v "$_home_dir/.config/tmux" "$_home_dir/.config/tmux-original-$(date +%s)" - fi - git clone ssh://git@git.rayelliott.dev:3222/dots/tmux.git "$_home_dir/.config/tmux" - "$_home_dir/.config/tmux/install.sh" - - if [ -e "$_home_dir/.config/zsh" ] ; then - mv -v "$_home_dir/.config/zsh" "$_home_dir/.config/zsh-original-$(date +%s)" - fi - git clone ssh://git@git.rayelliott.dev:3222/dots/zsh.git "$_home_dir/.config/zsh" - "$_home_dir/.config/zsh/install.sh" -EOSSH - -ssh -T $ssh_root << EOSSH - chsh -s /usr/bin/zsh "$user" -EOSSH - -echo "Configuring wakatime plugin .." -pwd -scp files/private/wakatime.cfg "$user@$domain:/home/$user/.wakatime.cfg" diff --git a/install/scripts/debian10/install-wordpress.sh b/install/scripts/debian10/install-wordpress.sh deleted file mode 100755 index db46486..0000000 --- a/install/scripts/debian10/install-wordpress.sh +++ /dev/null @@ -1,114 +0,0 @@ -echo "Installing WordPress .." - -# 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 - # 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 -EOSSH - -ssh -T $ssh_user << EOSSH -if wp core is-installed --quiet --path="$wp_path" ; then - echo "WordPress already installed" -else -echo "wp core download \ - --version=$wp_version \ - --path=$wp_path \ - --skip-content \ - --locale=$wp_locale" - wp core download \ - --version="$wp_version" \ - --path="$wp_path" \ - --skip-content \ - --locale="$wp_locale" - wp config create \ - --path="$wp_path" \ - --dbname="$db_name" \ - --dbuser="$db_user" \ - --dbpass="$db_pass" \ - --locale="$wp_locale" \ - --extra-php < /etc/apache2/sites-available/wordpress.conf - - ServerName $domain - DocumentRoot $wp_path - ErrorLog /var/log/wordpress/error.log - CustomLog /var/log/wordpress/access.log combined - - AllowOverride All - - RewriteEngine On - RewriteBase / - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule . /index.php [L] - - - -EOF - a2enmod rewrite - a2ensite wordpress - a2dissite 000-default - systemctl reload apache2 - 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 -fi diff --git a/install/scripts/reset-wordpress.sh b/install/scripts/reset-wordpress.sh deleted file mode 100755 index 5f80bc8..0000000 --- a/install/scripts/reset-wordpress.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -echo "Removing WordPress .." - -# check we have ssh access -[ -z "$ssh_user" ] && echo "Error: no user ssh configuration specified" && exit 5 - -_mysql_cmd="mysql -u$db_user -p$db_pass -e " - -ssh -T $ssh_user << EOSSH - # remove database - if command -v mysql ; then - $_mysql_cmd "DROP DATABASE $db_name;" - $_mysql_cmd "CREATE DATABASE $db_name;" - else - echo "ERROR: mysql not found - aborting WordPress removal" - exit 40 - fi - # remove files - rm -Rf $wp_path -EOSSH diff --git a/scripts/install-dev-env.sh b/scripts/install-dev-env.sh new file mode 100755 index 0000000..2e927da --- /dev/null +++ b/scripts/install-dev-env.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +_user="www-data" +_home_dir="/home/$_user" + +echo "Installing packages .." +export DEBIAN_FRONTEND=noninteractive +echo "Installing packages .." +apt-get -qq -y install curl gnupg2 ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip python-pip python3-pip fzf vim ctags git + +echo "----------------------------------------------------------------------------" +echo "Installing lazygit .." +curl -fsSL https://github.com/jesseduffield/lazygit/releases/download/v0.22.1/lazygit_0.22.1_Linux_x86_64.tar.gz --output /tmp/lazygit.tar.gz +tar xf /tmp/lazygit.tar.gz -C /usr/local/bin/ +rm -v /tmp/lazygit.tar.gz + +echo "----------------------------------------------------------------------------" +echo "Installing lf ..." +curl -fsSL https://github.com/gokcehan/lf/releases/download/r16/lf-linux-amd64.tar.gz --output /tmp/lf.tar.gz +tar xf /tmp/lf.tar.gz -C /usr/local/bin/ +rm -v /tmp/lf.tar.gz + +echo "----------------------------------------------------------------------------" +echo "Installing neovim ..." +git clone https://github.com/neovim/neovim /tmp/neovim +cd /tmp/neovim +make -s CMAKE_BUILD_TYPE=Release +make -s install + +if command -v php ; then + echo "Installing composer .." + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" + # php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" + php composer-setup.php --filename=composer --install-dir=/usr/local/bin + php -r "unlink('composer-setup.php');" +fi + +echo "----------------------------------------------------------------------------" +echo "Installing nvm ..." +su --login "$_user" -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash' +echo 'export NVM_DIR="$HOME/.nvm"' >> "$_home_dir/.profile" +echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> "$_home_dir/.profile" +su --login "$_user" -c 'nvm install --lts --latest-npm' + +echo "----------------------------------------------------------------------------" +echo "Configuring neovim ..." +su --login "$_user" -c 'npm install -g neovim \ + && python2 -m pip install --user --upgrade pynvim \ + && python3 -m pip install --user --upgrade pynvim \ + && python3 -m pip install --user --upgrade neovim-remote' +su --login "$_user" -c 'git clone https://git.rayelliott.dev/dots/nvim.git "$HOME"/.config/nvim \ + && curl -fLo "$HOME"/.config/nvim/autoload/plug.vim --create-dirs \ + https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim \ + && nvim --headless +PlugInstall +qall' + +echo "----------------------------------------------------------------------------" +echo "Configuring lf .." +su --login "$_user" -c 'git clone https://git.rayelliott.dev/dots/lf.git "$HOME"/.config/lf' + + diff --git a/scripts/octobercms/import-db-from-remote.sh b/scripts/octobercms/import-db-from-remote.sh new file mode 100755 index 0000000..10d817d --- /dev/null +++ b/scripts/octobercms/import-db-from-remote.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +_remote_mysql_user='qfyjgprzay' +_remote_mysql_pass='XgxJ5vTbz2' +_remote_mysql_db='qfyjgprzay' + +ssh octobercms@staging.rayelliott.dev "mysqldump -u$_remote_mysql_user -p$_remote_mysql_pass $_remote_mysql_db | gzip -9" > dbremote.sql.gz +gunzip dbremote.sql.gz +mysql -uroot october < dbremote.sql diff --git a/scripts/octobercms/import-files-from-remote.sh b/scripts/octobercms/import-files-from-remote.sh new file mode 100755 index 0000000..15a6714 --- /dev/null +++ b/scripts/octobercms/import-files-from-remote.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +_remote_base_dir='public_html' +_remote_ssh='octobercms@staging.rayelliott.dev' + +rsync -azP "$_remote_ssh:$_remote_base_dir/storage $_remote_base_dir/themes $_remote_base_dir/plugins" /srv/octobercms/ --delete-before diff --git a/scripts/octobercms/local-install-octobercms.sh b/scripts/octobercms/local-install-octobercms.sh new file mode 100755 index 0000000..3240324 --- /dev/null +++ b/scripts/octobercms/local-install-octobercms.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +# NOTE - if changing the user, then the will need to edit apache config also +_user="www-data" + +sudo apt install -y php php-ctype php-fileinfo php-sqlite3 php-cli php-mysql php-zip php-json php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-pdo openssl mariadb-server vim unzip curl + +sudo mysql -uroot << EOSQL +UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root'; +CREATE USER 'october'@'localhost' IDENTIFIED BY 'october'; +CREATE DATABASE october; +GRANT ALL ON october.* TO 'october'@'localhost' WITH GRANT OPTION; +FLUSH PRIVILEGES; +EOSQL + +sudo apt -y install apache2 libapache2-mod-php + +mkdir /srv/octobercms && cd /srv/octobercms +php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));" +sudo chown -R "$_user":"$_user" /srv/octobercms +sudo -u "$_user" php artisan october:install + +cat << 'EOF' > octobercms.conf + + DocumentRoot /srv/octobercms/ + ServerName october.home + ServerAlias october.home + + + Options +FollowSymlinks + AllowOverride All + Require all granted + + + ErrorLog /var/log/apache2/octobercms-error.log + CustomLog /var/log/apache2/octobercms-access.log combined + +EOF + +sudo mv octobercms.conf /etc/apache2/sites-enabled/ +sudo chown root:root /etc/apache2/sites-enabled/octobercms.conf +sudo rm /etc/apache2/sites-available/000-default.conf +sudo a2enmod rewrite +sudo systemctl restart apache2 + +echo "Now open 'http://localhost/backend/'" diff --git a/tools/wp-content-db/README.md b/scripts/wordpress/README.md similarity index 100% rename from tools/wp-content-db/README.md rename to scripts/wordpress/README.md diff --git a/tools/wp-content-db/backup.sh b/scripts/wordpress/backup.sh similarity index 100% rename from tools/wp-content-db/backup.sh rename to scripts/wordpress/backup.sh diff --git a/tools/wp-content-db/config b/scripts/wordpress/config similarity index 100% rename from tools/wp-content-db/config rename to scripts/wordpress/config diff --git a/tools/wp-content-db/export-wp-content-db.sh b/scripts/wordpress/export-wp-content-db.sh similarity index 100% rename from tools/wp-content-db/export-wp-content-db.sh rename to scripts/wordpress/export-wp-content-db.sh diff --git a/tools/wp-content-db/import-wp-content-db.sh b/scripts/wordpress/import-wp-content-db.sh similarity index 100% rename from tools/wp-content-db/import-wp-content-db.sh rename to scripts/wordpress/import-wp-content-db.sh diff --git a/tools/wp-content-db/restore.sh b/scripts/wordpress/restore.sh similarity index 100% rename from tools/wp-content-db/restore.sh rename to scripts/wordpress/restore.sh