The initial construction of the computer went relatively smoothly. Through the kindness of Billy-Jack and Likita (both of which contributed a good bit of their time, labour, and expertise, not to mention sundry hardware), the computer metamorphosed into a fairly respectable system. A Red Hat distribution of Linux was chosen as the operating system and Apache was selected as the web server. George, who had a DSL connection (I still did not, but that's another story), downloaded the ISO CD images, burned the CD-Rs and mailed them to me from Florida. Likita and I installed and configured Red Hat in an afternoon. The following day I had Apache, which was included on the RED HAT distribution, installed and running over the Library's local network (still no DSL!). Installing the FTP server was a snap. My genius confirmed and spirit bolstered, I tinkered on. Knowing that just as soon as the DSL connection was in place the world would be mine, any doubts that remained about the validity of "The Solution" vanished. Billy-Jack gave me a Linux T-shirt and I wore it!
A lamb to the slaughter! Would that the rest of the implementation of "The Solution" have proven to be so straightforward. Confidence took its first hit shortly after the DSL modem arrived. The installation and setup were trivial. The modem arrived in the late afternoon and I was connected to the Internet before the sun went down. I slept well that night, but not since. The following morning dragged on as I tackled the mundane routine chores that go along with maintaining the Library. The last parcel sealed and the day's outgoing post ready for pickup, it was with considerable enthusiasm that I sat down to get back to work on "The Solution." I immediately discovered that I was not quite as "connected" to the Internet as I had initially thought. Although any member of the Library's local network could access the Internet, nobody outside of the Library's local network could get in.
As the Linux box was serving as the portal to the outside world, I began pouring through the on line Red Hat documentation. After a few false leads, I stumbled across a scheme generally referred to as "IP Masquerading." As I read on, I became convinced it was just the ticket. By the end of the week, I began to have my doubts. I had made no progress whatever and suffered from cramped fingers, a sore neck, burning eyes, and splitting headaches. All were, no doubt, from hunching over and pounding on the minuscule ten inch keyboard whilst staring into the tiny fourteen inch monitor that adorn the server. Midway through the following week I had made some progress, and felt I was getting closer to solving the riddle of "IP Masquerading." I had everything working, but not at the same time. I consoled myself only by thinking that most of my problems revolved around the fact that I'd had no previous experience with the operating system and, that eventually, I'd get the hang of it and there'd be smooth sailing ahead. Fortunately, Billy-Jack came to the rescue. No stranger to "IP Masquerading," he brought over a DSL router and told me to stop banging my head against the wall and use the router instead of "IP Masquerading." My pride acquiesced in favour of protecting what remained of my already harshed confidence. The router was installed and configured and, within a day, not only was the "connectivity" issue resolved but both the FTP server and the Apache web server were working as designed. Even the Library's web site was in place, accessible locally and over the Internet, and functional. Well .... not quite functional.
There was yet the matter of all the MIVA code that drove the entire Development System and was scattered throughout the entire system. A quick look at the Miva Mia (MIVA Corporation's free Windows distribution of the MIVA engine) license and I gave up any thought of trying to bounce the Library's MIVA scripts off a Windows system running Miva Mia. Miva's Linux distribution, Miva Empress, costs well over five hundred dollars so that too was out of the question. The search for an appropriate hypertext processor was on! Billy-Jack touted Java Script so I gave it a go. I threw together a short script in less than an hour and successfully tested it locally. The more I played around with it, the better it looked. That is, until I took a look at the results in one of the browsers installed on the Linux box. I was somewhat chagrined when the browser crashed and burned. A quick look at my masterpiece in the default browser on the OS/2 system (currently the Library's primary system) yielded similar, if not such spectacular results. So much for Java Script! I then discovered PHP. After poking through the documentation, wading through some source code samples, and completing a two or three page tutorial, I decided I was onto something. I installed PHP on the web server and set to writing and running a few simple scripts. All worked flawlessly and browser compatibility issues were moot. There was but a single rub. PHP's support for xBase (dbf) files is minimal at best and, as you've probably guessed, virtually all of the Library's data is stored in dbf format. A review of the database functions available in PHP made it quite clear that all of the Library's data would have to be converted to SQL, if I was really serious about exploiting the power of PHP. But what to use as the Library's SQL database server? A quick scan of the PHP user groups and a cursory inventory of the available and freely distributable programs (source code) suggested serious consideration of MySQL. Once the MySQL server was installed, I meandered through a rather lengthy tutorial and moved some of the Library's data into a test SQL database. Within a day I knew I had all the tools I needed to implement "The Solution."
All that remained was to tweak the hardware a bit and cleanup the debris from all of the experimentation and the programming could begin. I stole the 233 MHz Pentium II processor from the OS/2 system (it'll have to get by with a 133 Pentium I) and 64 Megabytes of RAM and a 6 Gigabyte drive from Lynne's Windows 98 machine; reformatted the drives; reinstalled and tested RED HAT, Apache, PHP, FTP, and MySQL; and, just last week, started laying the groundwork for the Library's new system.