Wordpress 3.0 – review & multi-site problems
First! Hat’s Off to the folks working the Wordpress solution – using it has been a great experience with few problems.
I have several Wordpress installs on multiple domains (happy consumer!) so my main interests in the new release includes:
- managing/running all sites from one install on a single server
- simplifying management of updates/plugins/themes
- sharing custom mod_security rules and other security tweaks
Ok. I install Wordpress 3 into the folder: /usr/share/wordpress.3 and I create an Apache configuration file: /etc/httpd/conf.d/wordpress.3.conf – I now have one location to make changes for any Wordpress driven site running on the server.
Multi-site Concerns
The documentation (and orientation/target model) for Wordpress-MU describes support for either:
- blogs using multi-sub-domains OR
- blogs using multi-sub-folders
Neither of these is what I need. I host multiple domains on single servers and instead of installing/updating multiple Wordpress versions I would prefer one master install supporting multiple domains.
NOTE – if you explore the Multi-site option use CARE with the location of changes in your wp-config.php file – the ‘wrong’ place will either NOT work or it may partially work, i.e.
you only see a ’sites’ option (but no Super-admin option)
After finding a working location for the multi-site configuration data in the wp-config.php file (I placed the required entries after the database entries) I am able to create a new blog. Since I am testing with virtual hosts the Apache configuration requires me to add a ServerAlias entry for each sub-blog that I create – I simplify by using a ‘ServerAlias *.somedomain.com‘ wildcard within the <VirtualHost> container in my httpd.conf Apache configuration file [** note that this only works if you have the DNS for your domain configured to use wildcards...]
So if you get the Super-admin menu option working AND you want to serve content for multiple domains then the discussion link below may help:
http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/
If you follow the instructions from the preceding link (download and install the sunrise.php and domain_mapping.php files as directed as well as create the required new folders) then you now (hopefully) have a new Domain Mapping option. It allows you to configure your server IP address as your ‘base’ (I did not try the domain option since the IP is most likely what I need.) Now you ‘connect’ sites with domains and all will be served from the same Wordpress 3.0 install. Whew!
My test Wordpress 3.0 URLS/domains – simple differences – changed backgrounds, title, menus:
- http://wundernotes.com/
- http://test.wundernotes.com/
- http://newblog.wundernotes.com/
- http://vaporsearch.com/
Once installed I made minor changes to each Site/Blog/Instance? (There is some debate about what to call ‘these things’ – I think of them as Wordpress Instances…)
What about testing on a non-Internet connected host?
On my local Linux systems this works well without using wildcards:
- note the above (change wp-config.php with care – I placed the multi-site options immediately AFTER the database items – works for me and I replicated it on several systems)
- configure your Wordpress 3 Domain Mapping to use the IP address of your Linux machine
- create /etc/hosts entries for your ’sites’ (Unless you prefer tinkering with DNS)
- on my system I put ALL required .htaccess changes in my Apache config file, i.e. /etc/httpd/conf.d/wordpress.3.conf using a <Directory> directive
Sample /etc/hosts file entries (IP should be the same as your Linux system so 192.168.140.1 should be changed on your system.)
192.168.140.1 blog01 blog01.localdomain 192.168.140.1 blog02 blog02.localdomain 192.168.140.1 blog03 blog03.localdomain
Sample /etc/httpd/conf.d/wordpress.3.conf file
############## my Single Wordpress install location
#<Directory /usr/share/wordpress.3>
# AllowOverride Options
#</Directory>
##############
## Above is before enabling multi-site - below is after enabling multi-site
<Directory /usr/share/wordpress.3>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
AllowOverride ALL
</Directory>
NOTE – the sample above may not WORK for YOUR system! Review the Wordpress Network setup documentation (or the link above.)
Side NOTE – a new set of database tables is created for each new Domain/Blog that you add to your multi-site.
Now off for some:
- plugin testing
- theme selections
- test ‘migrations’
Related posts:
- Securing your Web Site(s), Blog(s) Web server security is something that we all want, but...
- Is this site a blog? Yes and sort of no... Yes since the site is...
- Rhomobile – multi-mobile device development platform Rhomobile bills itself as: Smartphone apps made easy. AND: Native...
- Migrating Static HTML pages to Wordpress CMS I previously posted about migrating static pages to Drupal –...
- Wordpress – importing images (media) I have not found a simple way to batch import ...