ispman/docs INSTALL,1.3,1.4 README,1.2,1.3

Cory Petkovsek <[email protected]>
Newsgroups gmane.comp.isp.ispman.cvs
Message-ID <[email protected]>
Update of /cvsroot/ispman/ispman/docs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21637

Modified Files:
	INSTALL README 
Log Message:
moved install instr from README to INSTALL, cleaned up features in README

Index: README
===================================================================
RCS file: /cvsroot/ispman/ispman/docs/README,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- README	24 Apr 2003 20:24:32 -0000	1.2
+++ README	21 Jun 2004 09:20:34 -0000	1.3
@@ -1,80 +1,48 @@
-ISPMan is an ISP management system designed to meet the needs of the ever growing infrastructure 
-that an ISP has to manage.
-
-ISPMan was written to manage DNS, Web Virtual hosts and Mail accounts at large ISPs.
+ISPMan
+======
 
-Since then it has moved to a modular structure with help from ispman-developers 
+ISPMan is an ISP management system designed to meet the needs of the ever
+growing infrastructure that an ISP has to manage.  It was originally written to
+manage DNS, Web Virtual hosts and Mail accounts at large ISPs.  Since then it
+has moved to a modular structure with help from ispman-developers
 <ispman-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>. 
 
-ISPMan can now support 
-User Managemnet
-DNS Management
-Different kind of domains management (Primary, Secondary, Replicas etc)
-
-ISPMan is split into two main parts.
-1) Manager
-2) Agent
-
-The manager is the web interface from which you can add/delete users, domains, dns data, 
-http virtual servers etc, while the agent is the software that runs on one or more machines
-and does the actual work. Example:
-* Creating/deleting dirctories
-* reloading/reconfiguring  services such as dnsServer, httpServer etc.
-
-The agent checks the LDAP directory every few minutes to see if there are any jobs allocated 
-to that host. If there are any jobs, it takes appropriate actions, else does nothing. 
-This relieves the administrator from running some scripts or cron entries to reload services.
-
-Example: If you have changed the dns entry for a domain, then the agent running on the dns 
-server(s) will automatically reconfigure and reload your dns software.
-
-
-
-ispman-agent
--------------
-
-this software should run on all machines taking part in the ISP that should get some data 
-from the LDAP server.
-
-Example:
-smtp servers
-dns servers
-file server
-web servers
-
-To Install, simply follow the install procedure. Read Quickstart.txt
-
-
-To start ispman-agent run
-/opt/ispman/bin/ispman-agent start
-
-to stop
-/opt/ispman/bin/ispman-agent stop
-
-to restart
-/opt/ispman/bin/ispman-agent restart
-
-to restart after an unclean shutdown
-/opt/ispman/bin/ispman-agent forcerestart
-
-to start in foreground
-/opt/ispmanbin/ispman-agent nodetach
-
-ispman-agent writes log file to /opt/ispman/var/hostname.ispman-agent.log
-Make sure you clean this file from time to time or it gets LARGE.
-
-
+ISPMan now supports the following features:
+    - Centralized user and email management via LDAP
+    - Primary DNS management (some secondary and replica support)
+    - Virtual web hosting management 
+    - Customer managed domains and virtual hosts
+    - Client/Reseller login support
+    - Multiple tiered architecture
+    - GUI and command line interfaces
 
-ispman-web interface
----------------------
-This should run on a protected network. It should not be available from the internet for 
-your own safety. Also, the software will not function correctly unless you are logged on 
-correctly as some user.
+ISPMan is built of four main components:
+    - LDAP directory and schema
+    - ISPMan administrator's web interface
+    - ISPMan customer control panel 
+    - ISPMan-agent
 
-To get a reasonable speed you should serve this interface from a mod_perl enabled webserver 
-so that persistent objects can be kept in memory.
+The LDAP schema defines a structure that facilitates management of hundreds or
+thousands of domains and as many users within each.  Unlike SQL relational
+databases, LDAP is a heirarchical database.  This means it stores data in a
+tree like structure, as opposed to many flat tables.  Each have their
+advantages, but for user accounts within domains, the tree structure makes
+sense.
 
+The administrator's web interface allows one to create or delete domains,
+users, dns zones, virtual hosts and other settings.  All operations are put on
+a dispatch list for another module to take care of.
 
+The customer control panel is a simplified version of the administrator's web
+interface.  It is restricted to managing only their domain.  It is designed for
+the customer and is similar to customer control panels of other ISPs using
+commercial software.
 
-Read the file Quickstart.txt for more info.
+Finally, the ispman-agent is the real work horse.  The agents running on each
+server in the group track the dispatch list in the ldap tree.  When a new job
+is created via the admin or customer web interfaces, they go to work.  If the
+job is for the web server groups, say, the agent will modify the virtual host
+listings as specified.  The agent is the same software on each machine that can
+do various functions.  Like cron, it sits idle when there is no work to do.
 
+Read through INSTALL to learn how to setup each of these components.

Index: INSTALL
===================================================================
RCS file: /cvsroot/ispman/ispman/docs/INSTALL,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- INSTALL	21 Jun 2004 08:14:02 -0000	1.3
+++ INSTALL	21 Jun 2004 09:20:34 -0000	1.4
@@ -2,25 +2,29 @@
 =================
 In order to use ISPMan, you will need an ldap server and a web server.  ISPMan
 is developed using OpenLDAP and Apache.  This file goes over the process for
