Now, we are going to walk through installing a "LAMP Stack" Linux-based Webserver.
I am going to assume that the hardware has been tested and found to be fully functional. For a bare-bones web server, you will need at least the following:
- Motherboard and CPU
- RAM, at least 256MB
- Hard Drive, at least 10G
You will also need something from which to boot the Linux installer. On older hardware, this will likely be an optical drive (CD/DVD). On newer stuff, you can boot from a USB stick as well. To see what you can boot from, turn on the computer and check out the BIOS settings. There will be something about boot options, boot order, or something boot. This will show you what you can boot from. Whichever options are here, be sure to have something it can boot from. If you are using a USB, be sure to use one that is at least as big as the ISO you will use. Typically, a 4GB USB is adequate for *MOST* Linux installers, but if the installer is a full DVD (4.4GB), you will need an 8GB USB. For the sake of this article, a 4GB card would be adequate.
Before we begin, I will assume that the device we are installing to is powered and connected as necessary; for an old Desktop PC, that would include keyboard and video, for a server, either keyboard and video, or console access. Once the initial install and configuration is complete, we'll be doing the rest of the work remotely from another PC.
- Download Turnkey Linux LAMP Stack:
- Either burn the ISO to a DVD, or make a bootable USB. There are many many tools and methods to make a bootable USB from an ISO, but UNetbootin is a very good cross-platform GUI option for Linux, Windows, or MAC.
- Put the media (CD/USB) into what will be your new server, and boot from it. You may need to alter the boot settings to make it boot form the media first.
- Follow the on-screen instructions. In short, you will format the HDD and install Turnkey Linux LAMP Stack, configure a hostname, configure an interface and default route, and that's all.
- DONE! You now have a fully funtional webserver!
Great! So now all you need to do is open a web browser on another machine connected to the same network, browse to http://<IP ADDRESS>, and voila, you have a test page. At this point, you have a fully functional webserver, but no actual webSITE set up. From here, you can use any number of options to create a website... You can start manually coding your pages in HTML or PHP, or use any number of pre-built web frameworks to create a "shell" site. Using this option, you would get a full website, all coded, without any content. Here are a few options:
This is by no means a complete or exhaustive list... These are just a few of the website frameworks I have personally used. Each one of these products will have it's own "install" process, but they are typically very similar, and very easy. In short:
- Download the package.
- Upload it to the server.
- Extract it to the /var/www folder.
- From a web browser, go to http://<IP ADDRESS>/install.php (or similar).
- Follow the on-screen instructions.
This is not to be taken as literal replacement instructions for these products, please consult their documentation for full install details. But that is the gist of what you'll be doing.
Next, you will probably want to allow the outside world to access your webserver. Assuming you are doing this in a home setting, this will likely be accomplished through some port forwarding. If you have a wireless modem/router combo from your ISP, this is what you will want to do. There are very many ways to accomplish port forwarding, depending on the exact nature of your router. One of the most complete resources I have come across is PortForward.com. The website is a bit fugly and not supremely straigh-forward for the navigation, but the info on how to set up port forwarding for almost all devices can be found there.
In another article, we'll go over a sample installation of one of the above products with a focus on the other work that needs to be done.