Overview
by Vinod Kurup
What is OpenACS?
According to Philip Greenspun:
The ArsDigita Community System (ACS) is a toolkit of software
that will help you build Web services with a collaborative dimension,
ranging from knowledge management within companies to B2C ecommerce
to product support and community among the customers. The software is
free and open-source and has been tested in heavy use since
1995.
What's OpenACS? OpenACS was born when Don Baccus, Ben Adida,
et al decided to port ACS from Oracle to PostgreSQL, thus making it a fully open-source solution.
OpenACS &version; is the next generation of the web toolkit. It's based on
ACS 4, but no longer follows ArsDigita development. Unlike both ACS
(which required Oracle) and OpenACS 3.x (which required PostgreSQL),
OpenACS &version; allows you to use either database. It's also built in such
a way to allow enterprising hackers (in the good sense of
the word) to extend it to other databases. Don Baccus leads
the development and numerous developers (and non-developers)
contribute from around the world.
Purpose of this document
This document will describe how to install an operating
system, OpenACS &version;, and all supporting software, from
scratch.
Requirements
You will need a PC (or equivalent) with at least these minimum
requirements:
Pentium processor
128 MB RAM
(much more if you want Oracle)
4 GB hard drive
If you want to serve pages to people outside of your machine, you'll
need a network connection of some type.
Note that these are minimum requirements to get a development system
up and running. For a large production system, we recommend you read about
the (now slightly obsolete) ArsDigita
Server Architecture article.
Running a reliable database-backed web server requires experience
with the server's environment, in this case UNIX. UNIX is not always
an intuitive environment and this guide cannot hope to explain every
nuance. If you follow the reference implementation, all of
the unix commands you need will be in the text. However,
you will have trouble indentifying typos or other problems.
Ideally, you should be comfortable with the following tasks before
attempting an installation:
Adding users, groups, setting passwords
(For Oracle) Starting an X server and running an X program remotely
Basic file management using cp, rm,
mv, and cd
Compiling a program using ./config and make.
If you've never done these things before, consider exploring UNIX in
greater depth before installing OpenACS. Some useful resources for
doing this are described in the
section.
All of the software that you will need is free and open-source,
except for Oracle. You can obtain a free copy of Oracle for
development purposes. This is described in the section.
Steps involved
The basic steps to getting OpenACS up and running are:
Install an OS and supporting software
Install a webserver (AOLServer)
Install a database (Oracle or
PostgreSQL)
Install a database driver (allows the webserver to talk to the database)
Start the OpenACS
installer, which will configure a database.
How to use this guide
This is text that
tells you to do something, like click a
Button or
link
This is an option you will see
on screen, such as in a radio button list or menu.
This is text that you will type.
This is text from a program or file which you may need to
examine or edit:
if {$database == "oracle"} {
set db_password "mysitepassword"
}
This is text that you will
see and type in a command shell, including text you may have to
change. It is followed by a list of just the commands,
which you can copy and paste.
[root@localhost root]# su - nsadmin
[nsadmin@localhost aolserver]$ svc -d /service/openacs-dev
[nsadmin@localhost aolserver]$ dropdb openacs-dev
DROP DATABASE
[nsadmin@localhost aolserver]$ createdb openacs-dev
CREATE DATABASE
su - nsadmin
svc -d /service/openacs-dev
dropdb openacs-dev
createdb openacs-dev
What if I get stuck?
We'll do our best to assure that following our instructions will get
you to the promised land. If something goes wrong, don't
panic. There are plenty of ways to get help. Here are some tips:
Keep track of the commands you are run and record their output. I
like to do my installations in a shell inside of emacs
(M-x shell) so that I can save
the output if needed. An alternative would be to use the
script command.
We'll point out where the error logs for the various pieces of
software are. Output from those logs will help us help you. Don't
worry if you feel overwhelmed by all the information in the error
logs. Over time, you'll find that they make more and more
sense. Soon, you'll actually look forward to errors so that you
can find the problem in the log.
Search the bboards at
openacs.org - you'll often find many people who have
struggled through the same spot that you're in.
Ask questions at the irc channel on openprojects.net
(#openacs). They're knowledgeable and quite friendly if you can
keep them on topic.
Post a question on the bboards. Make sure
you've done a search first. When you do post, be sure to include
your setup information (OS, etc) as well as the exact commands
that are failing with the accompanying error. If you want to post
stuff from your logs (please do!), be sure to enclose them in
<PRE></PRE> tags so that they don't get all jumbled
together.
If you find errors in this document or if you have ideas about
making it better, please post them in our
BugTracker.
Is there an easier way?
After reading through this tome, you may ask yourself if there is a
better way. Well, not quite. Jonathan Marsden has created RPMs (at
http://www.xc.org)
for OpenACS 4.5 but there are not yet any for version
&version;. There has been talk about automating the install process,
but that hasn't happened yet. Stay tuned!
Where did this document come from?
This document was created by Vinod Kurup, but it's really
just plagiarism from a number of documents that came before it. If
I've used something that you've written without proper credit, let me
know and I'll fix it right away.
These are a few of my sources:
ArsDigita installation guide
OpenACS 3.x installation guide
Gilbert Wong's FreeBSD
installation guide
Vinod
Kurup's Brief OpenACS4 installation guide
Joel
Aufrecht's OpenACS 4.5 Quick Guide.
Please also see the section for more acknowledgements.
Resources
Here are some resources that OpenACS users have found useful.
Books
Philip
and Alex's Guide to Web Publishing - A very readable
guide to database-backed community websites.
UNIX
Power Tools - An excellent introduction to the
command line tools and basic programs of UNIX
UNIX
System Administration Handbook (formerly the "red book"
- now the "purple" book)
UNIX
System Administrator's Bible - (LePage and Iarerra 1998;
IDG)
Running
Linux
Learning
Gnu Emacs
Linux
in a Nutshell
Web Sites
The UNIX
Reference Desk
The Linux Documentation
Project
LPI
certification exam preps - A series of articles from
IBM developerworks on basic and intermediate Linux skills
(requires registration)
($Id: overview.xml,v 1.7 2003/02/28 05:27:39 joela Exp $)