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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/openacs.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/openacs.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,4 +1,4 @@ -Install OpenACS

Install OpenACS

by Vinod Kurup

+Install OpenACS 5.0.1d1

Install OpenACS 5.0.1d1

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, @@ -69,9 +69,10 @@ tarball and save it in /tmp and proceed:

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

    [root root]# su - service0
     [service0 service0]$ cd /var/lib/aolserver
    -[service0 aolserver]$ tar xzf /tmp/.tgz
    -[service0 aolserver]$ mv  service0
    -[service0 aolserver]$ chmod -R 700 service0
    +[service0 aolserver]$ tar xzf /tmp/openacs-5.0.1d1.tgz
    +[service0 aolserver]$ mv openacs-5.0.1d1 service0
    +[service0 aolserver]$ chmod -R 775 service0
    +[service0 aolserver]$ chown -R service0.service0 service0
     [service0 aolserver]$ ls -al
     total 3
     drwxrwx---    3 root     web          1024 Mar 29 16:41 .
    @@ -82,9 +83,10 @@
     [root root]#
     su - service0
     cd /var/lib/aolserver
    -tar xzf /tmp/.tgz
    -mv  service0
    -chmod -R 700 service0/
    +tar xzf /tmp/openacs-5.0.1d1.tgz
    +mv openacs-5.0.1d1 service0
    +chmod -R 755 service0
    +chgrp -R service0.service0 service0
     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. service0) is in the @@ -218,15 +220,15 @@ CREATE DATABASE [service0 service0]$ su - service0 -createdb -E UNICODE service0

    • 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.

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

      Add this line to the file. 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.

      0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
      +createdb -E UNICODE service0
    • 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.

      [service0 service0]$ 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 service0
       0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
    • Add Full Text Search Support (OPTIONAL)

    • At this point the database should be ready for installing OpenACS.

  • Configure an AOLserver Service for OpenACS.�

    1. The AOLserver architecture lets you run an arbitrary number of virtual servers. A virtual server is an HTTP service running on a specific port, e.g. port 80. In order for OpenACS to work, you need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/service0/etc/config.tcl. - Open it in an editor to adjust the parameters.

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

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

      @@ -253,20 +255,16 @@

    2. Enable OpenFTS Full Text Search (OPTIONAL)

    3. Install nsopenssl for SSL support. (OPTIONAL)

  • Verify AOLserver startup.�

    1. Kill any current running AOLserver processes and start a new - one. If you are using Oracle, rather than PostgreSQL, replace - nsd-postgres with - nsd-oracle).

      If you want to use port 80, there are complications. - First, AOLserver must be root to use system ports such as - 80, but refuses to run as root for security reasons. Thus - you must start as root and specify a non-root user ID and + one. The recommended way to start an AOLserver process is by running the included script, /var/lib/aolserver/service0/packages/etc/daemontools/run. If you are not using the default file paths and names, you will need to edit run.

      If you want to use port 80, there are complications. AOLserver must be root to use system ports such as + 80, but refuses to run as root for security reasons. So, we call the run script as root and specify a non-root user ID and Group ID which AOLserver will switch to after claiming the port. To do so, find the UID and GID of the service0 user via grep service0 /etc/passwd and then put those numbers into the command line via -u 501 -g - 502. Second, if you are root then killall will affect all OpenACS services on the machine, so if there's more than one you'll have to do ps -auxw | grep + 502. In AOLserver 4, you must also send a -b flag. Do this by editing the run file as indicated in the comments.

      If you are root then killall will affect all OpenACS services on the machine, so if there's more than one you'll have to do ps -auxw | grep nsd and selectively kill by job number.

      [service0 etc]$ killall nsd
       nsd: no process killed
       [service0 service0]$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/service0/etc/config.tcl
      @@ -291,7 +289,7 @@
               AOLserver keepalive (OPTIONAL)

  • Configure a Service with the OpenACS Installer.� Now that you've got AOLserver up and running, let's install OpenACS - . + 5.0.1d1.

    • You should see a page from the webserver titled OpenACS Installation: @@ -347,15 +345,15 @@ Give the server a few minutes to start up. Then reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS - is now up and running! + 5.0.1d1 is now up and running!

  • Next Steps

    • Use daemontools supervice 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 - user. These settings are necessary for working with the + 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 database, because those environmental variables are set by the