From Mark on Wed, 01 Sep 1999
I have an idea and don't quite know if I am tackling it the right way. I own a mac and would like to set up an external server to help with development and testing of CGI scripts using Perl. I basically want to emulate my ISP. Am I right in thinking that I can buy a basic PC, replace windows with Linux to make it a unix box and then run the Apahe server with Fastperl etc. on top of that. Plug the whole thing in and serve pages and across a network to the mac. (sounds easy when you say it like that). Any pointers, suggestions or advice will be useful.
This is referred to as a "staging server" or a "testbed" by sysadmins. It is basically that easy.
The hard parts are gleaning what your ISPs configuration really is. If you can read their /etc/httpd/conf/httpd.conf and related files (or prevail upon them for copies) then you can probably make it much easier for yourself). It also might be a bit of a challenge to collect all of the same modules that they are running under their copy of Apache.
There are also a few tricky points to consider about the way you access your content. The most transparent (to your testing process and applications) will be to use "split DNS" --- where your Mac/client thinks of a local DNS name server as "authoritative" for the domain that your (virtual) webserver is configured to be. Then your local name server points to your local clone of the web server when you're doing your testing and to your ISPs web server the rest of the time.
Depending one the way you structure your web pages and CGI applications it may be possible to dispense with the complication of "split DNS." It just depends on how many of your web pages and applications make specific hostname references as parts of their URLs and processing, and whether your development process allows you to regenerate those pages and CGI scripts with the necessary URL and hostname changes. It's possible to make all of your web pages "portable" (using relative links throughout your HTML for example).
Instead of buying a basic PC and having to "replace Windows with Linux" consider buying a PC with Linux pre-installed. If you can't find one at a competitive price then contact your preferred vendor and let them know what you really want (a PC with Linux pre-installed, or a PC with no OS installed at all).
Just replacing MS Windows with Linux (or any other OS) continues to support the widespread perception that people WANT MS Windows and that there is no market for alternatives. As more people adopt Linux, FreeBSD, etc. this becomes a misconception --- but it does nothing to encourage independent software vendors! Ultimately that hurts consumers.
At Linux Online there is a list of hardware vendors that sell systems with Linux pre-installed. You can find it at:
- Linux Online - Linux-Friendly Hardware
It would be crass of me to recommend a specific hardware vendor. It would also be bad idea. I have friends to run VA Research, and Penguin Computing. Dell is a strategic partner for my employer. I know people who work at SGI, Compaq/DEC and Sun (among others). They are all involved in Linux and they all produce hardware (most of them produce PC clones and are thus is rather close competition).
So you'll have to make your own choices.