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.22.2.3 -r1.22.2.4 --- openacs-4/packages/acs-core-docs/www/openacs.html 8 Dec 2003 15:41:18 -0000 1.22.2.3 +++ openacs-4/packages/acs-core-docs/www/openacs.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 @@ -1,18 +1,18 @@ -Install OpenACS 5.0.0b4

Install OpenACS 5.0.0b4

by Vinod Kurup

+Install OpenACS 5.0.0b4

Install OpenACS 5.0.0b4

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@yourserver root]# mkdir /var/lib/aolserver
-[root@yourserver root]# chgrp web /var/lib/aolserver
-[root@yourserver root]# chmod 770 /var/lib/aolserver
-[root@yourserver root]#
-
mkdir /var/lib/aolserver
+      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.

+chmod 770 /var/lib/aolserver

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,30 +33,30 @@ developers for that specific instance. Add this user, and put it in the service0 group so that it can use database and server commands associated with that group. -

[root@yourserver root]# groupadd web
-[root@yourserver root]# useradd -g service0 -G web service0 -d /home/service0
-[root@yourserver root]#

Install with automated script (EXPERIMENTAL)

Starting with OpenACS 5.0, an experimental script is +

[root root]# groupadd web
+[root root]# useradd -g service0 -G web service0 -d /home/service0
+[root root]#

Install with automated script (EXPERIMENTAL)

Starting with OpenACS 5.0, an experimental script is available to automate all of the steps for the rest of this section. Requires tclwebtest. If you are not feeling lucky, skip to the section called “Install from tarball”.

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@yourserver root]# su - service0
-[service0@yourserver service0]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot co -d install openacs-4/etc/install
+        location.

[root root]# su - service0
+[service0 service0]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot co -d install openacs-4/etc/install
 cvs server: Updating install
 U install/README
 U install/TODO
   ... many lines omitted ...
 U install/tcl/twt-procs.tcl
 U install/tcl/user-procs.tcl
-[service0@yourserver service0]$ cd install
-[service0@yourserver install]$ 
+[service0 service0]$ cd install
+[service0 install]$ 
 

Edit /home/service0/install/install.tcl and change the values as documented in the file. It will work - unchanged at 127.0.0.1:8000.

Run the file as root.

[service0@yourserver service0]$ exit 
-[root@yourserver root]# sh /home/service0/install/install.sh
+        unchanged at 127.0.0.1:8000.

Run the file as root.

[service0 service0]$ exit 
+[root root]# sh /home/service0/install/install.sh
 /home/service0/install/install.sh: Starting installation with config_file 
 /home/service0/install/install.tcl. Using serverroot=/var/lib/aolserver/
 service0, server_url=http://0.0.0.0:8000, do_checkout=yes, do_install=yes, 
@@ -65,30 +65,30 @@
 ./install.sh: Finished (re)installing /var/lib/aolserver/service0 at Wed Nov  
 5 13:27:17 CET 2003.  Access the new site at http://127.0.0.1:8000 with admin 
 username admin@yourserver.test and password 1
-[root@yourserver root]#

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

Install from tarball

You should already have downloaded the OpenACS tarball +[root root]#

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

Install from tarball

You should already have downloaded the OpenACS tarball to the /tmp directory. If not, download the OpenACS 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@yourserver root]# su - service0
    -[service0@yourserver service0]$ cd /var/lib/aolserver
    -[service0@yourserver aolserver]$ tar xzf /tmp/openacs-5.0.0b4.tgz
    -[service0@yourserver aolserver]$ mv openacs-5.0.0b4 service0
    -[service0@yourserver aolserver]$ chmod -R 700 service0
    -[service0@yourserver aolserver]$ ls -al
    +      /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/openacs-5.0.0b4.tgz
      +[service0 aolserver]$ mv openacs-5.0.0b4 service0
      +[service0 aolserver]$ chmod -R 700 service0
      +[service0 aolserver]$ ls -al
       total 3
       drwxrwx---    3 root     web          1024 Mar 29 16:41 .
       drwxr-xr-x   25 root     root         1024 Mar 29 16:24 ..
       drwx------    7 service0 web          1024 Jan  6 14:36 service0
      -[service0@yourserver aolserver]$ exit
      +[service0 aolserver]$ exit
       logout
       
      -[root@yourserver root]#
      -
      su - service0
      +[root root]#
      +su - service0
       cd /var/lib/aolserver
       tar xzf /tmp/openacs-5.0.0b4.tgz
       mv openacs-5.0.0b4 service0
       chmod -R 700 service0/
      -exit
    2. Add the Service to CVS (OPTIONAL)

    3. Prepare the database

  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 dba group. @@ -105,14 +105,14 @@

       service0:~$ su -      
       Password: ************
      -root:~# adduser service0 dba

      +[root ~]# adduser service0 dba

      If you get an error about an undefined group, then add that group manually:

      -root:~# groupadd dba
      -root:~# groupadd web

      +[root ~]# groupadd dba +[root ~]# groupadd web

      Make sure to logout as root when you are finished with this step and log back in as @@ -162,10 +162,10 @@ SVRMGR> exit service0:~$ su - Password: ************ -root:~# mkdir -p /ora8/m02/oradata/ora8/ -root:~# chown service0.web /ora8/m02/oradata/ora8 -root:~# chmod 775 /ora8/m02/oradata/ora8 -root:~# exit +[root ~]# mkdir -p /ora8/m02/oradata/ora8/ +[root ~]# chown service0.web /ora8/m02/oradata/ora8 +[root ~]# chmod 775 /ora8/m02/oradata/ora8 +[root ~]# exit service0:~$

    • Create a tablespace for the service. It is important that the @@ -223,31 +223,31 @@ in the wrong format, make sure you followed the steps outlined in the section called “Troubleshooting Oracle Dates”

  • 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@yourserver root]# su - postgres
      -[postgres@yourserver pgsql]$ createuser -a -d service0
      +            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 service0
       CREATE USER
      -[postgres@yourserver pgsql]$ exit
      +[postgres pgsql]$ exit
       logout
       
      -[root@yourserver root]#
    • Create a database with the same name as our service name, service0.

      [root@yourserver root]# su - service0
      -[service0@yourserver service0]$ createdb -E UNICODE service0
      +[root root]#
    • Create a database with the same name as our service name, service0.

      [root root]# su - service0
      +[service0 service0]$ createdb -E UNICODE service0
       CREATE DATABASE
      -[service0@yourserver 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@yourserver 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
      -0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
    • Add Full Text Search Support (OPTIONAL)

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

    • [service0 service0]$ exit
       logout
       
      -[root@yourserver root]# 
  • Configure an AOLserver Service for OpenACS.�

    1. +[root root]#

  • 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@yourserver root]# su - service0
      -[service0@yourserver service0]$ cd /var/lib/aolserver/service0/etc
      -[service0@yourserver etc]# emacs config.tcl
      +	   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
       

      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.

      [service0 service0]$ exit
       logout
       
      -[root@yourserver root]#
    2. Test your backup and recovery procedure.

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

    ($Id$)
  • View comments on this page at openacs.org
    +[root root]#
  • Test your backup and recovery procedure.

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

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