Hi all !
I'm new to this forum, so I'll start with a (very) few words about me.
I'm a french linux admin, I'll start new studies in October in France, and I'm working until this with Rafael Calvo at the WEG here in Sydney.
So I've started with installing the dotlrn on my debian box (unstable updated just before the install). And I've seen some parts of the installation
process are not correct (anymore ?) for my case. I propose you what I have seen over the last few days.
First, there is no dotlrn installation documentation, everytime it refers to openacs. I understand that the dotlrn is based on openacs, and so it
can be installed in the same way, but it would be interesting to have a real dotlrn doc.
Then I post my notes about the problems I had. As I am not a developper, this is all to be discussed. I've found ways to make it work, but they are surely not the best !
I download an archive of dotlrn (https://openacs.org/projects/dotlrn/download/one-revision?revision_id=248613), and save it.
As a large part of the process needs to be done as root, I suggest to save it in /root directory.
So I will refer to <dotlrn_archive_dir> for /root.
Notes :
-> corrected the ln include to find libpq-fe.h
-> added the socket link. Not a good way, but should be enough to run it correctly
apt-get install postgresql postgresql-dev postgresql-doc
ln -s /usr/include/postgresql/8.0 /usr/include/pgsql
ln -s /var/lib/postgres /usr/local/pgsql
ln -s /usr/include/postgresql/8.0 /usr/local/pgsql/include
ln -s /var/run/postgresql/.s.PGSQL.5432 /tmp/.s.PGSQL.5432
su postgres -c "/usr/bin/createlang plpgsql template1"
Notes :
-> I will skip these steps, as I want to keep the debian startup script. I've added the ln socket before, and I'll add a nework conf later
-> I should add a few iptables rules to secure all of that.
cp <dotlrn_extracted_dir>/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
chown root.root /etc/init.d/postgresql
chmod 755 /etc/init.d/postgresql
Notes :
-> look at the logs ! the errors are not said, for example it didn't find libpq-fe.h, failed to compile nspostgres module, but said done.
cd /usr/local/src
wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
tar xzf aolserver3.3oacs1.tar.gz
mkdir -p /usr/local/aolserver
cd /usr/local/src/aolserver
./conf-clean
echo "/usr/local/aolserver" > conf-inst
export POSTGRES=/usr/local/pgsql; ./conf
cd /usr/local/aolserver/bin
cp <dotlrn_extracted_dir>/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
chmod 755 nsd-postgres
cd /usr/local/src
wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz
tar xzf tDOM-0.7.8.tar.gz
cd tDOM-0.7.8/unix
Edit the file CONFIG and change this section:
# ----------------------------------------------------
# aolsrc="/usr/src/aolserver-3.4"
# ../configure --enable-threads --disable-tdomalloc \
# --with-aolserver=$aolsrc \
# --with-tcl=$aolsrc/tcl8.3.4/unix
to
# ----------------------------------------------------
aolsrc="/usr/local/src/aolserver/aolserver"
../configure --enable-threads --disable-tdomalloc \
--with-aolserver=$aolsrc \
--with-tcl=$aolsrc/tcl8.3.2/unix
sh CONFIG
make
cp libtdom0.7.8.so /usr/local/aolserver/bin/
cd /usr/local/aolserver/bin
ln -s libtdom0.7.8.so libtdom.so
Notes :
-> Does the group web exists by default on all distribs ?
-> I had to export http_proxy, so lynx is looking for that proxy instead of localhost ....
cd /usr/local/aolserver
chown -R root.web log servers
chmod -R g+w log servers
ls -l
./bin/nsd -t sample-config.tcl -u nobody -g web
lynx localhost:8000
killall nsd
mkdir /var/lib/aolserver
chgrp web /var/lib/aolserver
chmod 770 /var/lib/aolserver
Notes :
-> this doesn't create the home dir so it will use / everytime, and will not save the history
useradd service0
-> service0 can't access /var/lib/aolserver : change rights or groups ?
chmod 777 /var/lib/aolserver
su - service0
cd /var/lib/aolserver
tar xzf <dotlrn_archive.tgz>
mv <dotlrn_dir> service0
chmod -R 700 service0/
exit
su - postgres
createuser -a -d service0
exit
su - service0
createdb -E UNICODE service0
crontab -e
Add this to the crontab :
0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze service0
0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
cd /var/lib/aolserver/service0/etc
edit config.tcl if necessary (for example, add ip address of the host to use network conn to postgres, instead of unix sockets)
killall nsd
/usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/service0/etc/config.tcl
now go to http://yourserver.test:8000
The automatic install script fails, one of the reasons is that it tries to download some files from the cvs with address "openacs.org" when it is "cvs.openacs.org"
(same problem in the current dotlrn doc where it always refers to openacs.org).
The good point is that I had to compile only aolserver and tdom, I use the debian packages for everything else.
I have tried then to install from the cvs (as written https://openacs.org/doc/openacs-5-1/dotlrn/dotlrn-install ) but it was not possible
(didn't find it in the doc) to install dotlrn directly from the cvs. We have to download and install openacs, then download dotlrn packages and use the openacs admin to install it.
And there are lots of bugs : I had to install 3 or 4 more packages, come back several times because 1 packages couldn't be installed,
I had to manually remove some tables from the database, to finally have it installed. Then It was the step "add it to the sb folder" which I haven't completed yet.
I apologise for this very long first posting on this forum !
I hope I can help the very good project.
Jeremy