This guide walks you through the steps for installing and configuring the OCT2 system. OCT2 is a new and improved version of the original OCT system deveveloped by David Gering. OCT2 was used for the CVPR 2003 paper submission and review process and was co-developed by Shendong Zhao and Kyros Kutulakos. The following instructions are an adaptation of the original OCT installation instructions, which can be found here.
OCT2 has been tested on Redhat Linux version 7.3 running on an Intel machine with 1 GB of RAM and 32 Gigs of free local harddisk space.
The webserver software will execute as the user named octadmin. This user account will exist only on the machine that hosts the site, and all webmasters will administer the site as this single user.
Login as root, and type the following commands at the commandline: (NOTE: Currently, the system can be installed ONLY on the /scratch directory)
Logout as root, and login as octadmin. Then do:mkdir /scratch cd /scratch mkdir oct /usr/sbin/groupadd octadmin /usr/sbin/useradd -g octadmin -d /scratch/oct octadmin passwd octadmin chown octadmin oct
Add the following lines to the .bash_profile file (don't forget the leading period on the filename):cd
Then, back at the commandline, do:export OCT_HOME=/scratch/oct
Make sure that the file /scratch/oct/.bashrc contains code to set the PATH environment variable. For example:source .bash_profile
PATH=$PATH:$HOME/bin export PATH
Log in as octadmin and download the OCT2 installation tarfile. This file should be placed in the /scratch/oct directory and named oct2.tar.gz. Unpack the installation:
tar xvfz oct2.tar.gz
OCT2 is based on a collection of free, open-source packages. All these packages are already included in the above installation file but can also be downloaded individually from here:
| Optional Downloads |
|---|
|
http://photo.net/wtr/thebook/utilities.txt
|
|
http://www.openacs.org/software.adp
Click on AOLserver Postgres Driver 2.0.0
|
|
http://www.postgresql.org/sites.html
Click on a mirror and download the 8Meg source file for version 7.1
|
|
http://www.aolserver.com
Download version 3.4
|
As octadmin, do the following
cd /scratch/oct/pkg tar xzvf aolserver-3.4.tar.gz cd $OCT_HOME/pkg cd aolserver-3.4 make make install INST=$OCT_HOME/aolserver cp ~/pkg/utilities.tcl ~/aolserver/modules/tcl
Test the AOLServer by doing:
cd $OCT_HOME/aolserver ./bin/nsd -kt sample-config.tcl
Point your browser to http://YOUR-MACHINE-NAME:8000 (eg. http://euclides.cs.toronto.edu:8000)
See its threads by typing the following command (linux threads have differenct process IDs, or PIDs):
Stop it by looking up its main process's PID...ps -aux | grep nsd
...and killing it with the following command (substituting the PID you looked up in place of "YOUR-PID"):cat log/nspid.server1
kill -9 YOUR-PID
As octadmin, build the software by doing:
cd $OCT_HOME/pkg tar xzvf postgresql-7.1.tar.gz cd postgresql-7.1 ./configure --with-x --prefix=$OCT_HOME/pgsql --exec-prefix=$OCT_HOME/pgsql --libdir=$OCT_HOME/pgsql/lib
Edit the file src/include/config.h to make it compatible with RedHat Linux 7.3:
/* #undef HAVE_READLINE_H */
#define HAVE_LIBREADLINE 1 #define HAVE_READLINE_HISTORY_H 1 #define HAVE_READLINE_READLINE_H 1 #define HAVE_RL_COMPLETION_APPEND_CHARACTER 1 #define HAVE_FILENAME_COMPLETION_FUNCTION_DECL 1
Now complete the installation by typing the following command
As root, create the "postgre" user by doing:make
As postgre, edit your profile by doing:/usr/sbin/groupadd web /usr/sbin/useradd -g web -d /scratch/oct/pgsql postgre passwd postgre mkdir /scratch/oct/pgsql chown postgre.web /scratch/oct/pgsql
cd
Add to the .bash_profile file:
OCT_HOME=/scratch/oct LD_LIBRARY_PATH=$OCT_HOME/pgsql/lib export OCT_HOME LD_LIBRARY_PATH
Make sure the file .bashrc contains code to set the PATH environment variable:
PATH=$PATH:$HOME/bin export PATH
Back at the command line, install the database by doing:
Create the database for oct by doing the following.source .bash_profile cd $OCT_HOME/pkg/postgresql-7.1 make install cd mkdir data cd bin ./initdb -D $OCT_HOME/pgsql/data
Test your postgresql installation.$OCT_HOME/pgsql/bin/postmaster -S -D $OCT_HOME/pgsql/data ./createdb octdb ./createlang --pglib $OCT_HOME/pgsql/lib plpgsql octdb
When the interactive terminal was open, it should have looked like this: (if not, there is a problem)./psql octdb \q
Create a database user for octadmin.Welcome to psql, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit octdb=>
./psql octdb create user octadmin with password 'MYPASS'; \q
As octadmin, do:
cd $OCT_HOME/pkg tar xzvf pgdriver-2.0.tgz
Login as root and type
chmod a+rx /scratch/oct/pgsql
Login as octadmin again and do:
cd pgdriver-2.0 make NSHOME=$OCT_HOME/aolserver PGLIB=$OCT_HOME/pgsql/lib PGINC=$OCT_HOME/pgsql/include make install INSTALL=$OCT_HOME/aolserver
As octadmin, configure the OCT2-specific files by doing:
cd $OCT_HOME/aolserver cp ~/pkg/oct/aolserver/* . chmod 755 init chmod 755 kill chmod 644 nsd.tcl cp -r ~/pkg/oct/servers/* servers
Edit the init and kill scripts to reflect your installation.
Edit nsd.tcl to replace the MailHost, hostname, and MYPASS (that you used for database access above) by modifying the following lines:
set hostname zeus.cs.toronto.edu ns_param MailHost mail.cs.toronto.edu ns_param Password MYPASS source /scratch/oct/aolserver/servers/${server}/tcl/${server}.tcl
Edit servers/oct/tcl/init.tcl.template.etempl to suit your conference. PLEASE read the file's comments for instructions! For example, the following lines were edited for CVPR'03:
Important: Do NOT modify any entries in this file that are surrounded by the 'XX' delimiter, ie. strings of the form XXstringXXset Config(urlConference) "http://www.cs.toronto.edu/cvpr2003" set Config(longTitle) "CVPR 2003 Submissions" set Config(shortTitle) "CVPR" set Config(supportEmail) cvpr2003-pc-chairs@cs.toronto.edu set Config(adminEmail) admin-email@cs.toronto.edu set Config(logoFilename) bikerWP.gif set Config(logoWidth) 150 set Config(logoHeight) 223 set Config(ipNoTrack) "127.0.0.1"
Create an initial configuration for the AOLserver by typing the following, with zeus.cs.toronto.edu replaced by the hostname of the computer running the webserver:
cd /scratch/oct/aolserver/servers/oct/tcl ./configure_oct zeus.cs.toronto.edu
Login as root and do:
mkdir /usr/local/pgsql chown postgre /usr/local/pgsql
Load Data Model into Database
Do the following as the postgre user:
Login as octadmin and make sure the following lines are in ~/.bash_profilecp -r /scratch/oct/pgsql/lib /usr/local/pgsql cd $OCT_HOME/aolserver/servers/oct/pages/admin/sql ~/bin/psql octdb \i postgres.sql \q
Then, do the following:OCT_HOME=/scratch/oct LD_LIBRARY_PATH=$OCT_HOME/pgsql/lib export OCT_HOME LD_LIBRARY_PATH PATH=$PATH:$HOME/pgsql/bin export PATH
source ~/.bash_profile cd $OCT_HOME/aolserver/servers/oct/pages/admin/sql psql octdb \i model.sql \dt \q
|
As octadmin, do:
Edit ka-nsd.tcl to modify the following line: according to your installation. Edit servers/ka/config.ini to replace MY-EMAIL:
|
What Does Keepalive do? |
If you restart your machine, or if there's a power outage, it's nice if all your processes have been configured to restart automatically.
As root, edit /etc/inittab to add lines similar to:
Then apply your changes by entering the following on the command line as root:# Web Servers nsp1:2345:respawn:/scratch/oct/aolserver/init nsp2:2345:respawn:/scratch/oct/aolserver/ka-init
/sbin/init Q
This will restart AOLserver.
To restart the database, do the following as the postgre user...
cp /scratch/oct/pkg/init.txt /etc/rc.d/init.d/postgresql /sbin/chkconfig --add postgresql
To test the server restarting function, login as octadmin and do the following:
cd ~/aolserver/ ./kill
If you encounter trouble starting the database, note that the postmaster process will not start if something happened to create a state where some old lock files are left over. For example, if the postmaster process is not running (you don't see the postmaster process listed when you type: ps -aux), but there are lock files existing as /tmp/.s.PGSQL.*, then you will need to become root to delete these lock files.
To maximize reliability, backups should be performed remotely, from a 'backup host' that stores information on a completely separate file system.
Log on as a regular user on the backup host (e.g., your office machine). Copy and install the backup scripts on the backup host from your AOLserver host (replace zeus.cs.toronto.edu by that hostname):
scp octadmin@zeus.cs.toronto.edu:/scratch/oct/pkg/oct2-remote.tar.gz . tar xvfz oct2-remote.tar.gz
Backups rely on three basic scripts:
These scripts were hard-coded for the CVPR 2003 installation at the University of Toronto. You will need to look at the script source to adapt it to your local installation.
You may wish to consult the documentation and installation instructions of the original OCT system.
The reason OCT (Online Conference Toolkit) is called a "Toolkit" instead of a "Tool" is because you can alter and extend it to fit your conference. Useful resources in this regard are:
| Useful Resources |
|---|
|
Learn TCL
|
|
Learn SQL
|
|
Ask a very knowledgable and helpful community about using PostgreSQL with AOLserver
|
|
AOLserver documentation
|
|
PostgreSQL documentation
|
|
Why use AOLserver instead of Apache?
|
|
Why use PostgreSQL instead of MySQL?
|