Hello,
A few weeks ago, I was on my morning walk when I noticed a desktop computer and monitor in a trash pile along the side of the road. I can't bear to see computers go to waste, so I found the owner of the trash pile and asked him what was wrong with the computer. He looked to be in his late 70s, so when he said that it "went kaput" with a blank look on his face, I had a feeling I should be able to fix it. He was more than happy to let me have it, and after a little bit of tinkering, I discovered the problem was only Windows XP-related (The SYSTEM32 folder had been deleted), and the computer itself was fine. My first thought was that it would be interesting to turn it into a dedicated server and host my websites on it; I have been building sites for a few years now, but never actually attempted to create my own server - I've always used shared web hosting.
I can't find much information on the machine, but I am fairly sure it is
this. I am not particularly good with hardware, but it seems to me that the specifications of the machine are more than sufficient for my needs (Mostly lightweight WordPress sites) - please, correct me if I'm wrong.
Before I embark on getting the server up and running, a project I am undertaking with a good friend of mine who is also very interested in Linux, I have a few questions.
1.
Security. What extra precautions must I take to ensure that the server (Apache) can not be hijacked? Is it possible to somehow attack other computers on the network through the server, using the server as a portal to the other systems on the network? There is only one computer on the network which is really impportant, but its contents are confidential and it is critical that it not be compromised.
2.
Interface. I had read somewhere that it was not a good idea to install a graphical desktop environment on a server. Why is that? I am not very skilled with Terminal/Bash yet, despite having used Linux since late 2010 (I have basic knowledge of things like sudo/mkdir/cd/ls), and while I would like to learn its mysterious ways, it would be quite intimidating to dive into administering a server using 100% CLI.
3.
Remote Access. As I mentioned earlier, this is a project I will be working on with a friend. He needs to be able to get into the server and administer it (upload/remove/edit files, create directories, and other common administration functions) from his home (Windows 7 + Linux VM's) computer, although the server is/will be at my house and we are a few miles apart.
4.
Email. How simple is it to set up a mail server in addition to the http server? (To be able to create email addresses @ the http domain and send/receive messages from those addresses)
5.
DNS. The addresses I will be hosting are a mix of subdomains from
freedns.afraid.org (which can be pointed to nameservers or A records, among other things) and domain names registered with
Domain.com (which seem to require pointing to nameservers, although I am not sure. There is a mysterious option to "register nameserver" which looks similar to freedns' A record pointing. Is registering a nameserver the same as allocating an A record?) Would pointing the nameservers to a service like
Point let me use a domain with the server? I was under the impression that one needed to learn port forwarding to use I do not quite understand port forwarding yet - I have been into my Linksys router and tinkered a bit, but I can't say I know enough to be able to competently forward port 80 to the right place.
Any help with these questions would be greatly appreciated. Thank you for your time.
Lawrence