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.42 -r1.43 --- openacs-4/packages/acs-core-docs/www/openacs.html 16 Feb 2005 00:21:03 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/openacs.html 4 Jun 2006 00:45:24 -0000 1.43 @@ -1,4 +1,5 @@ -Install OpenACS 5.2.0d1

Install OpenACS 5.2.0d1

by Vinod Kurup

+ +Install OpenACS 5.2.3b1

Install OpenACS 5.2.3b1

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.

@@ -14,7 +15,7 @@ for each different service. A service name should be a single 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 + 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 password, for increased security. The only way to log in will @@ -79,15 +80,15 @@ admin email : admin@yourserver.net 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 +[root root]#

You can proceed to Section�, “Next Steps”.

Installation Option 2: Install from tarball

You should already have downloaded the OpenACS tarball to the /var/tmp directory. If not, download the OpenACS tarball and save it in /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.2.0d1.tgz
    -[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
    +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.2.3b1.tgz
    +[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.2.3b1 $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
    @@ -100,8 +101,8 @@
     [root root]#
     su - $OPENACS_SERVICE_NAME
     cd /var/lib/aolserver
    -tar xzf /var/tmp/openacs-5.2.0d1.tgz
    -mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
    +tar xzf /var/tmp/openacs-5.2.3b1.tgz
    +mv openacs-5.2.3b1 $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
       logout
      -[root root]#
    • Create a database with the same name as our service name, $OPENACS_SERVICE_NAME.

      [root root]# su - $OPENACS_SERVICE_NAME
      -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ createdb -E UNICODE $OPENACS_SERVICE_NAME
      +[root root]#
    • Create a database with the same name as our service name, $OPENACS_SERVICE_NAME. The full pathname for createdb needs to be used, since the pgsql directory has not been added to the $OPENACS_SERVICE_NAME bash profile.

      [root root]# su - $OPENACS_SERVICE_NAME
      +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
       CREATE DATABASE
       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
       su - $OPENACS_SERVICE_NAME
      -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, you can add > /dev/null 2>&1 to the end of each crontab - line

    • Add Full Text Search Support (OPTIONAL)

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

  • Configure an AOLserver Service for OpenACS.�

    1. + line

    2. Add Full Text Search Support (OPTIONAL)

    3. 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/$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
       

      You can continue without changing any values in the file. However, if you don't change address to match the computer's ip address, you won't be able to browse to your server from other machines.

      • httpport - If you want your server on a different port, enter it here. The Reference Platform port is 8000, which is suitable for development use. Port 80 is the standard http port - it's the port used by your browser when you enter http://yourserver.test. So you should use port 80 for your production site.

      • httpsport - This is the port for https requests. The Reference Platform https port is - 8443. If http port is set to 80, httpsport should be 143 to + 8443. If http port is set to 80, httpsport should be 443 to match the standard.

      • address - The IP address of the server. If you are hosting multiple IPs on one computer, this is the address specific to the web site. Each virtual server will ignore any requests directed at other addresses.

      • server - This is the keyword that, by convention, identifies the service. It is also used as part of the path for the service root, as the name of the user for running the service, as the name of the database, and in various dependent places. The Reference Platform uses $OPENACS_SERVICE_NAME. @@ -274,7 +275,7 @@ AOLserver is very configurable. These settings should get you started, but for more options, read the AOLserver docs. -

      • Enable OpenFTS Full Text Search (OPTIONAL)

      • Install nsopenssl +

      • Enable OpenFTS Full Text Search (OPTIONAL)

      • Install nsopenssl for SSL support. (OPTIONAL)

  • Verify AOLserver startup.�

    1. Kill any current running AOLserver processes and start a new one. The recommended way to start an AOLserver process is by running the included script, /var/lib/aolserver/$OPENACS_SERVICE_NAME/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 @@ -311,7 +312,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.2.0d1. + 5.2.3b1.

    • You should see a page from the webserver titled OpenACS Installation: @@ -341,35 +342,35 @@ The following page shows the results of loading the core package data models. You should see positive results for each of the previously selected packages, but watch out for any - errors. Eventually, the page will display "Generating secret - tokens" and then "Done"- click + errors. Eventually, the page will display "Generating secret + tokens" and then "Done"- click Next.

    • - You should see a page, "OpenACS Installation: Create - Administrator" with form fields to define the OpenACS site + You should see a page, "OpenACS Installation: Create + Administrator" with form fields to define the OpenACS site administrator. Fill out the fields as appropriate, and click Create User.

    • - You should see a page, "OpenACS Installation: Set System - Information" allowing you to name your service. Fill out the + You should see a page, "OpenACS Installation: Set System + Information" allowing you to name your service. Fill out the fields as appropriate, and click Set System Information

    • - You'll see the final Installer page, "OpenACS - Installation: Complete." It will tell you that the server is + You'll see the final Installer page, "OpenACS + Installation: Complete." It will tell you that the server is being restarted; note that unless you already set up a way for AOLserver to restart itself (ie. inittab or daemontools), you'll need to manually restart your service.

      [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/$OPENACS_SERVICE_NAME/config.tcl
    • 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.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 /var/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.3b1.tgz, cvs -z3 -d :pserver:anonymous@openacs.org:/cvsroot co acs-core.

    Next Steps

  • 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 Section�, “External uptime validation”.

  • ($Id$)
    View comments on this page at openacs.org