An intranet is a “closed-circuit internet”. It is available only at a certain location or via certain protocols. Some companies may have a network for their business that is only available while in their building. Or perhaps a college has a campus-wide network for faculty, but outside of that campus, it is inaccessible.
The difference between an intranet and the internet is that you are hosting the intranet yourself. Instead of being a distributed web of servers talking to each other via remote protocols, your network is localized and hosted on local servers in your own physical space. It’s basically a tiny internet that lives in your IT department’s office.
An extranet is not all that different. Instead of being housed on a local server, accessible only to those connected to the same network, an extranet is housed in the cloud and accessible only to folks within a certain IP range (or another factor you set). Mostly, an extranet serves folks on distributed teams because they can’t access a physical location.
Companies use intranets and extranets to facilitate private and secure mass data sharing and collaboration. Such as company-wide access to internal documentation, announcements, time off calendars, and more. In this article, we’ll cover why WordPress is a good fit for your intranet or extranet and then show you how to create one.
Let’s get to it!
- 1 Why Use WordPress for an Intranet or Extranet?
- 2 How to Create an Organizational Intranet (or Extranet) with WordPress
- 3 Setting up a WordPress Intranet
- 4 Need (or Want) a WordPress Extranet Instead?
- 5 WordPress Intranet Plugins
- 6 Wrapping Up
Why Use WordPress for an Intranet or Extranet?
Well, the first reason is that it’s free. Obviously, you will have to spring for the server and bandwidth to host the thing, but if you’re looking at setting up an intranet in the first place, you likely have that covered already.
You will probably be using your intranet for some of this stuff:
- storing private documents
- posting various announcements and memos
- hosting training manuals,
- providing updates to policies
- securely locking away any files that really shouldn’t be posted anywhere the public has even blocked access
- keeping an updated company directory
- maintaining a company calendar
- allowing access to internal collaboration tools
- setting up various project management environments
- running an internal, private social network
- and doing mostly anything you could do on the public web
Lucky for you, WordPress has all of that functionality built into the core. And with just a little bit of work, you can use it to do the exact same thing that expensive intranet platforms charge a lot for.
Most other platforms charge per user. That makes having an intranet potentially out of reach for a number of small businesses and non-profits. With WP, you don’t have to worry about that. Outside of normal IT costs, you’re going to be able to really spare your tech budget a big hit this way.
How to Create an Organizational Intranet (or Extranet) with WordPress
Subscribe To Our Youtube Channel
Setting up a WordPress Intranet
The first thing you need is a network. That may sound obvious, but you won’t get anywhere if your on-site machines don’t talk to each other. And the hub of any network is the server. After all, the internet is just a series of servers that talk to each other and to our browsers, so an intranet is the same. Only those servers are on-site.
Step 1: Pick a Local Server Platform
First thing’s first: you’re going to need a pretty good computer. If you think you can run an intranet on a last-generation, beat-up machine, think again. This is going to be a workhorse computer that’s left on pretty much all the time (or at least while people need the intranet during work hours). So you’re going to want something moderately beefy.
Once you have that picked out, it’s time to make it the center of attention. To do that, we just need to install WordPress. Simple, right? Actually, yeah.
You will want to use MAMP / LAMP / WAMP. MAMP, LAMP, and WAMP let you turn your Mac, Linux, or Windows (hence the M, L, and W in the names). There’s also a version called XAMPP that works on all three; however, it is a bit more advanced than the others and not quite as stable.
Note that if you do go with XAMPP yourself, do not download any version marked with a VM. You will want the versions listed above those. You’re not setting up a virtual machine. Instead, you’re putting together the real thing.
For this particular example, however, I will be using MAMP. The process on each platform is similar, and you can find it documented more fully here.
Additionally, you might be considering a local environment such as Local by Flywheel, and while it can work, we don’t suggest it. Any member of the AMP stack is designed for workhorse-level strain, and Local is not. You may have no trouble with it as a core platform for your intranet, but that’s not what it’s designed to do, unlike the AMP stack. So we suggest going with one of those.
Download and run the software, and you will have a couple of new additions to your Applications folder. We aren’t concerned with MAMP Pro right now, so go into the MAMP folder and launch the program.
MAMP is really simple to use. Just press the Start Servers button to start the servers.
Congrats, you have an up-and-running local development server. But…you don’t have WordPress installed, and you haven’t given access to the people on your network. But you will!
Step 3: Installing WordPress on Your Local Intranet
The first thing you need to do at this point is download WordPress. You will be doing a manual install this time, rather than using a quick installer. Honestly, there’s not a lot of difference.
You will get a file that’s likely called WordPress-4.9.8.zip (or whatever the current version is). Unzip it. Now, you have a folder simply titled “wordpress” on your computer. If you open it, you will see a file and directory structure identical to that of hosted online installations.
Now you want to find the MAMP folder in Applications and navigate until you find one named htdocs. That’s where your new installation of WordPress is going to live. Just drag the unzipped folder into htdocs. In fact, that’s where all of your local web files will be stored.
At this point, you will create the database that WP runs on. So head to the MAMP window and press the Open Start Webpage button.
Your browser will open to the default MAMP help page, and you will see a toolbar of menu items. Navigate to Tools and find the link that says phpMyAdmin in the dropdown.
When the new page loads, you see the real heart of your WordPress installation. The vast majority of your data will live here. Click on the Databases tab, and name your new DB under the Create Database heading. We chose et_intranet. Hit Create when ready.
The next page is scary. Ignore it. You haven’t created database tables yet because you haven’t set up WordPress yet. It’s okay.
Now, you are ready to go and get WP up and running. Start MAMP up if you haven’t already by pressing the Start Servers button.
Then navigate to either http://localhost:8888/wordpress or http://127.0.0.1:8888/wordpress to access your new installation. Keep in mind, also, that you can rename the folder called wordpress whatever you want. You then use whatever the folder is named in the URL. So if you rename the wordpress folder to intranet, it would be https:localhost:8888/intranet.
Whatever you name it, you will choose a language for the installation, and then you will see this screen.
If you have used quick installers before, this was generally handled for you. However, since this is a manual installation, it’s up to you to name the database and get it up and running. It’s very easy to do, and you’re not going to mess anything up. When you’re ready to start, press the Let’s Go button to be taken here.
Change Database Name to whatever you used in phpMyAdmin earlier when you created the DB. Use root for both username and password.
Keep in mind, also, that under Table Prefix, you absolutely 100% must include the underscore afterward. So if you change it from wp_, you will need to make sure it’s intranet_ or whatever you choose. When you press the Submit button, you will give a few confirmations and set up your WP username before being taken to your shiny, new WP admin panel.
One that’s running on your local machine.
Now, it’s time to get it set up for your team. And your team only.
Step 5: Providing Network Access to Your Intranet
Since the term localhost is actually what it says, the local host, only your machine can use that term. But the computer running MAMP has an IP address that anyone on the same network can access. You can find it in two different ways.
The first is going into your network settings and checking under the Connected heading.
The second way is via the command line. You can use the Terminal utility to do this. Simply enter ifconfig |grep inet and hit enter. Yes, that’s the special character for the vertical bar. Thank you OSX Daily for teaching us that command. You will find your computers IP address where it says inet.
Now, you want to make sure you have the right ports open for your team, so go into the MAMP preferences and see what they’re set at. By default, it’s 8888, and that’s okay to use as long as there aren’t other applications on this local server running on those ports. If that’s the case, press the button to use ports 80 and 3306.
With those two numbers in hand, anyone connected to the same network can connect to your new WordPress installation as long as the MAMP server is running simply by going to the IP:Port/wordpress, or 10.0.0.152:8888/wordpress for example. The IP and Port will always be separated by a colon.
And if you would prefer to use a domain instead of an IP address (because they’re a bit easier to remember than strings of numbers), you can do that, too. Siteground has a great walkthrough of using the hosts file to set it all up.
Need (or Want) a WordPress Extranet Instead?
A WordPress extranet works just like the installation above except it’s available only to a select number of people on a select number of machines. Because of the way that the .htaccess file works, you can still whitelist entire networks, while blocking all other traffic. So even if you have a distributed team, you can still physically limit logins.
Simply open up your site’s .htaccess file.
Then insert the following code and save/upload the file again. Make sure to add your own IP address to the file.
order deny, allow
deny from all
allow from 18.104.22.168
Just add any other IP addresses or IP ranges on additional lines, and you’ve restricted access to your extranet just like it were a WordPress intranet.
WordPress Intranet Plugins
Setting up the infrastructure of your WordPress intranet is only the beginning. Now that you have that up and running, you need to flesh out and customize the environment you’re providing for your company, campus, or team. WordPress has a lot of plugins – many of which are multisite compatible – that make it really easy for you to customize and get the exact intranet functionality you need.
Your intranet needs to stay your intranet. So this plugin makes sure that it does. It’s free, and it just works. You go into the settings, tell it how private you want the site to be, and within a few clicks, your intranet is locked down tight. Plus, there’s a premium version that works on WP Multisite installations and has even more options.
Price: Free | More Information
BuddyPress is one of two essential plugins for a WP intranet, I think. Intranets are for teams, and that’s what BuddyPress is about. It’s a social network that you can control, and really, it’s a fantastic way of sharing and communicating between teammates. While there are other plugins out there that do similar things, why not go with the gold standard?
Price: Free | More Information
Like BuddyPress, bbPress is pretty solidly entrenched in WordPress intranet functionality. While BuddyPress lets you communicate and collaborate, bbPress lets real group discussions occur on various projects through forums. Sure, message boards may not be the powerhouses of the internet like they once were, but discussion boards on an intranet are central to project management and making sure everyone is on the same page. bbPress also is placed pretty well on our recommended list of best forum plugins.
Price: Free | More Information
A Wiki or Knowledge Base
Creating a wiki using WordPress isn’t that hard. And in terms of tools for an intranet, a wiki is just about perfect. Easily searchable, linkable, and editable, every piece of information you could possibly ask for about anything your campus, company, or team deals with is just a couple of clicks away. And because it’s an open-ended publication, you can all make additions and corrections so that the documentation you all need is always up to date. The same goes for a knowledge base, too. If you prefer a standard look-up-the-answer approach, WordPress has that, too. We also recommend these other top knowledge base and wiki plugins for WordPress.
Price: Free | More Information (Wiki)
Price: $40 | More Information (Knowledge Base)
If you are looking at a way to up productivity on your team, maybe this has convinced you that an intranet is worth giving a shot. At the very least, a private WP installation that works as an extranet might. Regardless, you’ve seen that it’s not hard to set up, and with just a little tweaking and customization, you can have it pixel-perfect for your team in no time. Whether you’re sharing docs, building teams, or trying to get feedback on upcoming projects, a WordPress intranet is a lot more efficient than email and potentially a lot cheaper than a huge Slack.
Have you used a WordPress intranet before? What was your experience?
Article featured image pixldsign / shutterstock.com
hey, this is really great, perfect article!!. thx!
If required, the client can upload files to Google drive through a given page without a Google account. My client’s staff can now log in to a private site and access files from anywhere
Awesome Article Thanks for sharing
Hi, Just for sharing purpose :
I recently found an all-in-one Local WordPress Development Environment app that is really impressive with features and simplicity:
Local by Flywheel : https://local.getflywheel.com/
Amazing, Best toturial
Do you know a plugin that can be add to an existing theme. With this plugin I would like to create an intranet + a member list page visible to all, so everyone can research for someone and see there info?
Thanks a lot
Man are you speaking my language with this post! I’m actually in the process of creating a network right now for this open source project I’m launching. Although I’m building it by using the WP Rest API, I did create this client a while back with Node-Webkit https://github.com/adamapps/aDOM that allows you to access your WP install through the server-side UI. I just wanted to say that if you just create a WP Network and install this plugin https://wordpress.org/plugins/wp-force-login/ that forces everyone to login to view the site, you don’t have to login to your specific url on the network. Just send everyone to the root domain for the network and WordPress will route you to your account space according to your login credentials. Great post btw!