|Should you have your website on an Internet Service Provider or have your own LAMP server? The answer might surprise you.|
Having Your Own Server
There are few things that can make you feel more helpless than having your entire website business hosted on an ISP server and it is not working and not knowing what to do to fix it. Or it is super slow! At times like these the technical difficulties of having your own server seem small. It is not as difficult to have your owner server as you might think and there are so many advantages compared to using a shared hosting ISP account. In fact, it is better to use a hybrid solution: an ISP and your own server. The act of moving your site from one server to another and developing on one for another reveals many problems whose solutions give you a much more robust site.
Before going on I want to mention some things about keeping your server up-to-date. Running a server with old software is the biggest security hazard (because the security holes are well documented on the net). Thus the sever solution you choose should be one where you an keep it up-to-date. Supposedly this is a big reason for choosing a dedicated or cloud server, right? They keep it up-to-date for you. Wrong. A typical cloud or dedicated server is fitted with a server manager software like Plesk. It would be nice to imagine that Plesk is updating everything, but it is not. All the LAMP components just languish, waiting to be hacked. This is a key advantage of configuring your own server, you can use simple command to update all the components.
Other reasons to have your own server
Easier and faster development on local network: Developing web applications and sites on a local server is far superior to trying to work on one across the internet, even if the internet is not working your little mini-internet in your office is. You can work directly on the site-related files across the local network link using your text editor or development tools and at full local network speeds. A web server attached to your local network also acts as a standard windows file server. It presents the website as if it were a folder on your local computer. Copying larger files and large numbers of file back and forth is therefore quick and easy. This obviously makes backup easy also.
Speed: An ISP machine might be running hundreds of sites, obviously your one-computer-for-one-site is going to respond faster. However the download speed from your local server may be slower than from an ISP. This is not a problem, put large files for downloading on a remote ISP server and the website pages, database and program code on your own server.
More up-to-date: ISPs are hesitant to upgrade to the latest versions of Apache, MySQL and PHP encase customer websites on the server experience problems as a result. It is common for ISP to be years behind in the versions they support. If you have your own server you can stay much more up-to-date and benefit from a more stable server foundation for your sites.
More flexible: ISP servers are often set up in ways that minimize the complaints and problems from customers. Servers are set up conservatively and features that would be valuable for more capable web developers are not available or configured as needed. If you have your own servers you can set up things any way you like and you will find that you will quickly become more knowledgeable than support people at you ISP.
More secure: ISPs administrators set their machines up to work for thousands of customers and therefore do not focus on security requirements specific to individual websites. Many of the factors affecting security require more control of a server than an ISP is willing to provide access to for security reasons related to keeping accounts separate. Additionally, the fact that an ISP provides access to a piece of its server means that you have been given part of the information you need to break into other sites on that server. Hackers who can compromise an ISP server therefore have access to the thousands of sites they host. If they put drive-by-download trojans on your server then every visitor to your site could be infected! But if your machine is unique then the infiltration payoff is access to only one site.
Can double as a router, gateway, firewall, email server: Many if not most of the network routers you can buy in stores are simply small Linux computers configured to act in a specific way. Thus a full Linux webserver obviously has much more capability. You can, for example, connect your Linux server directly to the incoming internet connection and then connect all other computers in your office to it through a hub or wireless network. It will act as a web server to both your local network and the entire internet. You can set up many websites and control how much access the internet has to each of them. Since the server is also a gateway, the internet cannot see the computers on the network attached behind it (although you can open any channel you need using port-forwarding on the server). Another very nice benefit to having this server is that it is also an email server local to your network, that means reading your standard email and opening large attachments is network-fast.
Centralized storage also a file server: Since the Linux server behaves as a Windows file server it can become the central place on your network where all files are stored. You can setup user accounts for everyone in your office or company on it and configure office machines to view these accounts as another Windows drive. That means that all software you currently use can store its files on the server. For backup, you can simply backup the server. This can be done by a simple file copy to a machine on the network or by using an automatic backup system.
Second best choice
There are some arguments that this is the best choice, but wait till I am done. You can have all of the above plus technical support by renting a dedicated server from an ISP (e.g. ThePlanent.com, APlus.net) for as little as $60/month. They will literally unpack a new computer and put it in a room with 10,000 others, connect it to the net and give you login information via SSH and a web control panel that looks similar to one you would have at an ISP. Actually, the control panel is the one the ISP uses, you become an ISP! You can actually setup multiple websites and URLs on the machine and setup accounts for others and do billing, etc. You get a support phone number and a live chat page (support is normally not available in their basic server packages, you have to buy the add-on control pane)l. They will try to sell you alot of other stuff (especially firewalls), but do not buy it at the start, remember that a standard LAMP server has a built-in firewall that is infinitely configurable, firewall devices are usually just Linux computers anyway.
Combine 1 and 2
Here is a secret if you are overwhelmed. Inquire about getting a dedicated server and find out exactly what operating system and version they use (e.g. CentOS 5.2/Plesk) and one what sort of hardware (normally they have different hardware options that are clearly described e.g. Celeron 512K 80mb). Get a computer of the same type and get the same operating system and control panel software. Install everything and get the machine running and connect it to the net. Now buy a dedicated server from an ISP and get it working as your server step-by-step using their technical support. At each step, use their technical support to help solve the problems on both your dedicated machine and your local one (of course do not tell them you have a local one). When everything is set up and running, use the dedicated machine as your primary site and your local one as the backup and testing ground. After a year when you are confident, cancel your dedicated account and run with your local machine. If you cannot make the local machine work, continue with your dedicated account. One problem you can encounter is that the web control panel can be very expensive, perhaps $2000. In such cases you could use a demo version on your home server. Or you could use an inexpensive control panel (like WebMin). Just because a control panel costs $2000 does not mean it is a better server manager, the $2000 is likely buying better client billing and management or more flexible management of large numbers of client website and IP addresses. The basic job of a server manager is to control the configuration text files of servers and languages (e.g. Apache, PHP, FTP, etc) and restart them after changes.
Third best choice
A LAMP server setup can be installed locally on any Windows computer (and is built into any OSX machine). That means your Windows, Linux or Macintosh computer can act as both the server and the client for development work. For a step-by-step on getting started, see the bottom of the LAMP Server page.
Using a server as a client
A server can act as a client, faxing or email sites are examples. These sites provide a web interface to an activity normally carried out on a client computer and the server behaves as a client when it goes out to get needed information. As we will see, this is a key to creating an administration page that enables you to control your world in one place.
Only custom-written web components can go down any road you choose!
Suite 407, 1595 Southview Drive SE, Medicine Hat, AB T1B 0A1
|CCBot/2.0 (http://commoncrawl.org/faq/) (3)|