Index: openacs-4/packages/acs-core-docs/www/quick.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/quick.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/quick.html 20 Aug 2003 16:20:16 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/quick.html 14 Oct 2003 11:02:59 -0000 1.3 @@ -1,231 +1,13 @@ - -
+
by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
This page describes a minimal installation of OpenACS with PostGreSQL (not Oracle). It will produce a working OpenACS installation in under an hour. It excludes source control, full text search, ssl, managed services (daemontools), DocBook, and qmail. -
Install PostGreSQL 7.3.2 from RPM. Select - Menu > System Settings > Add/Remove - Applications and select Database Server.
Using the Red Hat RPM.�Red Hat users: If you install PostGreSQL 7.3.2 from the Red Hat 9 RPM, you - can skip a few steps. These shell commands add a link so that the - data directory appears to be in the same place as in a source - install; start the service; create a new group for web service - users, and modify the postgres user's - environment (more - information):
Install Pl/pgSQL.�Set up plpgsq and allow your user to have - access. Plpgsql is a PL/SQL-like language. We add it to - template1, which is the template from which all new - databases are created. We can verify that it was created - with the createlang command in list mode.
[postgres@yourserver pgsql]$ createlang plpgsql template1 -[postgres@yourserver pgsql]$ createlang -l template1 -Procedural languages - Name | Trusted? ----------+---------- - plpgsql | t -(1 row) - -[postgres@yourserver pgsql]$ -createlang plpgsql template1 -createlang -l template1
Unpack the Aolserver tarball.�Download the aolserver tarball to /tmp/aolserver3.3oacs1.tar.gz. As root, untar - aolserver3.3oacs1.tar.gz - into /usr/local/src. -
[root@yourserver root]# cd /usr/local/src -[root@yourserver src]# tar xzf /tmp/aolserver3.3oacs1.tar.gz -[root@yourserver src]# -cd /usr/local/src -tar xzf /tmp/aolserver3.3oacs1.tar.gz
Compile AOLserver.�Compile and install AOLserver. First, prepare the installation directory and the source code. The message about BUILD-MODULES can be ignored.
root@yourserver root]# mkdir -p /usr/local/aolserver -[root@yourserver root]# cd /usr/local/src/aolserver -[root@yourserver aolserver]# ./conf-clean -cat: BUILD-MODULES: No such file or directory -Done. -[root@yourserver aolserver]#mkdir -p /usr/local/aolserver -cd /usr/local/src/aolserver -./conf-clean
- If you are using Oracle, edit - conf-db and change - postgresql to - oracle, or to the word - both if you want both drivers - installed. In order to get nsoracle to compile, you may - need to su - oracle, and then su (without the -) root to set - the environment variables properly. -
conf-inst should contain the - location where AOLserver is to be installed. Overwrite the - tarball's default value with our default value, /usr/local/aolserver:
[root@yourserver aolserver]# echo "/usr/local/aolserver" > conf-inst -[root@yourserver aolserver]#
conf-make should contain the - name of the GNU Make command on your system. It defaults to - gmake.
Set an environment variable that the nspostgres driver - Makefile needs to compile correctly and run - conf, which compiles - AOLserver, the default modules, and the database driver, and - installs them.
(Debian Users working with AOLserver 3.3+ad13 and - postgresql from apt-get may need to - make these symlinks: ln -s - /usr/include/postgresql/ /usr/include/pgsql - and ln -s /usr/lib/postgresql /usr/local/pgsql)
[root@yourserver aolserver]# export POSTGRES=/usr/local/pgsql; ./conf
-Building in /usr/local/aolserver
-with the following modules:
-aolserver
-nscache
-nsrewrite
-nssha1
-nsxml
-pgdriver
-==================================================================
-Starting Build Sat Mar 8 10:28:26 PST 2003
-Running gmake in aolserver/; output in log/aolserver.log
-(several minute delay here)
-Running gmake in nscache/; output in log/nscache.log
-Running gmake in nsrewrite/; output in log/nsrewrite.log
-Running gmake in nssha1/; output in log/nssha1.log
-Running gmake in nsxml/; output in log/nsxml.log
-Running gmake in nspostgres/; output in log/nspostgres.log
-Creating ...
-==================================================================
-Done Building Sat Mar 8 10:31:35 PST 2003
-[root@yourserver aolserver]#
- This takes about 5 minutes. It builds aolserver, several modules, and the database driver. (Upgraders, note that the postgres database driver has changed from postgres.so to nspostgres.so). All of the results are logged to files in /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors.
Add a database-specific wrapper script.�This script - sets database environment variables before starting - AOLserver; this allows the AOLserver instance can - communicate with the database. There is one script each for - Oracle and PostGreSQL. They don't conflict, so if you plan - to use both databases, install both.
Oracle
[root@yourserver aolserver]# cd /usr/local/aolserver/bin -[root@yourserver bin]# cp /tmp/openacs-5.0.0d/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle -[root@yourserver bin]# chmod 750 nsd-oracle -[root@yourserver bin]# -cd /usr/local/aolserver/bin -cp /tmp/openacs-5.0.0d/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle -chmod 750 nsd-oracle
PostGreSQL
[root@yourserver aolserver]# cd /usr/local/aolserver/bin -[root@yourserver bin]# cp /tmp/openacs-5.0.0d/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres -[root@yourserver bin]# chmod 755 nsd-postgres -[root@yourserver bin]# -cd /usr/local/aolserver/bin -cp /tmp/openacs-5.0.0d/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres -chmod 755 nsd-postgres
The reference install stores all OpenACS services in - /web, with one subdirectory per - service. The first time you install a service, you must create - that directory and set its permissions:
[root@yourserver root]# mkdir /web -[root@yourserver root]# chgrp web /web -[root@yourserver root]# chmod 770 /web -[root@yourserver root]# -mkdir /web -chgrp web /web -chmod 770 /web
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:
- 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 - important that this user has as few privileges as possible. Why? - Because if an intruder somehow breaks in through AOLserver, you don't - want her to have any ability to do damage to the rest of your - server.
At the same time, AOLserver needs to have write access to - some files on your system in order for OpenACS to function - properly. So, we'll run AOLserver with a different user account - 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 "service0" might be the service name for the - service0.net - community.
For the 5.0.0d-P and 5.0.0d-O Reference Platform, - we'll use a server named service0 and - a user named service0. We'll leave the password - blank 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 - it in the web group so that it - can use database commands associated with that group. -
[root@yourserver root]# useradd -g web service0 -d /home/service0 -[root@yourserver root]#
Set up database environment variables. They are - necessary for working with the database. -
[root@yourserver root]# su - service0
-[service0@yourserver service0]$ emacs .bashrc
Put in the appropriate lines for the database you are running. If you will use both databases, put in both sets of lines.
PostGreSQL:
export LD_LIBRARY_PATH=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib -export PATH=$PATH:/usr/local/pgsql/bin
Oracle. These environment variables are specific for a local Oracle - installation communicating via IPC. If you are connecting to a remote - Oracle installation, you'll need to adjust these appropriately. Also, - make sure that the '8.1.7' matches your Oracle version. -
export ORACLE_BASE=/ora8/m01/app/oracle
-export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
-export PATH=$PATH:$ORACLE_HOME/bin
-export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
-export ORACLE_SID=ora8
-export ORACLE_TERM=vt100
-export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
Test this by logging out and back in as - service0 and checking the paths.
[service0@yourserver service0]$ exit
-logout
-[root@yourserver src]# su - service0
-[postgres@yourserver pgsql]$ env | grep PATH
-
For PostGreSQL, you should see:
-LD_LIBRARY_PATH=LD_LIBRARY_PATH=:/usr/local/pgsql/lib -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
For Oracle:
ORACLE_BASE=/ora8/m01/app/oracle -ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7 -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/ora8/m01/app/oracle/product/8.1.7/bin -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
[service0@yourserver service0]$ exit -logout - -[root@yourserver root]#
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 /web -[service0@yourserver web]$ tar xzf /tmp/openacs-5.0.0d.tgz -[service0@yourserver web]$ mv openacs-5.0.0d service0 -[service0@yourserver web]$ chmod -R 700 service0 -[service0@yourserver web]$ 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 web]$ exit -logout - -[root@yourserver root]# -su - service0 -cd /web -tar xzf /tmp/openacs-5.0.0d.tgz -mv openacs-5.0.0d service0 -chmod -R 700 service0/ -exit
Create a user in the database matching the service name.
[root@yourserver root]# su - postgres
-[postgres@yourserver pgsql]$ createuser service0
-Shall the new user be allowed to create databases? (y/n) y
-Shall the new user be allowed to create more new users? (y/n) y
-CREATE USER
-[postgres@yourserver 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 -CREATE DATABASE -[service0@yourserver service0]$ -su - service0 -createdb -E UNICODE service0
[service0@yourserver service0]$ exit -logout - -[root@yourserver root]#
- 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 - 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 - nsd and selectively kill by job number.
[service0@yourserver etc]$ killall nsd
-nsd: no process killed
-[service0@yourserver service0]$ /usr/local/aolserver/bin/nsd-postgres -t /web/service0/etc/config.tcl
-[service0@yourserver service0]$ [08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: starting to read config file...
-[08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: finished reading config file.
After completing installation and restarting the server, go to http://localhost:8000 for configuration and customization instructions. You can upgrade a Quick Install with source control, full text search, backup/recovery, and other production features by walking through the Installation documentation and doing the steps marked OPTIONAL.
Install PostGreSQL 7.3.2 from RPM. Select + Menu > System Settings > Add/Remove + Applications and select Database Server.
After completing installation and restarting the server, go to http://localhost:8000 for configuration and customization instructions. You can upgrade a Quick Install with source control, full text search, backup/recovery, and other production features by walking through the Installation documentation and doing the steps marked OPTIONAL.