From 4c6489235429be085a85fb5e7a7945033931278e Mon Sep 17 00:00:00 2001 From: p4u1 Date: Wed, 8 Nov 2023 17:59:51 +0100 Subject: [PATCH] use one env variable to controll the multisite feature --- .env.sample | 10 ++-------- README.md | 8 ++------ abra.sh | 2 +- entrypoint.sh.tmpl | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/.env.sample b/.env.sample index 2032bc8..a95233e 100644 --- a/.env.sample +++ b/.env.sample @@ -34,14 +34,8 @@ SECRET_DB_PASSWORD_VERSION=v1 # Mostly for compatibility with existing database dumps... #WORDPRESS_TABLE_PREFIX=wp_ -# Multisite -#WORDPRESS_CONFIG_EXTRA="\ -#define('WP_CACHE', false);\ -#define('WP_ALLOW_MULTISITE', true );" - -# Multisite phase 2 (see README) -#WORDPRESS_CONFIG_EXTRA="define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', '${DOMAIN}'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); define('FORCE_SSL_ADMIN', true ); define('COOKIE_DOMAIN', \$_SERVER['HTTP_HOST']);" -#MULTISITE=subfolder # either 'subfolder' or 'subdomain' +# Multisite (see README) +#MULTISITE=enable # either 'enable', 'subdomain' or 'subfolder' # Local SMTP relay #COMPOSE_FILE="$COMPOSE_FILE:compose.mailrelay.yml" diff --git a/README.md b/README.md index fbd2ad4..33384ed 100644 --- a/README.md +++ b/README.md @@ -47,16 +47,12 @@ AUTHENTIK_ID_NAME=authentik_example_com_wordpress_id_v1 # the same as in authen ## Network (Multi-site) -_(Only tested using subdomains)_ - 1. Set up as above -2. `abra app config `, and uncomment the first `# Multisite` section +2. `abra app config `, and uncomment `#MULTISITE=enable` 3. `abra app deploy ` 4. Log into the Wordpress admin dashboard, go to Tools ยป Network Setup 5. Don't worry about the suggested file changes -6. `abra app config ` again - comment out the first `# Multisite` - section in `.envrc`, uncomment the `# Multisite phase 2` section, and add - your multisite subdomain(s) to `EXTRA_DOMAINS` (beware the weird syntax..) +6. `abra app config ` again and set `MULTISITE` to either `subdomain` or `subfolder` depending on your setup. 7. `abra app deploy ` ## Installing a custom theme diff --git a/abra.sh b/abra.sh index 9186da6..30c2eaa 100644 --- a/abra.sh +++ b/abra.sh @@ -1,5 +1,5 @@ export PHP_UPLOADS_CONF_VERSION=v3 -export ENTRYPOINT_CONF_VERSION=v5 +export ENTRYPOINT_CONF_VERSION=v6 export ENTRYPOINT_MAILRELAY_CONF_VERSION=v2 export MSMTP_CONF_VERSION=v4 export HTACCESS_CONF_VERSION=v1 diff --git a/entrypoint.sh.tmpl b/entrypoint.sh.tmpl index 503d80f..885b234 100644 --- a/entrypoint.sh.tmpl +++ b/entrypoint.sh.tmpl @@ -24,6 +24,24 @@ a2enmod headers sed -ri -e 's/^([ \t]*)(<\/VirtualHost>)/\1\tHeader set Access-Control-Allow-Origin "*"\n\1\2/g' /etc/apache2/sites-available/*.conf {{ end }} +{{ if eq (env "MULTISITE") "enable" }} +export WORDPRESS_CONFIG_EXTRA="$WORDPRESS_CONFIG_EXTRA +define('WP_CACHE', false); +define('WP_ALLOW_MULTISITE', true );" +{{ end }} + +{{ if or (eq (env "MULTISITE") "subdomain") (eq (env "MULTISITE") "subfolder") }} +export WORDPRESS_CONFIG_EXTRA="$WORDPRESS_CONFIG_EXTRA +define('MULTISITE', true); +define('SUBDOMAIN_INSTALL', true); +define('DOMAIN_CURRENT_SITE', '${DOMAIN}'); +define('PATH_CURRENT_SITE', '/'); +define('SITE_ID_CURRENT_SITE', 1); +define('BLOG_ID_CURRENT_SITE', 1); +define('FORCE_SSL_ADMIN', true ); +define('COOKIE_DOMAIN', \$_SERVER['HTTP_HOST']);" +{{ end }} + if [ -n "$@" ]; then "$@" fi