When we talk about WordPress we usually associate it with either being a blogging platform or just another content management system, but what about as an Intranet? This tutorial will show you how you can turn your basic installation of WordPress into a robust Intranet for your business.
WordPress as an Intranet
Unless you double as IT support for your office (sometimes the unspoken role of a web developer), you probably already have some sort of an Intranet server, if not – there are ways you can access a local directory via file sharing, but for my example I'm just going to assume a couple of things first:
- You have Apache, PHP and MySQL already installed and running on your network
- OR you have a directory on your "cloud" server with WordPress ready to go
Step 1 Decide Where to House Your Intranet
When I was originally toying around with the idea of using WordPress as an Intranet I figured the setup would be minimal, our computers were already connected to a network and "web sharing" could simply be enabled to share files. With MAMP running and WordPress dumped into a directory, we were all able to see the Intranet "WordPress" site. Although this is one way to do it, our Intranet needed to be accessible via other locations, and without an extra IP laying around we decided to host our "Intranet" in the cloud.
Going With the Cloud – Extranet
If you plan to house your Intranet in the cloud, it might be helpful to restrict access to the directory. You can do this a couple of ways:
- Force login before displaying your website
- Edit your .htaccess file to restrict outside IP addresses from viewing your website
If your company's Intranet is going to be hosted in the cloud, you might invoke both of these methods for extra precaution.
Editing the .htaccess File
If you plan to edit your .htaccess file, you'll need to know your IP address and the addresses of those you wish to allow access to. You can find your IP quickly by going to Google and typing in "What's My IP?" Once you have the necessary IP addresses, you can start to edit your .htaccess file.
To do this, open your .htaccess file and add the following lines, replacing the IP address with your own.
order deny,allow deny from all allow from 22.214.171.124
If you are allowing multiple IPs to access your site, just add another line that allows another IP.
If you decide to host your Intranet on your own network, you will want to consider whether or not you want to have access outside of the network (i.e. accessing it securely via anywhere). This will require a static IP that you'll have to talk with your ISP (Internet Service Provider) to get hold of.
Step 2 Setup Your Network ( MAC OS X | Windows 7 )
In a perfect world, every computer would be able to support the latest and greatest OS versions available and they would automatically upgrade for free – unfortunately, that isn't the case. These next steps should help you grasp setting up your network. They will likely differ based on which OS you're running and whether you're on a PC or a Mac.
Create a Network With Windows 7
As much as a I despise Windows 7 at times, it does make creating a home network fairly easy if you already have devices that support it. Below are very watered down steps for creating a network. For detailed instructions, Microsoft has a quick 6 step process to setting up a network that is easy to follow.
- Purchase or find a router and network adapters for each computer you want to use on your network
- Setup your router
- Connect your computers to the network
- Create a homegroup and allow file and printer sharing (found via the Control Panel)
Create a Network With Mac OS X Lion
Creating a network with a Mac is a pretty simple process as well.
- Click the AirPort status icon in your menu bar
- Choose "Create Network" from the drop down menu
- In the pop-up window, give your network a name
- Select a channel number from the Channel selection box
- On your other computers, click on the AirPort status icon and join them to the network you just established on your other computer
What I've done in the past to provide a WordPress Intranet (on a Mac based network) is enabled web sharing in addition to setting up the network. I have MAMP installed and running while I'm logged in to my computer. I then created a directory in the htdocs of my MAMP application files for our Intranet website. As long as I've got the MAMP server on, the other computers within the network are able to access and use the site. This is likely not a practical way to go about it, but just one way to do it.
Step 3 Plugins for WordPress Intranet
Probably one of WordPress' best assets is its ability to be expanded on with the use of plugins, which is exactly what we're going to do next with our Intranet. I do not suggest going "plugin crazy" and installing everything under the sun, but there are a few that get the job done nicely.
WP Document Revisions is a robust document management system. It provides version controlling and was constructed for time-sensitive, collaborative projects. This plugin has a wide range of features, including access control for documents that need to be kept private, password protected, or public. If you need to make this plugin more "customized' you can easily add custom taxonomies.
BuddyPress can be a highly beneficial component of a WordPress Intranet site. Its built in functionality for groups and group management, profiles, messaging, blogging, forums and its wide variety of compatible plugins make it a very desirable asset. You could potentially base your entire WordPress Intranet around BuddyPress, giving your organization its own internal "social network" for communication.
CollabPress is an awesome project management plugin for WordPress. This plugin is ideal for Intranets that need to track projects, tasks, due dates, project assignments, activity logging, etc. This plugin also comes prepackaged with BuddyPress group integration – which could make for an even more robust BuddyPress powered Intranet.
Avoid installing plugins for things that can easily be created yourself, such as custom post types and taxonomies.
Step 4 Themes
When deciding to use WordPress as an Intranet, you should consider developing your own theme. When planning an Intranet "theme," there are some things you may want to consider:
- What purpose will your Intranet serve? – House documents, forms, track/check in on projects, activity logging, etc?
- Who will have access to the Intranet and how much access will they have? – Will employees be able to directly edit, update or add information?
- What other features are important to incorporate in your intranet? – Feedback forms? Image/File uploading? Client and Employee directories?
- What custom post types will you need? – Clients? Projects? Departments?
Having a solid plan for your Intranet structure will go a long way in the planning and development of your theme. The more organized and detailed you can get the easier it will be to setup.
Pre-Made Intranet Theme Solution
P2 offers a status-update-like environment and could potentially be a great jumping off point for a WordPress based intranet. P2 provides inline commenting and editing of posts and also allows for real time updating. This could be an ideal solution for those looking for a project based reporting system as an Intranet.
Having a WordPress based Intranet can improve your workflow and often times your communication with your employees. It allows important company resources and project information to become readily available.