Configure blogs for different domains with different SSL certificates
This section assumes:
- You have a working WordPress Multisite installation
- Your server has a static IP address
- You are able to log in to your server console using a tool like PuTTY (Windows) or SSH (Linux and Mac OS X)
- You own at least one custom domain name for which you can configure DNS settings
- You have defined your primary domain and blog as described here and you are able to log in to the WordPress Multisite dashboard.
- You have added one or more WordPress Multisite blogs with different domains as described here .
Follow these steps:
-
In order to set different SSL certificates for each new domain, configure each domain as a virtual host. Edit the /opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf file and add a new virtual host for each new domain. The following code could be taken as an example:
<VirtualHost 127.0.0.1:443 _default_:443> ServerName yourserverdomain.com ServerAlias *.yourserverdomain.com SSLEngine on SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/certs/new_server.crt" SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/certs/new_server.key" DocumentRoot /opt/bitnami/wordpress <Directory "/opt/bitnami/wordpress"> Options -Indexes +FollowSymLinks -MultiViews AllowOverride None Require all granted # BEGIN WordPress fix for plugins and themes # Certain WordPress plugins and themes do not properly link to PHP files because of symbolic links # https://github.com/bitnami/bitnami-docker-wordpress-nginx/issues/43 RewriteEngine On RewriteRule ^bitnami/wordpress(/.*) $1 [L] # END WordPress fix for plugins and themes# BEGIN nip.io redirection RewriteEngine On RewriteCond %{HTTP_HOST} ^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(:[0-9]{1,5})?$ RewriteRule ^/?(.*) %{REQUEST_SCHEME}://%1.nip.io%2/$1 [L,R=302,NE] # END nip.io redirection# BEGIN WordPress Multisite # Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L] # END WordPress Multisite </Directory> Include "/opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf" </VirtualHost>
Remember to change the ServerName and ServerAlias directives to the correct values.
To specify a different SSL certificate for each domain, update the paths to the corresponding certificate files in the SSLCertificateFile and SSLCertificateKeyFile directives.
-
After ensuring that the certificates are properly generated and configured in the /opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf file, restart Apache to apply the changes.
$ sudo /opt/bitnami/ctlscript.sh restart apache