Forum Moderators: phranque
My plan is to lease a really cheap server without any intention of moving my sites. Reason: LOTS of time to make and fix mistakes without the pressure of "I gotta get this done now!" Then if I can get it done, I'll find a better server and do it again, then set up the sites.
But before I lease a server, I want to walk my way very carefully .. maybe 2 or 3 times .. through a/several "from the very basics" tutorial(s).
1 - Can anyone recommend some really thorough tutorials?
2 - Apache 1.x or 2.0?
3 - What version of Linux?
4 - WebMin control panel?
5 - Tutorials for adding applications (compiling?) from source .. like SwishE, etc.
Other advice?
Lease a not so cheap server with a good control panel (Plesk, cPanel...) and you will be running in two or three days.
Most of us here did it from scratch (some have learned to manage their servers, some of us don't).
Maybe you should too register a new domain (7$!) for testing pourposes if you are not sure.
I actually have about 15 websites that are now on a VPS. I also have a couple of domain names I can use.
I have a tendency to make LOTS of mistakes, ergo the cheap server. My learning is best done by example.
I have no problem about taking a month to make it work.
I think this might make a pretty good ongoing thread as I post my victories, failures and frustrations along the path.
"If you have an old PC lying about gathering dust why not set it up as a server in your home/offce."
Actually, I do but it isn't working .. not sure of the problem and I will not be able to get it to a repair facility for a couple of weeks or more.
I live in a relatively remote are of Thailand and gain internet access via satellite.
Also, I really don't want to tinker with Windows.
Any recommendations on tutorials?
I dabble with Fedora at home, which is essentially the enthusiast version of Red Hat. However, for a server, Red Hat Enterprise Linux would be more appropriate, or one of the 'white box' builds of RHEL such as CentOS.
I run CentOS on my old machine, much as Mack suggests, and it'll eventually make it onto my real server when I get the time to work on it!
Mack's advice is good - that's the way that I learned my way around Linux before letting myself loose on a hosted machine. It saved me a lot of heartache.
Bear in mind that most hosted unmanaged boxes come preinstalled and preconfigured in the most odd and insecure ways. You will at least need to learn how to secure a *nix box.
Having one at home to play with really is the ideal scenario.
TJ
But they can be had real cheap ..you can get them to run linux without too much trouble ..MS blocked them because they were otherwise selling a reasonably powerfull PC ( linux capable ) for it's day for $149.oo ..
You can ususally get an old xbox for less than the same spec pc tower ..
To learn how to do the linux changeover try here [xbox-linux.org]..
That way as as the others said you can learn your way around ..before spending monthly on a dedi what you can get a working second hand xbox for ..
I think one thing that I didn't stress well enough in my original message is the speed (or lack of it) with which I plan to pursue the project.
I plan on taking a *lot* of time studying and learning before I ever touch a server .. be it online or offline. (I don't have to be in a hurry to move my sites off the VPS that I have now.)
That's why I'm looking for all *learning sources* .. very basic tutorials.
The Apache documentation is pretty good until it comes to some of the more technical issues, then it takes a giant leap above my noggin.
So I'm still looking for tutorial on most everything.
"bear in mind that most hosted unmanaged boxes come preinstalled and preconfigured in the most odd and insecure ways."
TJ, what I really would like to do is learn how to start on a server with *nothing* installed and be able install and properly configure everything myself.
"You will at least need to learn how to secure a *nix box."
Yes, thank you for that perfect example. Do you know where I might find a tutorial or easy to understand documentation?
"Some distributions tend towards the enthusiast sector, which means new versions come out fairly regularly. Others tend to be more stable, and consequently a better bet for a server. Do you really want to be running cutting edge software on a mission-critical box?"
No, I want stable
"However, for a server, Red Hat Enterprise Linux would be more appropriate, or one of the 'white box' builds of RHEL such as CentOS."
I don't understand the term and implications of 'white box'. Is this open source that I can find on the Linux site or do I need to buy it?
Where can I find an online dummie style tutorial for installing and configuring. Most of the documentation I see assumes (and properly so, I suppose) that someone knows quite a lot already.
Thanks
You pay for Red Hat Enterprise linux. You get access to official Red Hat support for that, and the peace of mind that you're using an 'enterprise' distribution.
CentOS is the RHEL source code recompiled with the Red Hat logos taken out. It's as near as dammit identical to RHEL (and consequently Fedora). Other advantages are that the Red Hat documentation also applies to CentOS, you have a large Red Hat community and the RH documentation applies to CentOS too. It's free, but you don't get the official Red Hat backup.
This type of 'repackaged' distro is termed 'white box', and CentOS is one of a number of white box versions of RHEL.
Do you know where I might find a tutorial or easy to understand documentation?
It's probably a subject for another thread in itself. I'll get around to posting one up at some point.
In short, here's some basic pre-requisites you will have to do, and I'm sure some googling around will point you in further directions:-
Install a firewall
Scan for Root Kits regularly
Disable Telnet
Disable Root login and force SSH to use protocol 2
Secure the /tmp directory (mount with noexec and nosuid)
Secure PHP if you use it (disable unnecessary functions)
Disable gcc, wget, curl (explicity grant access when required)
Run Apache under it's own username (NOT root ;-))
I've put in bold what I consider the most critical, and what I find often wide-open on self-managed hosts when they come preinstalled from a batch CD.
WGET, curl etc in itself is a biggie - with that open and access to /tmp open (standard on most self-managed boxes), with a single http request I could get into your server and execute a bunch of scripts to do all sorts of damage. Or run my game server at your expense (that has happened to me).
Don't forget to update, update and update.
Oh, and did I mention update?
I can see you're probably going to spend many hours burning midnight oil to learn all this stuff fast, and I have no doubt that you will. But I still, with major emphasis, recommend you get a *nix box at home. Once you've picked your host and maybe even after you've got your new hosted box - do it anyway. Then install the very same OS on the local machine.
You'll find it incredibly useful I promise you. Even just for testing updates before installing them on the main machine. Last year, for example, I upgraded MySQL to find that the update actually broke a whole bunch of webpages on a site. It didn't cause a public problem because I had forwarning by installing it on my local box first. It's a damn good sandbox and will save you a lot of heartache.
To be honest I would put it as strongly as saying it's a requirement that you have one.
TJ
"I can see you're probably going to spend many hours burning midnight oil to learn all this stuff fast.."
Not *too* fast. I actually plan on taking my time. That may seem foolish in a way, but sometimes its good to learn for the sake of learning.
".. and I have no doubt that you will."
I wish I had as much confidence in me as you do.;>)
"But I still, with major emphasis, recommend you get a *nix box at home."
Okay, I'll have to get my computer fixed and maybe just get a new hard drive .. leaving the old windows on the old drive. Is 80gb enough?
"Once you've picked your host and maybe even after you've got your new hosted box - do it anyway. Then install the very same OS on the local machine."
Okay, makes sense
"You'll find it incredibly useful I promise you. Even just for testing updates before installing them on the main machine. Last year, for example, I upgraded MySQL to find that the update actually broke a whole bunch of webpages on a site. It didn't cause a public problem because I had forwarning by installing it on my local box first. It's a damn good sandbox and will save you a lot of heartache.
To be honest I would put it as strongly as saying it's a requirement that you have one."
Okay, I'll do that. You made me do pushups once and my arms are still tired .. so I don't want to have to do more.;>)
I'll look forward to your new thread on tutorials and such.
"CentOS is the RHEL source code recompiled with the Red Hat logos taken out. It's as near as dammit identical to RHEL (and consequently Fedora). Other advantages are that the Red Hat documentation also applies to CentOS, you have a large Red Hat community and the RH documentation applies to CentOS too. It's free, but you don't get the official Red Hat backup.
This type of 'repackaged' distro is termed 'white box', and CentOS is one of a number of white box versions of RHEL."
Okay, it only took me 2 days to figure out what RHEL stands for. LOL!
Now I understand. I think I can get a friend in Bangkok to get me a set of CDs and mail them down to me. I saw on the Redhat website that the download is 650mb. Or is that more than I want?
One thing I want to try is the most difficult approach first. I guess that is building from source? If that fails, then I will attempt an "easier" way. It sounds as if RPMs are easier to install.
I found the GNU website and dis some reading on their compiler. I guess I need that for installing SWISHE or SWISH++ for my website search.
I did install PHP and mySql on my windows desktop, so I guess I can install it on Linux .. *about* as easy?
[centos.org ]
In my view, throwing yourself in at the deep end with Linux is a thoroughly dispiriting experience. Even taking things step-by-step can be pretty frustrating.