Installing OpenACS on FreeBSD
OpenACS and .LRN are available via FreeBSD ports. See en:openacs-system-install-freebsd-ports.
The following notes are useful if you decide to follow the OpenACS manual installation process using FreeBSD. These notes include points where a manual FreeBSD install differes from the slow, manual en:openacs-system-install.
The following information is pulled from: https://openacs.org/forums/message-view?message_id=312823 and https://openacs.org/forums/message-view?message_id=136910 and https://openacs.org/forums/message-view?message_id=312823
The OpenACS Reference Platform uses shell scripts written for bash, which is the standard Linux shell. If you are using a different shell, you will need to substitute your shell's conventions for setting environment variables when appropriate, and install bash to work with the scripts. Substitute fetch when the instructions suggest you use wget to download software.
Note that on most linux distributions, GNU Make is simply named make and there is no gmake, whereas on BSD distributions, make and gmake are different --use gmake.
Change the period separating user.group in chown commands to use a colon ":" instead. For example,
chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
becomes:
chown -R $OPENACS_SERVICE_NAME:$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
Should you decide to install OpenACS from source using general en:openacs-system-install instructions, refer to these notes for changes:
Installing tdom
FreeBSD can use the standard tdom from ports when installing manually, without going the extra step of installing tdom within the aolserver src tree.
Installing en:postgresql
Creating postgres user
To set defaults for new users or special service users you may create, edit the file /etc/share/skel/dot.profile instead of /etc/profile
To create the user, we need to add more parameters to match what is expected from creating a user in linux.
[root src]# mkdir -p /usr/local/pgsql
[root src]# pw groupadd -n web
[root src]# pw useradd -n postgres -g web -d /usr/local/pgsql -s /bin/bash
[root src]# chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
[root src]# chmod -R 750 /usr/local/pgsql
[root src]#
mkdir -p /usr/local/pgsql
pw groupadd -n web
pw useradd -n postgres -g web -d /usr/local/pgsql -s /bin/bash
chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
chmod -R 750 /usr/local/pgsql
Set PostgreSQL to start on boot
[root ~]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
[root ~]# chown root:wheel /usr/local/etc/rc.d/postgresql.sh
[root ~]# chmod 755 /usr/local/etc/rc.d/postgresql.sh
[root ~]#
cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
chown root:wheel /usr/local/etc/rc.d/postgresql.sh
chmod 755 /usr/local/etc/rc.d/postgresql.sh
Test the script
[root ~]# /usr/local/etc/rc.d/postgresql.sh stop Stopping PostgreSQL: ok [root ~]#
If PostgreSQL successfully stopped, then turn it back on because we'll use it later.
[root root]# /usr/local/etc/rc.d/postgresql.sh start
Starting PostgreSQL: ok
[root root]#
/usr/local/etc/rc.d/postgresql.sh start
PostgreSQL performance tuning
See man syctl, man 5 sysctl and man 5 loader.conf.
Installing Libthreads 2.6.5
cd /usr/local/src/aolserver/ fetch http://mesh.dl.sourceforge.net/sourceforge/tcl/thread2.6.5.tar.gz tar xzpf thread2.6.5.tar.gz cd thread2.6.5/unix less ../README ../configure --help ../configure --enable-threads --prefix=/usr/local/aolserver --exec-prefix=/usr/local/aolserver --with-aolserver=/usr/local/aolserver --with-tcl=/usr/local/lib/tcl8.4-threads gmake gmake install
Creating users
We need to add more parameters to have user environments match the linux ones expected by the en:openacs-reference-platform.
Create users this way:
[root root]# mkdir -p /home/$OPENACS_SERVICE_NAME [root root]# pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash [root root]# mkdir -p /home/$OPENACS_SERVICE_NAME pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash