Home Technologies Contact Us | ||
Date: Fri Jan 23, 2004 1:21 am
Topic: Article 7- Basics of running your own server It's been quite some time since I posted an article.. I found this one 3/4 done so I decided to update it and finish it up... Ok.. I've had a request to whip up an article about the basics of running your own server. Nowdays there are many solutions to running your own website (hopefully running with PHP scripts). People can use a cheap and simple virtual hosting type setup, if you have a larger site you may want to look at your own server. Either paying for a dedicated one, or running one at home, perhaps on your cable or DSL connection. Firstly why would you move from a virtual hosting environment to a dedicated one? Most likely you have grown your site larger than most virtual hosting environments were meant to handle. Perhaps you: - require extensive amounts of disk space - transfer extensive amounts of data - use extensive databases to generate your pages - need a very custom configuration of php/apache that cannot be handled by vhosting Now if you think you are ready to move your things out to a dedicated server, you need to be ready to do some setup and administration. I'm only going to focus on setting up a generic linux/apache/php/mysql webserver in this article.. If you wanted alot of this article could probably be used to aid you in setting this up on a win32 platform. Firstly decide if you want to pay a service provider for a dedicated server or run one at home (hopefully your ip is quite static). If you want to look at a few providers that offer dedicated servers, here are a list of 2 that I have heard are not bad: http://www.serverbeach.com (99$US/month for dedicated machine) http://www.unitedcolo.com (99$US/month for dedicated machine) Now if you decide to run something at home, you'll need to scrape together the parts to get a running machine.. Now keep in mind a server doesn't have to mean dual cpu, gigs of ram, etc.. For most websites you could get away with a Pentium 2 machine with 128MB of ram and a 5+GB harddrive and a 10mb nic. We'd all love to have a kick butt fast machine, but for most smaller websites (not using super dynamic content) can get away with a rather modest machine. Get the machine together and install a linux distribution on it.. I'm not going to go thru this.. There is plenty of support out there and most distributions are very automated in the install. Now I do reccommend using a 3rd party machine for this.. Don't use your main PC as you'll most likely wipe out all the data on the harddrive, and if the setup doesn't work you won't have a working machine to search the web for support. Go out and grab a 150$ clunker machine, it may take a very long time to compile/install alot of stuff but you'll have a working machine to use. This is a step that SHOULD be done before you physically connect your linux machine to the internet. The internet can be a rough place and people will always try to break into other peoples systems. Take the time to secure your machine. This basically means setting a good password, and turning off all the services that the system has that you don't need. Search the web for a how-to to do this. Once you've got linux running on this machine, make sure your network card is working, otherwise you won't be able to talk to the outside world. Next step is to establish connectivity thru your cablemodem or DSL.. Now this is where things get a little more complicated and I want to spend as little time as possible. Your machine needs an IP address. There are a few options here, connect your linux box directly to the cablemodem via a hub/switch, so that both your PC and linux machine can get an external IP address. Option 2 which is more likely for DSL. Most DSL modems uses PPPOE to connect to the internet. While there is a PPPOE client for linux I'd rather not get into it.. I'd suggest getting yourself one of those DSL/cable routers (they look like a 4 port hub).. you plug the router into the cable/dsl line, configure it and then as many computers behind it you want. The only special thing in this case, is that you will need to configure the DSL/cable router to forward port 80 (http) to the ip address your linux box has been configured as internally, as the router is acting like a firewall now. If you want to run PPPOE on your linux box, look for roaring penguin PPPOE client (comes with some distros now, otherwise search freshmeat.net for it) All that behind, you've got connectivity with your machine.. If you went with a colocation decicated machine you don't have to deal with any of this, the ISP will just give you the IP, login and password of your machine and you are fully setup. A few quick notes on managing servers. It can be time consuming! Now most of the servers that I manage host a maximum of 10 sites.. Some of them just 1.. In that can you can have a very unique setup and not have to worry about configuration issues.. One application I have recently started using is called Plesk. It's a hosting application that runs ontop of linux, and manages everything on the server (databases, virtual hosting, email, ftp accounts, etc). And if you are going to host a wack of sites on a server, this program may be well worth looking into as it cuts administration time down extensively. Just a note, I don't work for these people or get any referrer fee *Wink* I have just been using it lately and found when hosting 40+ sites/applications on the same server it reduces adminstration time. At this point your going to want to install apache/mysql/php. You can either opt to do a RPM/DEB install if you are using a distribution that supports packages. I prefer to custom compile all of those myself to disable and remove alot of functionality that I don't use. I wanted to keep this article short and not very detailed, but to encourage people to go out and experiment. You only learn something by going out and attempting it. Even if you fail or run into difficulties you'll end out on top in my books. My only advice is be sure to not connect any systems up to the internet that are not properly secured from being broken into and used against other hosts on the internet. Don't decide to host your company website at home ;( As great as the idea might sound at some point, home connections DSL/Cable are to be considered unreliable for commerical hosting. When you can get a dedicated box for 99$ a month, it's hard to justify running anything critical at home. Please post feedback, questions, or more importantly what you want me to write about in the future. I'd like to write more on the topic of PHP programming and design. |
||