I host my own domain here at home. What does that mean? It means that I can run my own mail server, my own web server, etc...
I'm running with RCN as my cablemodem provider. Their service really has been close to flawless.
The web server allows me to write my own web page, such as it is. But beyond that, it allows me full control over the web server.
Running my own SMTP server is a very worthwhile endeavor. I get all my mail in realtime, instead of having to pop it from a server, or read it remotely via IMAP. If someone asks me for my email address, I just give them Then if I ever start getting any spam at that address, I just shut the address off. Also, I have lots of things I can do to almost completely eliminate spam. In addition, I run the majordomo mailinglist manager so I can run a few personal *email lists*. And when I send mail out I know it was delivered.
When I'm working on a customer's remote site, sometimes I want to be able to get access to my computer. I'm running an openssh server. The problem is securely solved.
And in this game, you can never be too paranoid. So I run a firewall to prevent unauthorized access.
The rest of this page will explain all the components you need to set up to get everything working. The only real committment you have to make is to have your machine running 24/7.
The next problem is to decide what distribution of linux you want to run. I run Red Hat. Currently, I'm good with that but that may change in the future. Other candidates that I would consider include Mandrake Linux. The important thing to keep in mind is that there are rpm based distributions and non-rpm based distributions. I have a strong preference for rpm based.
The advantage of rpm is that it's a simple way of finding out what's going on on your system. It allows you to very simply ask questions, like:
disable = no
in /etc/xinetd.d/finger. Then just edit your .plan file.#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /bin/loadkeys /etc/localkeymap.map f=/usr/local/lib/sounds/english.au [ -f $f ] && /usr/bin/play $f unset f
# Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 1 # Controls source route verification net.ipv4.conf.all.rp_filter = 1 #net.ipv4.conf.default.rp_filter = 1 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.conf.eth0.log_martians = 1 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1