9

I want to create a local network on a Windows machine using subdomains. I do not want to edit the hosts file for each new subdomain. But Windows does not support wildcard subdomains, and the Codex doesn’t say anything useful about this topic.

What should I do?

1 Answer 1

9

There is a plugin for that: WP XAMPP Multisite Subdomains. Unfortunately, there is no English description available. I’ll try that here.
The following guide will set up a multi-site under mu.wp with subdomains.

1. Basic Installation

Start with a fresh installation of WordPress and XAMPP. Create a network for subdomains. Do not create any sub site yet.

My XAMPP is installed in E:\xampp, WordPress in E:\wordpress.latest.final, and my site specific directories in F:\sites. There is a directory F:\sites\_logs for log files. Make sure to adjust the paths in the following examples to your set up.

2. The hosts file

Open the hosts file. On Win 7 that’s probably on C:\Windows\System32\drivers\etc\hosts, and you need administrator rights to edit it.

Create a separate section like this:

# BEGIN XAMPP-127.0.0.2
127.0.0.2           mu.wp
# END XAMPP-127.0.0.2

Note we use 127.0.0.2, not 127.0.0.1. This is important.

Save the file, close and forget.

3. The httpd-vhosts.conf

Open the Apache vhosts file in /apache/conf/extra/httpd-vhosts.conf.

Create a new virtual host. If that is your first virtual host you need a generic vhost first.

generic vhost

Should be the first virtual host in the file.

<VirtualHost *:80>
    DocumentRoot "E:/xampp/htdocs"
    ServerName localhost
    <Directory "E:/xampp/htdocs">
        Options Indexes FollowSymLinks
        Options +Includes
        AllowOverride FileInfo
        AllowOverride All
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
    ErrorLog  "F:\sites\_logs\default.error.log"
    CustomLog "F:\sites\_logs\default.access.log" combined
</VirtualHost>

our multi-site vhost

<VirtualHost 127.0.0.2:80>
    ServerName      mu.wp
    DocumentRoot    "E:\wordpress.latest.final"
    <Directory "E:\wordpress.latest.final">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog        "F:\sites\_logs\mu.wp.error.log"
    CustomLog       "F:\sites\_logs\mu.wp.access.log" combined
</VirtualHost>

Make sure all the paths are correct! Restart Apache.

4. Install the plugin

Install the plugin WP XAMPP Multisite Subdomains as a MU-plugin. Usually in wp-content/mu-plugins.

Done.

You can create new subdomains now in http://mu.wp/wp-admin/network/site-new.php, the plugin will update the hosts file automatically, and your new sites are available immediately.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.