Welcome to Linux, 2004
I'm glad to read that you're interested in starting out on Linux, using an "old PC"--a Pentium II-based system with 64MB of RAM and 8GB of disk space--to run a Web site, a mailing list server and a router for your home wireless network.
The good news in the hardware department is everything you need to do your projects should be supported in current Linux distributions. The most common hardware compatibility problem is the "dreaded Winmodem", which is a modem manufactured without critical parts to save a small amount of money. A Winmodem offers some functionality ordinarily offered by hardware in the driver. If you plan to use a modem with your Linux system, check and see if your existing modem is a complete modem, and replace it if not. There are ways to get the "dreaded Winmodem" working under Linux, but they're tricky and not as rewarding for a new user as the projects you're interested in.
All three projects you mention--Web, mailing list and wireless router--are good first Linux projects. The router is a little more advanced than the other two, so you might want to start with Web, then add the mailing list. Mailman, the most common mailing list software for Linux, needs to have a Web server installed for administration anyway. Then, try the wireless router if you want. There's no rush on that, as you mention you already have a wireless router installed.
The Web server Apache and GNU Mailman should be available as easy-to-install packages for any recent Linux distribution. You won't have to compile them from scratch as you might have read on some Linux sites--simply learn your distribution's package manager, the tool you'll use to add and remove most software, and install them using it. Becoming comfortable with the package manager is one of two key security skills you need as a new Linux system administrator. Mick Bauer, security editor of Linux Journal, will cover one popular package manager in an upcoming issue.
You also asked about StarOffice and OpenOffice.org. But isn't this going to be a server? It's usually best to keep a big memory-hog application, such as an office suite, off your servers. You might want to put off changing office suites until you have your immediate projects done. It's better to be satisfied with one working Linux project and use that as a base for moving on to the next. And you won't be happy running a desktop environment and office suite on a system with 64MB of RAM. Put 256MB on your Linux desktop when you buy or build it. You'll be surprised how much you tend to leave running when you're used to virtual desktops.
I usually recommend that new users start out with a project in mind. Working toward a goal is much better than simply setting out to get a bunch of stuff all working at once. Keep a good paper notebook of what you tried, especially changes to config files. You'll be amazed how quickly you can forget a useful setting or tip.
I'm also glad to read that you're giving Linux its own box and not trying to do a dual-boot. Besides the extra layer of hassle in installation, when you dual boot, you somehow always seem to find that the application you need is on the other OS. Dual-boot slows you down.
Now for the beginner's big question: what distribution to install? One unfortunately popular option is to burn a bunch of CDs and try installing from each one until you get stuck in the installer. Then, burn a CD of a different distribution and try again until the installer finishes.
But ease of install and long-term ease of maintenance sometimes don't go together. I try to look for the latter. The former is easy to deal with in one evening of coffee drinking, Web searching and cursing--the latter will bug you for years.
Before you pick a distribution, decide where you want to go for support. If, as for most beginners, your chosen source of support is the local Linux user group, browse the mailing list archives and see what the most helpful people on the list are using. Or, visit the installfest. Your system is old enough that any fairly recent distribution will install "ut of the box.
I mentioned that you need two key security skills. Besides using the package manager, you also need to read e-mail. Subscribe to your distribution's security mailing list to stay current on the latest security issues.
You mention that you plan to share files with your Microsoft Windows systems. Every common distribution includes Samba, and you can set up a shared directory fairly easily. If you're going to run Samba, learn to use security tool number three, nmap, so that you can check quickly that you aren't sharing files outside your home network by mistake.
Many of the regular LJ readers are going to recoil in horror from the idea of running a LAN-oriented service such as file serving on a bastion host that's exposed to connections from the outside. But Samba on your bastion host probably is no worse than your current pre-Linux network; and more likely, it's an improvement.
How you want to set up printing is up to you. While you're still learning Linux, you might not have much need to print from the Linux system itself, so you can set it up to print to a printer connected to one of your other machines. Later, if you want, you can set up printing on the Linux system and connect the printer to it. The advice about nmap goes for printing, too. Learn nmap as a safety check for yourself before you get too far along in running servers.
Because you're going to be running a mixed environment of Windows and Linux machines, put putty on the Windows boxes so you can make a secure shell (ssh) connection to the Linux box.
Hope to see you at user group meetings and on the Linux mailing lists. Have fun with your new Linux system.
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- Tech Tip: Really Simple HTTP Server with Python
- Hack and / - Linux Troubleshooting, Part I: High Load
- Returning Values from Bash Functions
- Using Django and MongoDB to Build a Blog
- Encrypt Your Dog (Mutt and GPG)
- Raspberry Pi: the Perfect Home Server
- DevOps for Dummies
- diff -u: What's New in Kernel Development