(E-Mail Removed) wrote:
> hi guys,
> i've been thinking aboutbuying a server and hosting and administrating
> a site
> and setting up a email registration(like gmail and all),subdomains
> etc. all the stuff hosts don't provide, at least affordable ones. is
> this possible?
Of course it is possible, but the fact, that you're asking about it clearly
show, that you clearly lack the required knowledge. The folks on c.o.l.n
will gladly help in your steps, gaining the required knowledge, but rest
assured, that it will take at least 2 years to learn everything that is
required.
First you must understand IP networks, and this is both IPv4 and IPv6. The
topics to cover are addressing and subnets, routing, probably tunneling,
too. IPv6 is not yet in widespread use, which is a pity. But many of the
concepts of IPv4 and IPv6 are similiar or even identical, and IPv6 will
become the predominant protocoll on the Internet eventually.
Next you must know, how to setup a server operating system, how to properly
secure it and keep it secure. One can spend years on learning all the
issuead on that. Actually you must not stop learning, as it's a moving
target and as new attack vectors are researched the practices in securing
stuff constantly expand. You also should learn how to implement QoS,
traffic limiting/shaping and probably bandwith limiting: Traffic causes
costs, and a single (D)DoS attack may easily excess your traffic quota - or
choose a hoster that povides unlimited traffic, but those usually (severly)
limit your bandwidth if you cause to much traffic.
Once you've got that, you must learn about the basic Internet protocols.
These are DNS, HTTP and e-mail. DNS is easy to understand, but the
procedures involved sometimes look obscure. HTTP is easy enough, but
provides a lot of pitfalls. But e-mail is a nasty and overly complex
subject. You've got to deal with at least 3 protocolls: SMTP, POP3 and IMAP
and a lot of unpleasant stuff.
You'll also need some sort of database to store stuff like e-mail addresses,
and the like in it. So you'll also need advanced knowledge about databases,
and there both the key->value and the relational kind. Knowing how to use
and programm for existing database systems is sufficient. Developing a
database system from scratch is a science itself.
Which brings us to programming: Administration using just the bare command
line and manually editing configuration files and databases works for small
sites (<10 users), but it's tedious. But at least when it comes to managing
(sub-)domains in conjunction with e-mail and user account you'll want to
have some scripts to automate stuff. So'll have to learn at least some
proper scripting language. Perl, Python, Ruby.
Apart from that you'll also have to deal with the leagal stuff. Running a
server puts you in responsibility for everything that happens on that
system. If your server gets hijacked and is used for illegally distributing
copyrighted material, CP or as a proxy to attack other systems you'll end
up in serious trouble. So be sure you've secured your system well. And it's
always a good thing to know some good lawyer(s) specialised in Internet and
communication laws.
Setting up a server lightheartedly is not a very good idea.
Wolfgang