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!
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 111.222.33.44
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.
All-In-One Intranet
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
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
bbPress
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)
Wrapping Up
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/
Enjoy !
Amazing, Best toturial
Thankyou Elegantthemes
Hi,
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
Nancy
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!
Wow that plugin sounds awesome. Thanks for sharing!
Hello,
I have a blog on google blogger and I was wondering if I can make an intranet like, Intranet, myblog.com based on blogger in just under a subdomain. ?
Not that I am aware of. Unfortunately, Blogger is not a very flexible platform.
Hi
When do you think that the EXTRA theme will be?
Hi, the informatión on this article is very helpful, but i have a problem, my intranet with wordpress is ok, but when i tried to access like extranet (http:// my.public.ip/wordpress) the CSS are broken; how to solve that?
Hi David, sorry you’re having that problem. Personally, I’m not really sure why that’s happening. However, if you are an Elegant Theme’s customer and using an Elegant Theme, then you can go to our support forums and/or create a support ticket.
can you change intranet to extranet?
Nice work slipping DIVI in there as a viable option. I can confirm that it does in fact work well as an extranet especially when combined with a good WIKI plugin, buddypress, and wpmudevs Membership2 plugin.
Great resource! I remember seeing somewhere an article on how to use DIVI as a intranet (or extranet) site. It would be great to see an article like that.
WordPress is our favourite tool for collaboration and knowledge management. Nevertheless security is an issue and we prefer to use plugins sparse. For lightweight project management there is https://wordpress.org/plugins/wedevs-project-manager/ as well. The pro version offers more options.
To handle different file types and media we use https://wordpress.org/plugins/enhanced-media-library/.
This plugin “allows WordPress to authenticate, authorize, create and update users through (MS Servers) Active Directory”. And very handy it is for use with an intranet…
https://wordpress.org/plugins/active-directory-integration/
Interesting ! going to propose this to the next meeting. I’ll even use some sentences of your article in my powerpoint presentation 😛
Hi,
I’m just setting up my intranet with DIVI and I’m going to use some of your advices, thank you very much.
I’ve only a problem: my boss wants that every employee fills a time sheet of every activities. Activities are divided in areas and groups. How can I do it?
thank you!
I use Ninja Forms with Divi. It offers front-end posting.
This is very helpful. Normally people had to buy expensive software or get a custom built for themselves by paying top dollar to a developer. But with word-press cost of installing an intranet would come at a fraction of the above.
This looks like it would be suitable for a small organisation where there is basically one/small number of people pushing out content to a single ‘group’ of staff, but i dont think it would be suitable for larger orgs where you need robust and properly authenticated content management and workflow which, in these times, is critical otherwise you essentially just have a website which is duplicating content that already exists either on the network or elsewhere, which isnt very efficient.
This isn’t that bad to setup. Nice to know.
Great post. Now I am wondering if there is a way using wordpress to create an online coud-based database – we are already running into the thousands of contacts and facebook likes, and we expect these to rise shortly into the tens of thousands. So this is about to become important. We have looked at the online databases available but they require expensive monthly payments which wouldn’t be a problem for the large companies but for a small non-profit like ourselves is beyond our budget. We came across only one free (shareware) online database but it is far too amateurish.
Is there a way that we could use wordpress in some way to create a database?
Pat
Have you tried Odoo? or maybe Elgg?
Very interesting article! I have one question after reading (or many, but this one for now): How wise is it to have one (1) wp-site both as a public website and as a extranet for a SMB? I guess a visual login is a hazard for boots? Anyone have experience with this, and how did you go about?
Hi! I have the same question!
Do you came to a conclusion? And if so, can you give me some advice?
Thanks a bunch!
We use WP for both our external Websites and our Intranet. We have solved the security issue by simply installing WP on multiple different virtual servers. Security can then be tailored per machine.
Also, by using Proxmox for the virtualisation, CentOS as the OS , MariaDB as theDB and WP for the sites we do not need to worry about the cost for having multiple virtual servers.
Very important information. Most firms used Windows product and other intranet package to power their intranet/extranet and I’m yet to see one from WordPress. However, thank you for this post, its very useful for small business agency like us!. Please, can you kindly do a re post on how to configure the intranet on Windows?
Cheers 🙂
Nice post though!!!
This is awesome and it could bring me back to wordpress ,lols
I ran to blogger but reading this, I will be coming back but seeking a nice host…….. Could you help me ?
Hi Guys,
Given the topic I was surprised not to see the Canadian Simple Intranet solution listed. Worth a review of what they’ve developed. http://www.simpleintranet.org/
Its good Eh!? 🙂
From Brisbane, Australia
Thanks for sharing Andrew. That also looks like a great option!
I’ve been looking into creating an extranet. This is super helpful information – thanks!
And yes, weird, cosmology, comparative mythology? Perhaps it takes someone like that to get all the connection the internet can make.:)
Great post! I am working in a big hospital and we want to migrate to WordPress using multisite. But I think to use a multisite solution for Intranet and corporate website. Do you think is a good idea?
I want to use Divi for both projects and I think to create some templates (with Divi).
If you do, be sure and setup a separate Apache virtual site for the intranet media. And in the Apache config file block access to this virtual site to all except your internal network.
Otherwise you may block access to your intranet site in .htaccess, but if the media is in the WordPress multisite uploads directory, a clever person could navigate through the media for all the multisite sites.
Interesting, the problem i have with this is that wordpress plugin support is notoriously flaky. So, if i opt for one of these solutions and need help in two years, will the developer still be around to help me? That being said, the current prices for many of these corporate file sharing/extranet solutions is so expensive that this warrants another look.
thanks
Yes, but even if the developer isn’t around, you know that WordPress will be along with a HUGE community of other developers and users who could probably help you if a problem should arise.
This is true. And even then, it may be possible if the plugin does happen to be abandoned (which I feel is unlikely in most cases for popular plugins), they are GPL licensed so people can contact the developers and many are willing to pass development and maintenance to someone else to keep it working for people.
I’ve just set up an intranet using Divi, All in One Intranet, and Google Drive Embedder (both plugins from the very helpful Dan Lester). Placing files on Google is faster than FTP and more friendly, and they are then instantly visible on the site with no further action required. 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 – and I can manage from anywhere too. I would recommend this solution.
Great post! I tried (till blue in the face, blah blah blah) to get my organization to use WordPress for its Intranet and instead was saddled with DNN. So instead of taking about six months from start to finish, it’s taken two years.
Nathan,
I never really thought of using WP like this before but I’m sure there will come a time when a client needs something like the systems you have presented here. It never fails to amaze me all the diverse ways WordPress can be utilized.
Thanks for a great post!
Adam
WordPress is a great solution for intranets I believe. With its easy to use plugins and support from its communities around the internet how could you really go wrong until you need more of an enterprise solution? CentralPoint by Oxcyon or SharePoint by Microsoft would be more of a better fit for this type of environment. Joomla also comes to mind when it comes to building a more complex intranet system. As an administrator for over 10 years I was impressed by CentralPoint after using it and reading the 2014 Gartner report.