Skip Navigation Links
By Dr. Elizabeth Hinkle-Turner, Student Computing Services Manager
Checkin 4.0 has made its migration to a new network, a new version of OS, a new configuration and all new hardware...boy, am I tired after all this work! The original hardware setup of the Checkin 4.0 application was to spread the work between three servers: one running the web-based application itself, one taking care of all database housing and functions and a development environment which could also serve as the application server should something happen to the other two machines. All servers were running RedHat 8.0 with mySQL 3.23, Apache 2.0 and Perl 5. Once RedHat 8.0 became unsupported and the newest version of mySQL had become stable enough to upgrade it became necessary to re-evaluate the system and make major chances to update security, load, and organizational issues.
UNT's Debian Linux installer to the rescue
I had already played around with the Debian Linux installer developed by the UNT Unix Services Group (most specifically Matt Duncan of the USG and Duane Gustavus of Academic Computing Services) which they make available to network managers interested in testing Debian as a possible desktop OS environment. Being fairly lazy I was absolutely thrilled that the OS installed in about 30 minutes on a machine with a minimum amount of input on my part (I was REALLY TIRED of all those check-off menus in the RedHat installer.....uh, how am I supposed to know the 50 dependencies that perl might need to become fully functional??). Also still being pretty much of a 'newbie' but determined to build all my Linux systems from scratch from now on with no help from anyone, I liked the fact that the USG installer had all possible defaults that might cause security problems TURNED OFF .... so I didn't run the risk of having to embarrassingly explain to Charlotte Russell and Rich Anderson of the security team why my server which had only been up for 20 minutes was now being used as a spam relay sending out approximately 500 emails a minute!
Sarge? Woody? Sid?
For those of you who may not know much about Debian Linux you can go to www.debian.org to read all about it. Debian comes in three releases: stable ,code-named 'woody'; testing code-named 'sarge'; and unstable code-named 'sid'. As a big fan of Toy Story, I instantly liked this Linux flavor right away. The feminist in me also liked the fact that 'Deb Ian' is actually named after the founder of project, Ian Murdock, and his wife Debra (wasn't that sweet of him?). For some reason all of the folks around here at UNT pronounce it 'Deeb Ian' which is just flat-out wrong and makes me wonder 'Well, what have you got against poor old Debra anyway?' But seeing as all the UNT USG folks also know a whole heck of a lot more about Debian than I do, I don't bug them about it too much! The UNT USG Debian installer is for the 'testing' version of the OS (sarge) which is due to become 'stable' (woody) just about any day now (it will be version 3.1).
With a cutting-edge version (not 'bleeding-edge' that's Sid) of Debian on the Checkin servers, I had fulfilled my first goal of using a type of Linux which would not become 'unsupported' for quite some time and also which held no real danger of ever being anything but freeware (because I have no budget). I was not interested in a RedHat 'bait-and-switch' happening again. My next goal was to also use the latest and greatest version of mySQL especially since the newest version supported clustering technology which I was hoping would help with our database performance. To learn more about mySQL, see www.mysql.com. The mySQL version experiment ended up being a complete bust; the clustering technology really doesn't seem to be ready for primetime (at least not in the hands of neophytes like me) and is not well-documented so I couldn't even really scratch my head over the online manuals until I figured out how to install it and make it work. So, I installed the 'next-to-bleeding-edge' version which is mySQL v. 4.0.3.
Making the system as secure as possible
My final two goals were to make the system as secure as possible and also to make it more robust and reliable by load-balancing them and also set them up so that if one server failed, the redundant server would immediately kick in and take care of the job. I also wanted to make this system infinitely expandable: Checkin has become popular on campus for use in not only the General Access Labs and the major-specific labs but also in some other facilities. I anticipate that once the room reservation module is completed, that interest in using the system will really escalate. I wanted to be prepared to handle more traffic and this meant being able to add more web application servers quickly and easily.
Matt Duncan of the UNT USG came again to my rescue: he explained to me that I should put the Checkin system behind the Web Director (which does all that fail-over and load-balancing stuff for me) and that this would also put my Checkin on a private network at UNT for better performance and better security. Matt set this up for me and also helped me get the same fail-over and redundancy features out of a master-slave configuration of two mySQL servers instead of just one.
So, now the Checkin system exists in the following configuration: two web application servers (the second server is in the process of being installed now) with fail-over and load-balancing management done by the Web Director connected to two mySQL servers running in a master-slave configuration. The Checkin 4.0 application continues to be fully-cross-platform-compliant on Mac, Windows, and Linux with Mozilla, Internet Explorer, Netscape Navigator and Firefox (any versions) being the browsers of choice. All Checkin systems are using Debian sarge as the OS, mySQL 4.0.3 as the database server, Perl 5 and PHP 4 as the development languages, Apache 2.0 as the web server and Apache-ssl (126.96.36.199.2-5) as the secure web server.
Tying up loose ends
There is still work to do but overall the new system is running smoothly. I have to install the second webserver and I also have to configure the development server. THEN I have to hire a NEW Checkin developer because - amazingly - the old developer wanted to make $50k a year at Raytheon rather than $12 an hour at UNT ;-) ! I am also still in the process of migrating some of the usage logs and trouble-shooting a few communication issues with other servers on campus.
A BIG thanks to Matt Duncan (especially!) and Duane Gustavus for all of their help (and also for their help on the computer-based-training server too which was my first Debian server experience). For all developmental documentation on Checkin 4.0 see the Checkin development documentation site at www.unt.edu/cbt/checkin/. I have completely documented all installation and configuration issues and instructions for the Debian, Apache, Apache-ssl, Tomcat, Perl etc. stuff that I did to make both the Checkin system and the CBT system work and if you would like further information please contact me at firstname.lastname@example.org.