Here is a quick guide to set up a multi site wordpress, including all the steps needed to configure it so that any new site you create can have its own domain rather than some ugly IP address. My hope is that you can save the trouble of going through countless google searches to get this to work.
These are the 7 general steps:
- Set up Digital Ocean droplet with wordpress (in browser)
- Configure wp-config.php
- Network Setup (in browser)
- More configuration in wp-config.php and .htaccess
- Create site (in browser)
- Install MU domain mapping plugin
- Configure domain settings
I’ll get to the detailed steps in a sec.
This guide is for someone that knows how to use the terminal to connect to a virtual server and also edit files.
I wanted to set this up to be able to create as many wordpress sites as I want, without having to pay extra for every single site. I needed to create a few sites and wasn’t really sure if I’d use every one of them for a long time.
Sites like bluehost and hostgator are nice, but you’ll still be charged for every additional blog you make and you need to commit to 3 years to get the most economical deal.
With a Wordpress Multisite, you can create as many sites as you want and have the freedom to install any plugin. Using Digital Ocean's cheapest plan, you will pay a flat $5/month for as long or as short as you want, whether you have 1 site or 10 sites. Unless you expect massive traffic in the early days of your site, the cheapest server will work just as fast as bluehost or hostgator. You can choose upgrade your server only when you start getting more traffic to your sites.
Here are the steps in detail:
Step 1: Setting up a Digital Ocean droplet
This step will be done in your browser.
- Go to digitalocean.com
- Sign up. I’d very much appreciate it if you use my referral link. You will earn $10 credit if you end up spending $25 over time, whereas you get no free credit if you sign up without a referral link.)
- Create a droplet
- Click on “One-click apps”
- Choose the one that says wordpress.
- Choose the cheapest option. $5/month
- Scroll down, choose the data center region/country
- scroll down, click Create
In a minute or two, Digital ocean will send you the root user and password via email.
Step 2: Configure wp-config.php
This step will need to be done in the terminal or some sort of file manager.
- Connect to your server, using the root password DigitalOcean.com sent you via email.
- Edit the wp-config.php file, located in /var/www/html/wp-config.php
Scroll down a bit until you see a line that says $table_prefix = ‘wp_’; - Change that value from wp_ to something else a bit random, like a234sdf_
- Towards the end of the file, You’ll see a line that says /* That’s all, stop editing! Happy blogging. */ . Right above that, add this line:
define( ‘WP_ALLOW_MULTISITE’, true );
- Save and close file.
Step 3: Network setup
- Open your browser, go to the site with the IP address of your droplet. http://(droplet_ip_address)
- Go through the setup wizard if it pops up. Choose language, say yes to everything and install.
- After you’re in the Wordpress admin screen, go to Tools > Network setup
- Edit the title of your super site. Just a default super site. Our focus going forward will be on a new site which you will create.
- The screen will show you some code that you need to copy/paste in the next step.
Step 4: More configurations of wp-config.php and .htaccess
Follow the instructions shown on the screen from the previous step. You will do this in the terminal.
wp-config
Copy the first batch of code
Open wp-config.php again
Paste it into the end of the file, above the line reading /*That’s all, stop editing! Happy blogging*/
.htaccess
Copy the second batch of code
Open .htaccess
Replace all the contents in the <ifModule> tags with the stuff you copied.
save and close
After that, go to your browser. Refresh the page and login again.
Create a new site
In your browser, go to the wordpress admin dashboard.
In the top left corner, go to My Sites > Network Admin > Sites
Click “Add New”
Fill in info for your site
You’ll have a site created, but with an ugly URL like 128.23.55.33/sitename
In the next steps, you’ll make it possible to let your site use a proper domain, like sitename.comInstall MU domain mapping plugin
Go to My Sites > Network Admin > Plugins
Click “Add New”
Search for “Wordpress MU Domain Mapping”
Click on Install, for the plugin matching that name
Click Network ActivateConfigure Domain Settings
Go to Mysites > Network admin > Sites
Click on the new site you created to go to the dashboard of the individual new site, not the dashboard for your supersite.
Go to Tools > Domain mapping
Type in your domain name. You will need a domain name for this, purchased from places like godaddy.com and name.com.
From your domain site, go to “manage DNS records”. Create/edit the A record to point to the IP address of your digital ocean droplet. Now your domain will point straight to your new site, and the URL will show up clean in the browser, like sitename.com rather than 123.34.2.3/sitename
Go to Mysites > Network admin > Sites. Hover your mouse over your new site and click “edit”. Enter your domain name into the Site Address textbox. Click “Save Changes”. This step is necessary to be able to customize your site’s appearance and prevent a weird “non-existent changeset UUID” error message.
Congratulations @alikim! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You published your First Post
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @alikim! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard:
Congratulations @alikim! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!