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 4.6.2 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 4.6.2 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.
This document will describe how to install, configure, and maintain an installation of OpenACS 4.6.2 on a Unix-like system, including all supporting software. All examples in this chapter are part of the OpenACS 4.6.2-P or OpenACS 4.6.2-O Reference Platform, which use Red Hat 8.0. Differences between the Reference Platform and common alternate platforms are noted where known.
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
You will need all of the required Chapter 2.
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 production system, we recommend you read about the ArsDigita Server Architecture
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. 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 Resources 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 Acquire Oracle section.
The basic steps to getting OpenACS up and running are:
Install an OS
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 instance..
This is text you will see on screen, such as a link in a radio button list or menu.
orThis 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/server1 [nsadmin@localhost aolserver]$ dropdb server1 DROP DATABASE [nsadmin@localhost aolserver]$ createdb server1 CREATE DATABASEsu - nsadmin svc -d /service/server1 dropdb server1 createdb server1
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 run to the log and diagnose the problem.
Search the bboards at openacs.org - you'll often find many people who have struggled through the same spot that you're in.
The bottom of each page has a link to OpenACS.org, where you can post comments and read other users comments about the contents of the page.
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 there's a SQL error in the TCL error or in the log, post that too.
If you find errors in this document or if you have ideas about making it better, please post them in our BugTracker.
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 4.6.2. There has been talk about automating the install process, but that hasn't happened yet. Stay tuned!
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.
Version 4.6.2 was edited by Joel Aufrecht.
These are a few of my sources:
Please also see the Credits section for more acknowledgements.
Here's a list of some helpful documentation for various OS's
Painless Debian GNU/Linux by Stephen van Egmond
Once you get your OS installed, it's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box." The Reference Platform implements some basic precautions, but security is a process, not a condition. If you are responsible for a computer hooked to the internet, you are responsible for learning some rudiments of security, such as monitoring the state of a computer, maintaining patch levels, and keeping backups. We recommend these resources:
Here are some resources that OpenACS users have found useful.
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)
LPI certification exam preps - A series of articles from IBM developerworks on basic and intermediate Linux skills (requires registration)