How to Set Up Your Own Web Server

Ok, so you already decided which CMS platform to use for your website project, and created an account in a free web host. You are blogging, changing themes and templates, adding plugins/widgets for your website and now you are the webmaster!

Have you ever wondered what would be the next step in the web management? How does all the functionality that you use come together? What is happening behind the scenes? How does your web server work? Maybe now you want to have better control of the appearance and behavior of your pages, or want to create and test new components without having the risk of crashing your website…

It is time to start working in the backstage and make some major changes!

Your CMS application (e.g. Drupal, Joomla, WordPress) is built on top of another software: a web server. All the configuration files of these programs are stored inside the web server and it is very important to know how your server works and is organized if you want to fully customize your website. Some hosting provider companies offer their web servers for free or, if you pay a fee, you may have access to additional features and support. But it is possible for you to have your own web server! And better yet, like any other program you just have to download it! Some options of free HTTP servers (HTTP is the protocol used to deliver HTML documents, images, web resources, and any kind of file through Internet) are Apache HTTP Server, nginx, and Yaws.

However, CMS applications require more than just a web server to run. In order to make possible for us to change the design of our website, store all the posts and comments in our blogs, or translate a whole page in a single click, other programs are required to be installed in your machine. A server-side scripting language (like PHP, Perl, or Python) and a database server (such as MySQL) are almost always a prerequisite for a content management platform but other types of software may also be required for a broader functionality.

And here things start to get more complicated… Putting all this software to work together!

If you never configured a web and database server, and then added script and management modules, doing so could give you a lot of headache! You would need to configure many files (and always be careful to not change more lines than necessary), set up variables, create directories, and you may feel overwhelmed by the documentation.

Fortunately, some companies prepared solution stacks (installation packages) with all required – and other useful – software to put your own application sever up and functional in few minutes. These installers are called AMP packages (AMP stands for Apache HTTP Server, MySQL and PHP) and contain a set of open source components that deliver a complete web solution.

AMP packages usually receive an “additional letter” according to the system platform they are designed to: WAMP for Windows, LAMP for Linux, MAMP for Macintosh, SAMP for Solaris, and so on. You may also find some cross-platform packages that will not follow this nomination.

When searching for an AMP installer, you will come across many options of applications. To make your job even easier, we listed in Table 1 the most useful, up-to-date, and free WAMP packages available:

How-to-set-up-your-own-web-serverTable 1 – Free WAMP software list

Something worth noticing is that some of these WAMP packages are not designed for production or web hosting. Their purpose is to be a development and testing tool for your code before it is deployed to your host provider!

Other popular solution stack for Windows is Microsoft Web Platform Installer, which uses only Microsoft technologies and changes:

  • Apache server for Internet Information Services;
  • MySQL for SQL Server Express;
  • PHP programming language for .NET Framework.

UNIX and Mac users usually don’t even have to worry with setting things up. Because of the popularity of AMP software, the majority of latest UNIX-like and Mac OS operating systems already have these set of applications pre-installed!

Regardless the AMP package, all of them has one thing in common: making our life easier! They make the process of installing and running your own web server straightforward, and adding modules or your favorite CMS applications will not be as complicated as before.

Now you can start tweaking your favorite CMS code without breaking your official website and really be the admin!