Forum OpenACS Q&A: Volunteers to test OpenACS/AOLserver/PG7.1 RPMs wanted
AOLserver 3.2+ad12, and Postgresql 7.1 in under two minutes on a
Red Hat 6.2 box with a single 'rpm -Uvh *rpm' command.
We now need some volunteers to check that these RPMs will install
on *their* Red Hat 6.2 Linux boxes also. The initial intent is that
these work on machines which do NOT have an
existing PG/AolServer/OpenACS installation on them.
Speak up if you have a Red Hat 6.2 machine you could try this out on
and report back. We're talking about a total of 8 RPMS, 4 of which are
PG 7.1 RPMs.
See https://openacs.org/file-storage for the RPMs I created, links to the
other RPMS you'll need, etc.
This is on a newly installed stock Redhat 6.2 system. I did have to update rpm to 4.02 otherwise it won't install the rpms at all.
Regarding the port number, if you want it on port 80 you can edit
/etc/aolserver/nsd.tcl -- just change the
statement on line 14 from
set httpport 8000
set httpport 80
and restart aolserver. The reason we set it to port 8000 by default is (I believe) so that you can install and run it "out of the box" even on a system which already has Apache running.
BTW, a version for openacs 3.2.5 based on the latest CVS code appears to work here ... I need to coordinate with the team, but it would be great if we can release this at the same time that the openacs-3.2.5 tarball is released
I knew about it, but I don't have access to a box with RPM 3.x on it to build with right now. It is an issue, and I expect to fix it (even if I have to blow away an existing install or buy a new hard disk) before too long. We want this to be installable on a truly stock Red Hat 6.2 machine if we possibly can.
Sometimes, it turns out that keeping all your systems up to date with security patches issues by Red Hat has unwanted side-effects -- such as the inability to create RPMv3 binary RPMs! If anyone knows of a way to create RPMv3-compatible binary RPMs on a system running RPM 4.0.2, I would really love to hear from you.
I covered some of that in the README-rpm.txt file included with the aolserver RPM, and of course the rpm -ql command will list all the files in each RPM just fine.
But yes, a document describing how I built these RPMs and why I did it that way is coming. These RPMs are available for testing right now. Eventually, once polished and refined, I would hope we could submit them to RH for possible inclusion. But not quite yet It's flattering that I'm getting questions about submission to RH already, but I think it might be a little early!!
The File Layout:
- postgresql 7.1 is Lamar's work, he knows what he is doing and I believe that RH would have no problem accepting these RPMs.
aolserver is under /var/lib/aolserver except for
- a config file in /etc/aolserver
- include files in /usr/include/aolserver
- libraries in /usr/lib/
- binaries in /usr/bin
- documentation under /usr/doc/aolserver-*/
- init script in /etc/rc.d/init.d
- log files will go under /var/log/aolserver
- pid file will go under /var/run/aolserver
This follows the PG RPM model reasonably closely, and I hope is fairly FHS compliant, though I don't want to claim that for them at this stage. First let's make it work for several testers, and get documentation reasonable, then we can look at 100% FHS compliance!
It was FHS compliance issues (and a general "try to be Red-Hat-ish" mindset) that led to the file locations being different from the traditional ones. Just as the PG RPMs do not install to the places the PG tarball make install does.
- aolserver-postgresql puts postgres.so into /usr/lib, along with the PG and aolserver libs.
- openacs itself then sits under /var/lib/aolserver/servers/defaultacs/ . This seemed appropriate given the way AOLsever handles things, and avoids the very un-FHS /web oddity.
As the README-rpm.txt says:
Constructive comments and suggestions on this packaging approach are welcomed...
I'm not the experienced RPM creator that Lamar is. I have done some RPM work before, including building custom CD images based on RH but with extra stuff in them. But I have not done my RPM creation as publically as this before. If there are better ways, talk to me and I'll listen. One thing I have thought of would be for the openacs RPM to add a symlink in /etc/aolserver that points to the openacs parameter file... would that have been useful?
Dave: If I had put more info on file locations into a doc file under /usr/doc/openacs-3.2.*/ would you have looked there for it? If not, where would you have looked? Should we have a man page so that man openacs tells you about this? In other words, what is the logical place to put such a document?
Tom: Did you try the RPMs? Did they work as advertised for you? A few more test reports would help me believe that they really do work on computers that belong to other people too
find aolserverto find it. That worked for me. I don't customize any other software that I have installed with RPMs. Where do people look for these type of things? I am not the best person to ask.
I would say if people will use RPMs to install that there would be some sort of online documentation. That could say where the config files are.
Thanks for the effort. The RPM installtion worked great.
instructions to the dot and it worked like charm in just about
good 2 mins. Kudos Jonathan..
the right track with this. The CVS version of OpenACS 3.2.5 also
works in exactly the same way for me. So once 3.2.5 becomes official,
an openacs-3.2.5 RPM should become available too.
I just submitted a patch to openacs-install.sgml to add some notes about the RPM installation. It is at
http://www.xc.org/jonathan/openacs/openacs-install-redhat-rpms2.patchas well. This highlighted the need to find some sort of "official" download URL for the RPMs. At what point should we put them in the SDM and/or on the software download page at OpenACS.Org?
You might still want to edit your /etc/rc.d/init.d/postgresql file so the line that starts it up uses a lot more RAM:
su -l postgres -c "LC_ALL=C /usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster -o '-B 2000 -o -S2000' start >/dev/null 2>&1" < /dev/null
(Above should be a single line in your file).
But there is no block size limit any more.
Everything worked as advertised. About 20 min to install RH 6.2 and about 2 min to install your RPMs. I'll poke around later, but do you have a list of where the RPM installed everything and the usernames used to install Postgres, AOL server, and ACS. Also, how do I access /admin. Thanks
do you have a list of where the RPM installed everything and the usernames used to install Postgres, AOL server, and ACS. Also, how do I access /admin .
"Where things are" info is earlier in this bboard thread in my response to Dave Bauer. Also do remember that a quick rpm -ql openacs or rpm -ql aolserver will tell you exactly where every file is from the RPMs concerned. You can get that info before installing if you prefer, from a command such as rpm -qlp openacs-3.2.4-3.noarch.rpm. In other words, the usual approaches to getting such info from RPMs will work fine with my RPMs.
Username for PG is postgres (I didn't do that bit!). User name for aolserver and OpenACS files is nsadmin, group is also nsadmin. So no changes there from the community norms at all.
The default AOLserver server instance name is "default" if you just use aolserver solo, or is "defaultacs" once you install the openacs RPM. (This way installing openacs doesn't destroy a static AOLserver site someone has set up before getting into OpenACS).
The PG user and database name is acs. It's arguable that openacs might have been a better choice for that once I suppose.
I'll add this sort of info to the /usr/doc/openacs-3.2.5/README-rpm.txt file for the next release. I'm also working with Roberto on changes to the OpenACS install Guide relating to this, there is an SDM patch to the DocBook/SGML there now but the way the info is integrated in that patch is likely to change significantly... stay tuned.
I don't think there is anything special about access to /admin compared to the traditional install, that part of the instructions in the OpenACS Install Guide about making yourself a Sitewide admin still works fine for me.
Thanks, Jonathan, for putting these RPMs together - one more barrier to OpenACS adoption has just disappeared.
True to form, about 3 minutes after sourcing the files, I had a working OpenACS - but only if I access it from the local machine. Whenever I try accessing the TCP port on which aolserver is listening from another machine, the connection is refused.
I've verified this by trying to telnet to port xxxx (I've changed the aolserver port to both 80 and 8000+). If I do this operation from the local host, I can type "GET /" and see the index.html page come back; from any other machine, telnet is refused.
It's not a DNS problem;
ping works [from another machine], and I can access web pages via Tomcat sitting behind port 8080.
The logfile (defaultacs.log) doesn't show any warnings or errors. The only curious thing I've noticed is that the final ns_log_notice in nsd.tcl ("... finished reading config file ...") doesn't appear in the logfile. I've no idea at all why this message would not be displayed but I haven't considered it important because of the ability to access OpenACS locally.
My current thinking is that it's something to do with
hosts.allow are both empty; is this significant?
I should say that I'm running on Redhat6.2, with RPM upgraded to version 4. The aolserver rpm is
aolserver-3.2-4+ad12+nsxml.i386.rpm. My Redhat admin skills are very limited, basically because the machine didn't need any post-install configuration and is so damn reliable that I rarely have to resort to troubleshooting.
Any ideas for other things I can check? Any more information I can provide?
AOLserver as installed from my RPM runs on the specified port of the IP address given by [ns_address], and also uses the host name returned by [ns_hostname].
I would check that when you installed RH you gave the machine a real host name and IP address other than 127.0.0.1.
What does the shell command
And what does /etc/hosts say about the IP address corresponding to that host name?
If your machine believes itself to 'be' localhost.localdomain, and if /etc/hosts believes that that hostname corresponds to 127.0.0.1, then you coudl get exactly the symptoms you describe.
In other words, I strongly suspect the issue is with the way RH, and in particular RH IP networking, was installed.
One other way to confirm this is to do
/bin/netstat -nl --tcp |grep :8000
and look at the fourth (local address) colum of the output. If things are set up correctly, this would show the real network address of the machine, a colon, and 8000. If it is using localhost.localdomain, it will look like 127.0.0.1:8000.
RPM installs are generally expected to be relatively silent, so trying to add tests for this that display warnings about it at install time seems sort of against the norm for RPMs.
You can fix it by setting up networking on your machine well, setting the hostname to its real value by editing both /etc/HOSTNAME and /etc/sysconfig/network (the line starting with HOSTNAME=) to the corrected value, and then doing
/bin/hostname -F /etc/HOSTNAME
/sbin/service network restart
/sbin/service aolserver restart
The HOSTNAME was set up correctly. The mistake was the
/etc/hosts file, which had the hostname mapped to
127.0.0.1. I simply removed all references to the hostname from
/etc/hosts and dns did the rest.
Thanks again, Jonathan!
Can I install these RPMs on later version of Redhat (7)? Thanks.
There's full info at
But that site is down right now, unfortunately!