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.51 -r1.52 --- openacs-4/packages/acs-core-docs/www/openacs.html 27 Oct 2014 16:39:23 -0000 1.51 +++ openacs-4/packages/acs-core-docs/www/openacs.html 7 Aug 2017 23:47:51 -0000 1.52 @@ -1,5 +1,5 @@ -Install OpenACS 5.7.0

Install OpenACS 5.7.0

by Vinod Kurup

+Install OpenACS 5.9.0

Install OpenACS 5.9.0

by Vinod Kurup

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

Set up a user account for each site.

@@ -16,8 +16,7 @@ word, letters and numbers only. If the name of your site is one word, that would be a good choice. For example "$OPENACS_SERVICE_NAME" might be the service name for the - $OPENACS_SERVICE_NAME.net - community.

We'll leave the password blank, which prevents login by + $OPENACS_SERVICE_NAME.net community.

We'll leave the password blank, which prevents login by password, for increased security. The only way to log in will be with ssh certificates. The only people who should log in are developers for that specific instance. Add this user, and put @@ -87,8 +86,8 @@ /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 /var/tmp/openacs-5.7.0.tgz
    -[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.7.0 $OPENACS_SERVICE_NAME
    +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.9.0.tgz
    +[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.9.0 $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
     [$OPENACS_SERVICE_NAME aolserver]$ ls -al
    @@ -101,8 +100,8 @@
     [root root]#
     su - $OPENACS_SERVICE_NAME
     cd /var/lib/aolserver
    -tar xzf /var/tmp/openacs-5.7.0.tgz
    -mv openacs-5.7.0 $OPENACS_SERVICE_NAME
    +tar xzf /var/tmp/openacs-5.9.0.tgz
    +mv openacs-5.9.0 $OPENACS_SERVICE_NAME
     chmod -R 755 $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 PostgreSQL for an OpenACS Service. 

    • PostgreSQL:

      Create a user in the database matching the service - name. With default PostgreSQL authentication, a system user connecting locally automatically authenticates as the postgres user of the same name, if one exists. We currently use postgres "super-users" for everything, which means that anyone with access to any of the openacs system accounts on a machine has full access to all postgresql databases on that machine.

      [root root]# su - postgres
      +            name.  With default PostgreSQL authentication, a system user connecting locally automatically authenticates as the postgres user of the same name, if one exists.  We currently use postgres "super-users" for everything, which means that anyone with access to any of the OpenACS system accounts on a machine has full access to all postgresql databases on that machine.

      [root root]# su - postgres
       [postgres pgsql]$ createuser -a -d $OPENACS_SERVICE_NAME
       CREATE USER
       [postgres pgsql]$ exit
      @@ -238,7 +237,7 @@
       CREATE DATABASE
       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
       su - $OPENACS_SERVICE_NAME
      -/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
    • 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
      +/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
    • 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, @@ -251,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
       

      @@ -304,15 +303,15 @@ to make sure the service is starting without any problems. The most common errors here are trying to start a port 80 server while not root, failing to connect because of - a firewall, and aolserver failing to start due to + a firewall, and AOLserver failing to start due to permissions errors or missing files. If you need to make changes, don't forget to kill any running servers with killall nsd.

    • Automate AOLserver keepalive (OPTIONAL)

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

    • You should see a page from the webserver titled OpenACS Installation: @@ -368,8 +367,16 @@ 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 - 5.7.0 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 /var/tmp/openacs-5.7.0.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 between + 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. In short, + instead of tar xzf + /var/tmp/openacs-5.9.0.tgz, use + cvs -z3 -d + :pserver:anonymous@openacs.org:/cvsroot co + acs-core to obtain an ACS core installation.

    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 @@ -407,4 +414,4 @@ LD_LIBRARY_PATH=/ora8/m01/app/oracle/product/8.1.7/lib:/lib:/usr/lib ORACLE_SID=ora8 ORACLE_TERM=vt100 -ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

  • Test your backup and recovery procedure.

  • Set up the section called “External uptime validation”.

  • ($Id$)
    View comments on this page at openacs.org
    +ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  • Test your backup and recovery procedure.

  • Set up the section called “External uptime validation”.

  • ($Id$)