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