Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -r1.52 -r1.52.2.1 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 25 Apr 2018 08:38:27 -0000 1.52 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 2 Mar 2019 19:30:04 -0000 1.52.2.1 @@ -1,80 +1,44 @@ -
By Jon Salz
-</authorblurb> - -Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl
This document describes the startup (bootstrapping) process for an AOLserver +
Tcl code: /tcl/0-acs-init.tcl and /packages/acs-bootstrap-installer/bootstrap.tcl
This document describes the startup (bootstrapping) process for an AOLserver running OpenACS. -
- - -+
Before OpenACS 3.3, the OpenACS startup process was extremely simple: after AOLserver
performed its internal initialization (reading the configuration file,
loading shared libraries and module code, etc.) it scanned through the Tcl
library directory (generally /var/lib/aolserver/
yourservername
/tcl
),
sourcing each file in sequence.
-
While this overall structure for initialization is still intact, package +
While this overall structure for initialization is still intact, package management has thrown a wrench into the works - there are a few extra things -to do during initialization, most notably:
- -Examine the OpenACS file tree for files that should not be present in OpenACS +to do during initialization, most notably:
Examine the OpenACS file tree for files that should not be present in OpenACS (i.e., that were once part of the OpenACS distribution but have since been removed).
Scan the /packages
directory for new packages.
Initialize enabled packages by sourcing their *-procs.tcl
-and *-init.tcl
files.
+and *-init.tcl
files.
This document examines in detail each of the steps involved in AOLserver/OpenACS startup. -
- -
-As soon as the nsd
daemon is executed by the init
-process (or otherwise), AOLserver reads its configuration file and
-chroot
s itself if necessary. It then loads shared libraries
-indicated in the .ini
file (e.g., the Oracle driver and
-nssock
), and sources Tcl module files (generally in
-/home/aol30/modules/tcl
). This step is, and has always been, the
-same for all AOLservers, regardless of whether they are running OpenACS.
-
Next AOLserver sources, in lexicographical order, each file in the +
+When nsd
is started, it reads its configuration file and
+chroot
s itself if necessary. It then
+loads the configured modules (e.g., Database and network drivers, Tcl module files).
+This step is, and has always been, the
+same for all NaviServer/AOLservers, regardless of whether they are
+running OpenACS (see the NaviServer/AOLserver documentation for more details).
+
Next AOLserver sources, in lexicographical order, each file in the
/tcl
directory. The first such file is
0-acs-init.tcl
, which doesn't do much directly except to
determine the OpenACS path root (e.g., /var/lib/aolserver/
yourservername
)
by trimming the final component from the path to the Tcl library directory
(/var/lib/aolserver/
yourservername
/tcl
). But
0-acs-init.tcl
's has an important function, namely sourcing
-/packages/acs-core/bootstrap.tcl
, which does the following:
Initialize some NSVs used by the core. These NSVs are
+/packages/acs-bootstrap-installer/bootstrap.tcl
, which does the following:
Initialize some NSVs used by the core. These NSVs are
documented in /packages/acs-core/apm-procs.tcl
- no need to
worry about them unless you're an OpenACS core hacker.
-
Verify the deletion of obsolete OpenACS files. The
-/tcl
directory has evolved quite a bit over the months and
-years, and a few files have come and gone. The
-/www/doc/removed-files.txt
file contains a list of files which
-must be deleted from the AOLserver installation, at the risk of
-causing weird conflicts, e.g., having several security filters registered.
-bootstrap.tcl
scans through this list, logging error messages to
-the log if any of these files exist.
-
+
Verify that OpenACS is fully +installed. If not (e.g. at the first installation) it +prompts a form for providing essential information about the installation.
Source *-procs.tcl
files in the OpenACS core.
We source each file matching the *-procs.tcl
glob in the
/packages/acs-kernel
directory, in lexicographical order. These
@@ -111,16 +75,8 @@
Verify that the core has been properly initialized by checking for the existence of an NSV created by the request processor initialization code. If it's not present, the server won't be -operational, so we log an error.
+operational, so we log an error.
At this point, bootstrap.tcl
is done executing. AOLserver
proceeds to source the remaining files in the /tcl
directory
(i.e., unpackaged libraries) and begins listening for connections.
-
($Id$)
-