Compare commits
3 Commits
84f5489388
...
9ce9219a12
Author | SHA1 | Date |
---|---|---|
|
9ce9219a12 | |
|
81f58e0da7 | |
|
5154af3a52 |
|
@ -25,7 +25,7 @@ export _wp_plugins_active="elementor wp-mail-smtp gdpr-cookie-compliance regener
|
|||
|
||||
export _docker_user="ray"
|
||||
|
||||
export _remote_host="wp-stack-five"
|
||||
export _remote_host="seven"
|
||||
export _domain="wptest.isnet.uk"
|
||||
export _docker_base_dir="/var/docker"
|
||||
export _mysql_root_passwd="db"
|
||||
|
|
|
@ -37,6 +37,7 @@ $_ssh_cmd_www "cd /var/www/html && wp core download --path=wordpress --skip-cont
|
|||
$_ssh_cmd_www_cd "wp config create --dbname=wordpress --dbuser=wordpress --dbpass=$_wp_db_passwd"
|
||||
$_ssh_cmd_www 'sed -i "s/<?php$/<?php\n\ndefine( '\''WP_DEBUG'\'', true );\ndefine( '\''WP_DEBUG_LOG'\'', true );\n/" /var/www/html/wordpress/wp-config.php'
|
||||
$_ssh_cmd_www_cd "wp core install --url=$_wp_url --title=\"$_wp_title\" --admin_user=$_wp_admin_user --admin_password=\"$_wp_password\" --admin_email=$_wp_email --skip-email"
|
||||
$_ssh_cmd_www_cd "wp rewrite structure /%postname%/"
|
||||
|
||||
|
||||
printf "\nInstalling themes ..."
|
||||
|
|
|
@ -7,12 +7,11 @@ else
|
|||
fi
|
||||
|
||||
_host="$_local_hostname.$_local_domain"
|
||||
echo "$_host"
|
||||
|
||||
_cmd_wp_export="wp db export --dbuser=wordpress --dbpass=$_wp_db_passwd --add-drop-table data.sql"
|
||||
_ssh_cmd="sshpass -p$_passwd_www ssh $_user_www@$_host"
|
||||
_scp_cmd="sshpass -p$_passwd_www scp $_user_www@$_host:/tmp/wordpress.tar.gz"
|
||||
|
||||
echo "Exporting data ..."
|
||||
$_ssh_cmd "cd /var/www/html/wordpress &&" $_cmd_wp_export
|
||||
$_ssh_cmd 'cd /var/www/html/wordpress && tar czf /tmp/wordpress.tar.gz .'
|
||||
$_ssh_cmd "rm /var/www/html/wordpress/data.sql"
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
|
||||
$_SERVER['HTTPS'] = 'on';
|
||||
}
|
||||
?>
|
|
@ -57,6 +57,14 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.nginx-${HOST}.entrypoints=http"
|
||||
- "traefik.http.routers.nginx-${HOST}.rule=Host(`${HOST}.${DOMAIN}`)"
|
||||
- "traefik.http.middlewares.nginx-${HOST}-https-redirect.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.nginx-${HOST}.middlewares=nginx-${HOST}-https-redirect"
|
||||
- "traefik.http.routers.nginx-${HOST}-secure.entrypoints=https"
|
||||
- "traefik.http.routers.nginx-${HOST}-secure.rule=Host(`${HOST}.${DOMAIN}`)"
|
||||
- "traefik.http.routers.nginx-${HOST}-secure.tls=true"
|
||||
- "traefik.http.routers.nginx-${HOST}-secure.tls.certresolver=http"
|
||||
- "traefik.http.services.nginx-${HOST}.loadbalancer.server.port=80"
|
||||
- "traefik.http.routers.nginx-${HOST}-secure.service=nginx-${HOST}"
|
||||
- "traefik.docker.network=web"
|
||||
|
||||
wordpress:
|
||||
|
|
|
@ -18,7 +18,7 @@ echo "Copying files ..."
|
|||
scp -r production/config "$_scp_to_base"/config
|
||||
scp production/Dockerfile "$_scp_to_base"/Dockerfile
|
||||
scp production/entrypoint.sh "$_scp_to_base"/entrypoint.sh
|
||||
scp ./.env "$_scp_to_base"/.env
|
||||
scp .env "$_scp_to_base"/.env
|
||||
scp production/docker-compose.yml "$_scp_to_base"/docker-compose.yml
|
||||
|
||||
scp wordpress.tar.gz "$_scp_to_base"/wordpress.tar.gz
|
||||
|
@ -28,6 +28,7 @@ echo "Configuring files ..."
|
|||
$_ssh_cmd "sed -i 's/__HOST__/$_remote_host/g' $_docker_dir/config/nginx.conf"
|
||||
# TODO make this more robust than just substituting localhost
|
||||
$_ssh_cmd "sed -i 's/localhost/$_remote_host-mysql/g' $_docker_dir/wordpress/wp-config.php"
|
||||
$_ssh_cmd "cat $_docker_dir/config/wp-config-forward-headers.php $_docker_dir/wordpress/wp-config.php >/tmp/out.tmp && mv /tmp/out.tmp $_docker_dir/wordpress/wp-config.php"
|
||||
$_ssh_cmd "chown -R $_docker_user: $_docker_dir"
|
||||
# The 82 comes from the Dockerfile addgroup and adduser commands
|
||||
$_ssh_cmd "chown -R 82:82 $_docker_dir/wordpress"
|
||||
|
@ -58,17 +59,29 @@ _cmd_docker_exec="cd $_docker_dir && docker exec -t $_remote_host-wordpress /bin
|
|||
echo "$_ssh_cmd $_cmd_docker_exec"
|
||||
$_ssh_cmd "$_cmd_docker_exec"
|
||||
|
||||
# TODO correct URLS
|
||||
_cmd_wp="wp rewrite structure /%postname%/"
|
||||
_cmd_docker_exec="cd $_docker_dir && docker exec -t $_remote_host-wordpress /bin/sh -c '$_cmd_wp'"
|
||||
echo "$_ssh_cmd $_cmd_docker_exec"
|
||||
$_ssh_cmd "$_cmd_docker_exec"
|
||||
|
||||
# _cmd_wp="wp user create $_wp_admin_user"
|
||||
# _cmd_docker_exec="cd $_docker_dir && docker exec -t $_remote_host-wordpress /bin/sh -c '$_cmd_wp'"
|
||||
# echo "$_ssh_cmd $_cmd_docker_exec"
|
||||
# $_ssh_cmd "$_cmd_docker_exec"
|
||||
|
||||
# TODO move this into helper script
|
||||
# wp search-replace 'example.dev' 'example.com' --skip-columns=guid
|
||||
# Or, if you only want to change the option, you can do:
|
||||
# wp option update home 'http://example.com'
|
||||
# wp option update siteurl 'http://example.com';
|
||||
_cmd_wp="wp search-replace 'http://$_local_hostname.$_local_domain' 'https://$_local_hostname.$_local_domain' --skip-columns=guid"
|
||||
_cmd_docker_exec="cd $_docker_dir && docker exec -t $_remote_host-wordpress /bin/sh -c '$_cmd_wp'"
|
||||
echo "$_ssh_cmd $_cmd_docker_exec"
|
||||
$_ssh_cmd "$_cmd_docker_exec"
|
||||
|
||||
_cmd_wp="wp search-replace '$_local_hostname.$_local_domain' '$_remote_host.$_domain' --skip-columns=guid"
|
||||
_cmd_docker_exec="cd $_docker_dir && docker exec -t $_remote_host-wordpress /bin/sh -c '$_cmd_wp'"
|
||||
echo "$_ssh_cmd $_cmd_docker_exec"
|
||||
$_ssh_cmd "$_cmd_docker_exec"
|
||||
|
||||
# TODO ensure HTTP_X_FORWARDED_PROTO header is set in wp-config.php
|
||||
|
||||
# TODO 3m .env
|
||||
rm .env
|
||||
|
|
Loading…
Reference in New Issue