-installing the ispman files, populating a new ldap tree and setting up a
-virtual host for apache.
+installing the ispman files, populating a new ldap tree, installing the
+ispman-agent and setting up a virtual host for apache.
 
 Beyond this file, the next step is configuring individual applications such as
 postfix, pop3/imap and other applications to query the ldap tree.
 
+
 Quickstart
 ----------
 This is the quick process to install or upgrade.  See the sections below for
 detailed installation.
+- Update and install
     cvs -z3 update -dP
     ./configure
     make ispman install_ispman_common install_ispman_web
 
-Configure ldap server, then import ispman base into ldap with:
+- Configure ldap server, then import ispman base into ldap with:
     make ldif-install
 
-Setup apache vhost.
-Configure ispman through web interface.
+- Setup the apache vhost.
+- Configure ispman through web interface.
+- Copy the agent to remote hosts.
+- Start it on all hosts participating in the server group.
 
 
 Installing ISPMan Files 
@@ -102,20 +106,54 @@
 installed either with a dedicated webserver or appended on to an existing web
 server.  
 
+This interface should run on a protected network and should not be available
+from the internet.  If it is, using SSL to secure transmissions is strongly
+recommended. 
+
 There are no special requirements for use with Apache Server.  Just create a
 regular virtual host such as the following.
 
     <VirtualHost *>
 	ServerName ispman.yourdomain.tld
 	DocumentRoot /opt/ispman/htdocs
-	<Directory  /opt/ispman/htdocs>
-	    Options ExecCGI
-	    AddHandler cgi-script .cgi
+	<Directory /opt/ispman/htdocs>
 	    DirectoryIndex index.html index.cgi
 	    AllowOverride None
+	    <Files *.cgi>
+		Options ExecCGI
+		AddHandler cgi-script .cgi
+	    </Files>
 	</Directory>
     </VirtualHost>
 
+To increase speed you might consider serving the interface from a mod_perl
+enabled webserver so persistent objects can be kept in memory.  This can result
+in a very significant speed increase.  Use the following instructions instead.
+The speed difference can literally be amazing as it is with Apache running off
+of a Sun Blade 100.
+
+Ensure mod_perl is installed and loaded.  When you compile, or install your
+unix distribtion's version of mod_perl, you should have a line like this added
+to your server configuration.  You may need to uncomment it:
+    LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so
+or maybe:
+    LoadModule perl_module        libexec/libperl.so
+
+Then use this virtual host instead:
+    <VirtualHost *>
+	ServerName ispman.yourdomain.tld
+	DocumentRoot /opt/ispman/htdocs
+	PerlModule Apache::Registry
+	<Directory /opt/ispman/htdocs>
+	    DirectoryIndex index.html index.cgi
+	    AllowOverride None
+	    <Files *.cgi>
+		Options ExecCGI
+		SetHandler perl-script
+		PerlHandler Apache::Registry
+	    </Files>
+	</Directory>
+    </VirtualHost>
 
 Restart the webserver and visit the following link to get the ispman web
 interface.
@@ -144,3 +182,42 @@
 set for its hostgroup and make the change in the dns server.  If you have not
 defined dnsgroup properly, the request will be strayed.
 
+
+Installing ispman-agent
+-----------------------
+The agent is the work horse of ISPMan.  It should be installed on each machine
+taking part for some function of ISPMan.  Each agent needs to connect to the
+LDAP server to get its task list.  Anywhere ISPMan is updating files requires
+the agent.  This will be on servers listed under "hosts" and "hostgroups" under
+configuration in the web interface.  This includes smtp, dns, file and web
+servers.
+
+The easiest way to setup ispman-agent is to just copy the whole ispman
+directory from the first installed host to the next.  Then set it up to start
+at boot and run on each host.  
+
+Using a supervise program like DJB's supervise is recommended.  This will
+ensure that ispman-agent is running on the appropriate machines.  This can be
+done quickly, assuming supervise is already installed, with the following:
+    mkdir /supervise/ispman
+    cd /supervise/ispman
+    echo '#!/bin/sh' >> run
+    echo 'echo Starting ispman agent' >> run
+    echo 'exec /opt/ispman/bin/ispman-agent nodetach' >> run
+    chmod +x /service/ispman/run
+    svc -u /service/ispman
+
+Regardless of the supervise program, run the ispman-agent with the desired
+start/stop options as below.  "forcerestart" will restart after an unclean
+shutdown.  "nodetach" start in the foreground and won't detach from the
+controlling terminal.
+
+    /opt/ispman/bin/ispman-agent {start|stop|restart|forcerestart|nodetach}
+
+Ispman-agent writes a log file to /opt/ispman/var/hostname.ispman-agent.log.
+Be sure to clean out this file from time to time or use logrotate as it can get
+LARGE.  When the agent has been started by booting, manual start or supervisor,
+review the log to ensure it is started.  Otherwise processes will remain in the
+queue shown in the web interface for a very long time (until the agent is
+actually started).
+



-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.