110 likes | 123 Views
This project aims to create a unified administration package for a web server, with access points through UNIX console and Jabber protocol. The goal is to provide a highly customized way to administer the system and improve the current cumbersome administration process. The package includes customized Perl scripts and a Jabber component for system modifications.
E N D
Custom Administration Package Kevin Foote CS470 Project 20.November.2002
Project Overview • Goal - Create a unified administration package for a web server - Enable two access points to this package 1. Through standard UNIX console 2. Through the Jabber (Instant Messaging) protocol - Client Nicholas Kirsch & myself • Why? - Client desired a highly customized way to administer system - Wanted this to be available through an IM interface - Current administration had become cumbersome
Administration • Past - All website additions were manually performed - All user additions were manually performed - Absence of documentation about actions and method • Present - Administration is achieved through one focal point - Actions are logged - Complete package documentation available
Custom Administration System • Console :: scripts - Four customized perl scripts - All scripts are accessed through one “driver script” - These scripts perform all the system modifications • Jabber :: component - Component connects to local jabberd server and listens - Messages to component are converted to script commands
Methodology • Jabber :: component - connect to local host with SHA-1 digest - created a simple message handler - performed simple parsing of XML - performed simple creation of XML - authentication via “from” attribute of message • Perl :: Script - made use of UNIX tools ex: useradd, deluser
Waterfall Development • Waterfall development method was used. I felt that such a building process would work well for this project • Original proposition of 2 distinct stages did not work well • Simultaneous development proved easier to visualize • Generalization in the requirements for this project lead to some development issues • Minor requirement change • Removed the “system interface” to the script system. • Problems Encountered - Configuring jabberd server - XML parsing utilities - reinvented the wheel
Package Future • I plan on working on this project further. I’d like to see this be released as a robust administration tool. • Mechanism for site personalized scripts. • Future Directions (room for improvement) - Multi threaded application - XML library - Xerces-C/C++ - Expat C
Schedule • Some timeline adjustments • Research == large amount of time • Hitches in using libraries cause development to exceed time allotment
Conclusion • Delivery of a working customized administration package for our web-server • This project proved to be both fun and very interesting • Educational Experience • Working with the jabber protocol, particularly within the development of the client server architecture • Working with and through the entire development process • Developing a UNIX software package using real-world attributes • Makefile, external libraries • Better understanding of how strict requirements lend them selves to fewer problems throughout development