Building your own website
Interested in building a personal webpage or a blog? Or perhaps a family events & holiday photo book/album online? But not interested in spending monies on domain & hosting? With a little effort you can build your own website and host it on your home-web-server at virtually no cost, besides Internet connection and electricity fees you should have when reading this.
Let see what you would need to setup a webserver.
What is needed:
- Internet connection (assuming you have one already). You need a reasonable upload-speed if you want to host a webpage. ADSL usually have faster download speeds than up-load speeds.
- Router with port-forward feature. Most home modem/routers have this features standard build in. Check the operation manual if in doubt.
- (Un)used computer. If you have an older PC somewhere lying around gathering dust, it is most likely a good candidate to be used as a server. There is no need for a monitor and keyboard & mouse to be permanently connected to the PC, but is needed during the initial installation. The CPU should have at least 2 cores, as in Pentium Dual-Core or AMD dual-core, or multi-core. Modern server software is written for multi-core software. PC's manufactured after 2006 are mostly OK.
If you want to experiment first, try it out in a Virtual Machine using VirtualBox or VMware. - Domain name. Although not strickly necessary, it makes it easier to remember than an IP address. A number websites offer free DDNS service; NO-IP, Free DNS Afraid , Securepoint just to name a few. The DDNS service will also update if the (dynamic) public IP address on your router changes
- Linux server distribution. There are many. By definition, a server does not have/need a Graphical User Interface (GUI). However A webserver can run perfectly on a desktop PC that is always 'on'. But running a GUI on an old PC would strain resources to the max and slowdown the server application. Even if you have a modern PC, running video games or other resource intensive apps will slow down the webserver app significatly. In other words, you want your server PC to be used for web-apps only.
In this exercise, UBUNTU-server is used. Other Linux-distro's will need different steps to complete the job. Most distro's have good online documentation and wiki's.