Using WordPress for your Intranet Website
Intranet websites can be extremely beneficial for small and medium businesses, but they are often overlooked, or simply ignored. I think that any business who’s employees spend a lot of time on computers, and any business that has constantly updating news and information can greatly benefit from using an Intranet website.
A few years ago we decided to create an intranet website for the company. We compiled a list of everything that we needed in order to have a successful intranet.
Important factors of our Intranet:
- Simple publishing platform in a blog format (Reverse chronological).
- Commenting and discussion management.
- Several static, easily accessible pages.
- Ability to upload documents.
- Integration with RSS.
After looking at a handful of idea, including some complicated CMS systems and custom programming, we decided on a blog publishing platform. WordPress was by far the most inclusive, easily editable, and free program that was available at the time, so it was an easy choice when we finally decided to get started.
Upgrading is simple, and WordPress support is readily available.
Our Setup:
We have always been a get it done for the lowest cost possible, do it yourself sort of business, and we didn’t have a server at the time that could be used for the Intranet. We went straight to ebay to find what we needed. Since this server is never made public to the internet, the physical and software security is quite a bit less stringent than with a web server.
We opted for a used Dell Power-edge 1550 server, and we would use Linux as our operating system. The Dell cost about $150 plus shipping and came with 512Mb of Ram and 2 – 1.5Ghz Pentium processors, and a 15K RPM, 17Gb SCSI Hard Drive. This was more than enough machine for what we needed it for and was extremely cheap. We later opted for a firewall ‘just-in-case’, but for many small companies the Linux software firewall can be enough if configured properly. We are using a Sonicwall Pro Hardware Firewall in addition to the Linux software firewall. The Sonicwall cost about $150, and was a refurbished unit with a warranty. This adds an extra layer of security in case a company computer is compromised.
Setting up the server:
The server is setup using a very simple Fedora 5 core, mysql, and php. Here is a tutorial on setting up this exact Fedora 5 server setup. All you will need to do is make the Fedora 5 installation disks (5 total), and follow these steps to get everything running. The only problem we ran into was the root directory needed the permissions changed in it before it properly displayed the website. This folder was located at /etc/www/html and should be chmod’d so that it is readable by everyone.
Before starting, decide on a domain name for your server, that you have control over the DNS / hosting for. You can use something like intranet.yourwebsite.com. You need to make sure that the subdomain intranet directs to your IP address. Setup the server with a static IP address on your network, and register that IP address with your DNS Server for that domain (Should look like intranet.yoursite.com 1440 IN A 192.168.10.10). Our DNS is controlled by our web server, so the record was added to the web server. Alternately you can edit the hosts file on each computer in your office that will connect to the intranet. Note: Be absolutely sure not to accidentally use a public IP address, as it will route outside of your network and cause problems.
Reserved IP Addresses (These are OK for Intranet use):
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
169.254.0.0 – 169.254.255.255
Since this server is not located on the internet, we did not setup FTP. We edit the website directly by using Samba which proves to be much more efficient for us and doesn’t open any potential security hole. FTP can still be setup if this is more convenient for your needs.
Database Setup: I recommend installing phpmyadmin which can sometimes be tricky, but it makes managing a mysql database much easier. You can do everything on the command line, but if you don’t have a lot of sql/mysql experience, phpmyadmin will be a much easier and understandable method.
Once the server was setup, and php was verified to be working, we installed WordPress. Always install the most recent stable version of WordPress to avoid having any potential security or other problems.
WordPress installed without any problem and instantly we had our intranet website. If you do have problems, WordPress has support forums, and it is rare to be the first person to have a specific problem with WordPress.
Upgrading is simple, and WordPress support is readily available.
Our Setup:
We have always been a get it done for the lowest cost possible, do it yourself sort of business, and we didn’t have a server at the time that could be used for the Intranet. We went straight to ebay to find what we needed. Since this server is never made public to the internet, the physical and software security is quite a bit less stringent than with a web server.
We opted for a used Dell Power-edge 1550 server, and we would use Linux as our operating system. The Dell cost about $150 plus shipping and came with 512Mb of Ram and 2 – 1.5Ghz Pentium processors, and a 15K RPM, 17Gb SCSI Hard Drive. This was more than enough machine for what we needed it for and was extremely cheap. We later opted for a firewall ‘just-in-case’, but for many small companies the Linux software firewall can be enough if configured properly. We are using a Sonicwall Pro Hardware Firewall in addition to the Linux software firewall. The Sonicwall cost about $150, and was a refurbished unit with a warranty. This adds an extra layer of security in case a company computer is compromised.
Setting up the server:
The server is setup using a very simple Fedora 5 core, mysql, and php. Here is a tutorial on setting up this exact Fedora 5 server setup. All you will need to do is make the Fedora 5 installation disks (5 total), and follow these steps to get everything running. The only problem we ran into was the root directory needed the permissions changed in it before it properly displayed the website. This folder was located at /etc/www/html and should be chmod’d so that it is readable by everyone.
Before starting, decide on a domain name for your server, that you have control over the DNS / hosting for. You can use something like intranet.yourwebsite.com. You need to make sure that the subdomain intranet directs to your IP address. Setup the server with a static IP address on your network, and register that IP address with your DNS Server for that domain (Should look like intranet.yoursite.com 1440 IN A 192.168.10.10). Our DNS is controlled by our web server, so the record was added to the web server. Alternately you can edit the hosts file on each computer in your office that will connect to the intranet. Note: Be absolutely sure not to accidentally use a public IP address, as it will route outside of your network and cause problems.
Reserved IP Addresses (These are OK for Intranet use):
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
169.254.0.0 – 169.254.255.255
Since this server is not located on the internet, we did not setup FTP. We edit the website directly by using Samba which proves to be much more efficient for us and doesn’t open any potential security hole. FTP can still be setup if this is more convenient for your needs.
Database Setup: I recommend installing phpmyadmin which can sometimes be tricky, but it makes managing a mysql database much easier. You can do everything on the command line, but if you don’t have a lot of sql/mysql experience, phpmyadmin will be a much easier and understandable method.
Once the server was setup, and php was verified to be working, we installed WordPress. Always install the most recent stable version of WordPress to avoid having any potential security or other problems.
WordPress installed without any problem and instantly we had our intranet website. If you do have problems, WordPress has support forums, and it is rare to be the first person to have a specific problem with WordPress.
Customizing the website:
Like this blog, we used a heavily modified template based on the original blix design. We added several custom features that separate different types of posts / news into columns that were more usable for us. Custom programming is not extremely difficult, but I recommend having some general php editing experience as well as some understanding of how WordPress works.
How you customize you intranet is entirely up to you. Overall, this is a very reliable, low cost server, that is extremely fast for having such a low price tag. Dell 1550′s are readily available, as are replacement parts for them. They are rack servers, but other tower servers with similar specs should be available at a sub-$300 price.
A few other tips:
Make sure your uploads folder has the correct permissions on it or you will not be able to properly upload files or images to the server. This is located at: html/wp-content/uploads.
Backups can easily be managed using Cron and Samba, or can be done manually every week. Database backups should be configured automatically and should be backed-up to another computer.
If you plan on upgrading the RAM in these servers, you need to have paired RAM that is both ECC Registered and Buffered. This RAM can get rather expensive, so try to get a server with at least 512Mb and preferably 1Gb so you don’t need to upgrade.
Relevant links to this post:
WordPress Download
Blix WordPress Template
Older Sonicwall Product Downloads
Dell PowerEdge 1550 Documentation
Post a Comment