Dashboard > Maintain > Home > Maintain Starter Guide (IN PROGRESS)
Maintain Log In   View a printable version of the current page.
Maintain Starter Guide (IN PROGRESS)
Added by Brad Morgan, last edited by Brad Morgan on Oct 26, 2006  (view change)
Labels: 
(None)

History

The Maintain network management application was originally developed by Scott Kveton of the Oregon State University Open Source Lab. The president of the university decided that the top level domain for the school should be transferred from orst.edu to oregonstate.edu. At the time there were a series of scripts originally written by Bill Ayers that were well done but incapable of handling this large transfer. Development began on Maintain strictly for this purpose (Kveton).

Maintain is a product of the Open Source Lab but is meant to be a collaborative effort of the Open Source community. This means that since there is no single owner of the source code, the project will be distributed by the Open Source Lab.

License

Maintain is an Open Source project meaning that the source code is freely available and thus no costs are associated with the software. The OSL has licensed the software under the terms of the GNU Public License (GPL: http://www.gnu.org/licenses/gpl.txt) This means that the software may be freely used, modified and redistributed under the same terms. A copy of the GPL is attached with every release of Maintain.

System Overview

Maintain is designed to be a modular application. This means that new features and additions can be added at any time and by any author. This manual will focus on the so called "core" functionality of the application that are released in the main package. The core components are the DNS and DHCP management and configuration file generation as well as the basic user and host management.

One of the goals of the Maintain project is to keep the software free for the user. Thus all of the components of the system are Open Source themselves. Maintain uses a web interface written in PHP and uses MySQL for its database both of which are freely available. Network configuration and all other setup is done from the web interface. This method was chosen for ease of access and upgrading. Users can login to the system from anywhere the administrator allows and on any computer system.

Maintain is primarily used for network management. This is a very broad category so we will now go into greater detail and define the scope of the core Maintain functionality.

The main components of Maintain are the same as that of a network. It consists of hosts (computers usually), Internet Protocol (IP) Ranges and blocks, domains, workgroups, etc. Maintain is responsible for allowing valid creation, editing, and deletion of these entities. The application will organize these entities in such a way that they make logical sense to network servers and routers and can be organized by appropriate permissions and delegation. Maintain will also periodically generate configuration files and send them to the appropriate network servers and the changes to the network will take effect.

The entities dealt with in the software are divided into zones. These are the highest level of division in Maintain. From each zone users may be created and assigned permissions to the zones. Currently there are four types of permissions that relegate what functionality the user can access. Depending on access rights the user may then begin creating and editing entities.

For most system administrators normal everyday tasks will be fairly simple. Maintain was meant to make normally difficult and time consuming tasks easier and automated. A fairly common task would be for the administrator to need to add a new host to the network. In the past this may have meant editing a number of configuration files, manually setting IP addresses and rules on both the server and host itself, and restarting several network services. Using Maintain on the other hand an administrator simply needs to navigate to the proper web page on the Maintain site, click a link to create a host, assign it an IP address or range from a drop down list and submit the changes. It also assures users of validity of entries as to avoid configuration errors and mistakes. This method removes the chances of typos and errors that may lead to lost work and network outages. All around simplistic ease of use yet powerful performance is a goal of the Maintain project.

Points of Contact

The current homepage of the Maintain project is:
http://maintainproject.osuosl.org
The Maintain development team may be reached via mailing list:
http://lists.osuosl.org/mailman/listinfo/maintain-dev
or via IRC:
irc.freenode.net #maintain
Bugs may be filed on the development site:
http://bugs.osuosl.org

Installation

System Setup

This installation procedure has been tested on Debian and Gentoo Linux systems. The examples will use Debian's apt-get method, however, in most cases emerge can be substituted on Gentoo systems.

PHP 4

Currently Maintain must be ran using PHP version 4. In future releases of Maintain PHP 5 will be supported. To install PHP 4 and the necessary web server modules use the command:

$ sudo apt-get install php4 php4-mysql libapache2-mod-php4

PEAR

Maintain uses the PHP Extensions and Application Repository (PEAR) system and its components. PEAR is a repository of packages of PHP source code. The purpose of PEAR is to provide access to well tested PHP source code that is somewhat standardized (PEAR Introduction). Using PEAR packages eliminates the need to implement functionality in your own code by using previously written code. For instance when Maintain needs to Email Administrator instead of writing the Email facility we simply use the PEAR package "Mail" and "Mail_Mime".
To install PEAR on a Debian/Linux based system

$ sudo apt-get install php4-pear

Maintain uses the PEAR package DB to handle most all database interactions. Using DB also allows the administrator to use a database of choice instead of forcing the use of one.

$ sudo pear install DB

The DB_DataObject package is a object relational mapping tool for PHP. Using an ORM allows the programmer to manipulate database entities through the use of standard object-oriented programming techniques rather than accessing the database directly (Wikipedia, Object-relational mapping).

$ sudo pear install DB_DataObject

As discussed above the Mail and Mail_Mime PEAR package provide an email facility to Maintain. This allows Maintain to notify administrators of updates or problems with Maintain.

$ sudo pear install Mail
$ sudo pear install Mail_Mime

The Auth package allows Maintain to authenticate users by a variety of different methods using the same approach. Maintain comes with LDAP and MySQL authentication enabled.

$ sudo pear install Auth

Apache

Apache is a highly robust and widely used web server. It is responsible for transferring web pages from a server to a client. It is recommended that users use the Apache Web Server to serve Maintain, however, lighttpd is also supported. To install Apache use the command:

$ sudo apt-get install apache2

Apache will need to be configured to suit the needs of the system administrator and to know where the Maintain installation is on the system.

MySQL

Maintain currently has been tested and developed using the MySQL database system and is currently the only supported database. To install MySQL use the following:

$ sudo apt-get install mysql-server-4.1 mysql-client-4.1 mysql-common

The above command will install the MySQL server software as well as several command line interface tools to manage MySQL databases from a Unix terminal.

Maintain Setup

At this point the user can open a web browser to the instance of Maintain. Upon first viewing Maintain will begin the self installation procedure.

The installer will guide the used through a series of installation procedures including: Setting up the database, creating data access object files, creating the initial Zone and creating the first administrator account.

To Be Continued...

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.7 Build:#524 Jul 28, 2006) - Bug/feature request - Contact Administrators