

	SysMT - A system management suite
	---------------------------------
	(C)opyright 2012 by Bjoern Lemke

	Version 4.2.0


The SysMT application is used to support the change process for system landscapes 
in a datacenter environment.

It is a web based application based on a standard database configuration.

SysMT is used for management of SAP system maintenance schedules.
It has been proofed in a productive environment for more than 100 Users.

SysMt is WEB based using a plain mod_perl application server which retrieves
all data via perl DBD database interface.

To set up SysMT, the following steps are required

1. Requirements
---------------

Either one of the following databases

       - cego
       - db2
       - mysql 

Apache2
mod_perl

Depending on the database
DBD-mysql
DBD-DB2
DBD-cego

Perl Template Toolkit ( http://www.tt2.org/ )

CPAN Apache Request module  ( libapreq2-2.13 )
CPAN RecDescent ( Parse-RecDescent-1.965001 )
CPAN ExtUtils ( ExtUtils-XSBuilder-0.28 )

2. Database setup
-----------------
As a first step, a database system has to be established. This can either be
done using the cego database system or a mysql database.
Both ways are described now

2.1 Using cego
--------------
Go to the cego subdirectory and check the file mkdb for your appropriate 
database definitions. The default definitions are fine and should work for 
a standard SysMT setup.
Make sure, the cego database program is included in your PATH variable

Now create the database
     
   cego > ./mkdb 
   Creating xml ...
   Creating admin user ...... operation ok
   Defining tableset ...... operation ok
   Creating database user ...... operation ok
   Creating tableset ...... operation ok
   
If the database has been created, the SysMT database objects can be 
set up
   
   cego > ./create_objects

At last, you can start up the database using the utility startup script

   cego > ./startdb

2.2 Using mysql
---------------
This requires a running mysql database with a created database called sysmt.
Please edit the build up script create_objects to adapt the appropriate database
connection information.

The SysMt objects are created with 

   cego > ./create_objects

2.3 Using DB2
---------------
This requires a running db2 database. Edit create_object to set up the appropriate
database connection parameters.

The SysMt objects are created with 

   cego > ./create_objects


3. Web server setup
-------------------

Add the following mod_perl entry to your httpd.conf for Apache web server
Please set an appropriate path for the reload handler and the passwd file

+++++ Start of http.cond entry +++++

# Required for module reload
PerlInitHandler Apache2::Reload
# We rrequire reload of all modules
PerlSetVar ReloadAll On
# for the following path
PerlSetVar ReloadDirectories "/export/home/lemke/web/PerlSpace" 
# PerlSetVar ReloadDebug On

LoadModule perl_module modules/mod_perl.so

PerlModule PerlSpace::SysMtExecuter
<Location /dbexec>
  Require valid-user
  AuthType Basic
  AuthName realm
  AuthBasicProvider file
  AuthUserFile /export/home/lemke/web/passwd.txt
  PerlOptions +ParseHeaders
  PerlOptions +GlobalRequest
  SetHandler perl-script 
  PerlResponseHandler PerlSpace::SysMtExecuter
</Location>

PerlModule PerlSpace::UploadExecuter
<Location /uplexec>
  Require valid-user
  AuthType Basic
  AuthName realm
  AuthBasicProvider file
  AuthUserFile /export/home/lemke/web/passwd.txt
  PerlOptions +ParseHeaders
  PerlOptions +GlobalRequest
  SetHandler perl-script 
  PerlResponseHandler PerlSpace::UploadExecuter
</Location>


+++++ End of http.cond entry +++++

Now you should create an appropriate param_xxx.sh where xxx is the specific name of your configuration.
The param file contains several parameters for database connection, URL, path definiton and others.

See the available param file samples and adapt one for you.

Assuming, you have created a param_myconf.sh, you can execute the configuration script 

   cego > ./config.sh myconf
   Patching and copying static html templates ..
   Patching htdocs/sysmt_footer.tmpl ...
   Patching htdocs/sysmt_grpinfo.tmpl ...
   Patching htdocs/sysmt_left.tmpl ...
   Patching htdocs/sysmt_mtcsv.tmpl ...
   Patching htdocs/sysmt_mtmng.tmpl ...
   Patching htdocs/sysmt_mtov.tmpl ...
   Patching htdocs/sysmt_setview.tmpl ...
   Patching htdocs/sysmt_stats.tmpl ...
   Patching htdocs/sysmt_sysmng.tmpl ...
   Patching htdocs/sysmt_sysview.tmpl ...
   Patching htdocs/sysmt_usrinfo.tmpl ...
   Patching htdocs/sysmt.tmpl ...
   Patching and copying dynamic html templates ..
   Patching templates/sysmt_header.tmpl ...
   Patching and copying perl master ..
   Copying perl programs ..
   Copying static html ..
   Copying html templates ..

You can start now the webserver and check the start page sysmt.html
