Index: openacs-4/packages/acs-core-docs/www/openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -r1.41 -r1.42 --- openacs-4/packages/acs-core-docs/www/openacs.html 5 Jul 2004 14:24:59 -0000 1.41 +++ openacs-4/packages/acs-core-docs/www/openacs.html 16 Feb 2005 00:21:03 -0000 1.42 @@ -1,18 +1,7 @@ -Install OpenACS 5.2.0d1

Install OpenACS 5.2.0d1

by Vinod Kurup

+Install OpenACS 5.2.0d1

Install OpenACS 5.2.0d1

by Vinod Kurup

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Set up the file system for one or more OpenACS Sites

For Linux Standard Base compliance and ease of backup, - all of the files in each OpenACS site are stored in a - subdirectory of - /var/lib/aolserver, one - subdirectory per site. The first time you install an OpenACS - site on a server, you must create the parent directory and set its permissions:

[root root]# mkdir /var/lib/aolserver
-[root root]# chgrp web /var/lib/aolserver
-[root root]# chmod 770 /var/lib/aolserver
-[root root]#
-mkdir /var/lib/aolserver
-chgrp web /var/lib/aolserver
-chmod 770 /var/lib/aolserver

Set up a user account for each site.

+

Set up a user account for each site.

AOLserver needs to be started as the root user if you want to use port 80. Once it starts, though, it will drop the root privileges and run as another user, which you must specify on the command line. It's @@ -33,15 +22,42 @@ developers for that specific instance. Add this user, and put it in the $OPENACS_SERVICE_NAME group so that it can use database and server commands associated with that group. + (If you don't know how to do this, type + man usermod. You can type + groups to find out which groups a user + is a part of)

 [root root]# useradd $OPENACS_SERVICE_NAME
-[root root]#

Installation Option 1: Use automated script

A bash script is available to automate all of the steps for the rest of this section. It requires tclwebtest. The automated script can greatly accelerate the install process, but is very sensitive to the install environment. We recommend that you run the automated install and, if it does not work the first time, consider switching to a manual installation.

Get the install script from CVS. It is located within +

You also need to set up a group called web.

+[root root]# groupadd web
+      

+ Then change the user to be a part of this group: +

+[root root]# usermod -g web $OPENACS_SERVICE_NAME
+      

FreeBSD creates the user this way:

+[root root]# mkdir -p /home/$OPENACS_SERVICE_NAME
+[root root]# pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash
+[root root]#
+mkdir -p /home/$OPENACS_SERVICE_NAME
+pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash
+

Set up the file system for one or more OpenACS Sites

For Linux Standard Base compliance and ease of backup, + all of the files in each OpenACS site are stored in a + subdirectory of + /var/lib/aolserver, one + subdirectory per site. The first time you install an OpenACS + site on a server, you must create the parent directory and set its permissions:

[root root]# mkdir /var/lib/aolserver
+[root root]# chgrp web /var/lib/aolserver
+[root root]# chmod 770 /var/lib/aolserver
+[root root]#
+mkdir /var/lib/aolserver
+chgrp web /var/lib/aolserver
+chmod 770 /var/lib/aolserver

Installation Option 1: Use automated script

A bash script is available to automate all of the steps for the rest of this section. It requires tclwebtest. The automated script can greatly accelerate the install process, but is very sensitive to the install environment. We recommend that you run the automated install and, if it does not work the first time, consider switching to a manual installation.

Get the install script from CVS. It is located within the main cvs tree, at /etc/install. Use anonymous CVS checkout to get that directory in the home directory of the service's dedicated user. We put it there so that it is not overwritten when we do the main CVS checkout to the target location.

[root root]# su - $OPENACS_SERVICE_NAME
-[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot co -d install openacs-4/etc/install
+[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co -d install openacs-4/etc/install
 cvs server: Updating install
 U install/README
 U install/TODO
@@ -64,12 +80,13 @@
 admin password: xxxx
 ######################################################################
 [root root]#

You can proceed to the section called “Next Steps”.

Installation Option 2: Install from tarball

You should already have downloaded the OpenACS tarball - to the /tmp directory. If + to the /var/tmp directory. If not, download the OpenACS tarball and save it in - /tmp and proceed:

  1. Unpack the OpenACS tarball and rename it to $OPENACS_SERVICE_NAME. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.

    [root root]# su - $OPENACS_SERVICE_NAME
    +      /var/tmp and proceed:

    1. Unpack the OpenACS tarball and rename it to $OPENACS_SERVICE_NAME. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.

      FreeBSD note: Change the period in chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME to a colon: chown -R $OPENACS_SERVICE_NAME:$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME +

      [root root]# su - $OPENACS_SERVICE_NAME
       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver
      -[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /tmp/openacs-5.2.0d1.tgz
      +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.2.0d1.tgz
       [$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
       [$OPENACS_SERVICE_NAME aolserver]$ chmod -R 775 $OPENACS_SERVICE_NAME
       [$OPENACS_SERVICE_NAME aolserver]$ chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
      @@ -83,10 +100,10 @@
       [root root]#
       su - $OPENACS_SERVICE_NAME
       cd /var/lib/aolserver
      -tar xzf /tmp/openacs-5.2.0d1.tgz
      +tar xzf /var/tmp/openacs-5.2.0d1.tgz
       mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
       chmod -R 755 $OPENACS_SERVICE_NAME
      -chgrp -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
      +chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
       exit
    2. Add the Service to CVS (OPTIONAL)

    3. Prepare the database

      • Prepare Oracle for OpenACS.�If you won't be using Oracle, skip to Prepare PostgreSQL for an OpenACS Service

        You should be sure that your user account (e.g. $OPENACS_SERVICE_NAME) is in the @@ -220,7 +237,7 @@ CREATE DATABASE [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ su - $OPENACS_SERVICE_NAME -createdb -E UNICODE $OPENACS_SERVICE_NAME

  2. Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

    Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

    0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
    +createdb -E UNICODE $OPENACS_SERVICE_NAME
  3. Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

    Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

    0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
     0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze $OPENACS_SERVICE_NAME

    Depending on your distribution, you may receive email when the crontab items are executed. If you don't want to receive email for those crontab items, @@ -233,7 +250,7 @@ need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl. - Open it in an editor to adjust the parameters.

    [root root]# su - $OPENACS_SERVICE_NAME
    +	   Open it in an editor to adjust the parameters.

    [root root]# su - $OPENACS_SERVICE_NAME
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
     [$OPENACS_SERVICE_NAME etc]$ emacs config.tcl
     

    @@ -351,13 +368,13 @@ reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS 5.2.0d1 is now up and running! -

Installation Option 3: Install from CVS

If you want to track fresh code developments inbetween releases, or you are an OpenACS core developer, you may want to install from CVS. This is identical to Option 2 except that you get the files from CVS instead of the tarball: CVS Checkout Instructions. So, instead of tar xzf /tmp/openacs-5.2.0d1.tgz, cvs -z3 -d :pserver:anonymous@openacs.org:/cvsroot co acs-core.

Next Steps

Installation Option 3: Install from CVS

If you want to track fresh code developments inbetween releases, or you are an OpenACS core developer, you may want to install from CVS. This is identical to Option 2 except that you get the files from CVS instead of the tarball: CVS Checkout Instructions. So, instead of tar xzf /var/tmp/openacs-5.2.0d1.tgz, cvs -z3 -d :pserver:anonymous@openacs.org:/cvsroot co acs-core.

Next Steps

  • Use daemontools supervise and svc, or inittab, to automate server startup and shutdown.

  • Install Full Text Search (OPTIONAL). If you have installed OpenFTS and enabled OpenFTS, you can now install the OpenFTS Driver package and Full Text Search Engine package in the OpenACS service.

  • This is a good time to make a backup of your service. If this is a production site, you should set up automatic nightly backups.

  • If you want traffic reports, set up analog or another log processing program.

  • Follow the instruction on the home page to change the appearance of your service or add more - packages. (more information)

  • Proceed to the tutorial to learn how to develop your own packages.

  • Set up database environment variables for the site + packages. (more information)

  • Proceed to the tutorial to learn how to develop your own packages.

  • Set up database environment variables for the site user. Depending on how you installed Oracle or PostGreSQL, these settings may be necessary for working with the database while logged in as the service user. They do not directly affect the service's run-time connection with the