Forum OpenACS Q&A: Volunteers to test OpenACS/AOLserver/PG7.1 RPMs wanted

I recently created some RPMs that let me install OpenACS 3.2.4,
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.

Thanks!

First: I read the little write-up in file-storage, it mentions postgresql, postgresql-server, and postgresql-libs, but it leaves out postgresql-tcl. That rpm is also needed for the install to work. When I did rpm -Uvh *rpm it gave me an error so I am off to download that too!

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.

Yes! Sucess! I just have to remember to lynx to 127.0.0.1:8000. At first I left off the port. This is really nice.
Thanks for the feedback Dave! I've updated the text file to include the fact that you need the postgresql-tcl RPM too.

Regarding the port number, if you want it on port 80 you can edit the file /etc/aolserver/nsd.tcl -- just change the statement on line 14 from

set httpport 8000

to

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 😊

Just realized I didn't say anything about the RPM 4.02 dependency...

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.

Another thing... when this is all ready to go for 3.2.5 a file that explains where everything went would be nice. I have installed ACS several times using the traditional /home/aol/ and /web/servername/www conventions and I didn't know where the RPMs stashed everything.
Continuing Dave's post above...Are these RPMs compliant with RH "standards" and could we get these RPMs included in a RH distribution?
Dave Bauer asks about a document describing where things are. Basically, yes, that is a necessary addition 😊

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 😊

Good question, I mostly install everything from source because I used to have problems with every RPM i tried. I just did
find aolserver
to 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.

Right now I am working with ACS 3.4.9 and 4.0 Java but have been following the progress of OpenACS. I will test the RPMs as soon as I can get to Fry's and pick up another HD. Keep up the great work.
OK, new RPMS that really do work on stock un-updated Red Hat 6.2 have now been created, and an unnecessary dependency on postgresql-tcl has been removed. Now we're down to just seven RPMs 😊

See http://www.xc.org/jonathan/openacs/whichfilesdoineed.html

I have exactly the kind of environment for this test. I followed the
instructions to the dot and it worked like charm in just about
good 2 mins. Kudos Jonathan..
Juen: Thanks a lot!  That's good to hear -- looks like I am on
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.
Just in case someone's missed me saying it elsewhere - this is great!
Thanks for the endorsement, Don 😊

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.patch
as 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?
Haven't heard from Roberto in a day or so, he was just about ready to wrap up 3.2.5 as of then.  I think he was going to put your stuff immediately afterwards...
Does the PG 7.1 RPM install with the recommended 16KB blocksize, does it even matter anymore with 7.1? Thanks.
PG 7.1 doesn't have the old block size restrictions 😊

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.

Jonathan,

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

Tom asked:
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.

Collapse
Posted by Paul Sharples on
Hello All.

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 nsperm. The hosts.deny and 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?

Thanks.

Non local access issues:

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

/bin/hostname

return?

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

Jonathan

Okay...

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!

Jonathan,
Can I install these RPMs on later version of Redhat (7)?  Thanks.
Ken, As I think you have already discovered (!), yes, you can install my RPMs on RH 7.1 (and I have one report that RH 7.0 works too). You need the RH 7.1 PG RPMs not the RH 6.2 PG RPMs, and you will need to recompile libxml2 for RH 7.1, but my aolserver and openacs RPMs work fine on both RH 6.2 and RH 7.1

There's full info at

http://www.xc.org/jonathan/openacs/whichfilesdoineed.html

But that site is down right now, unfortunately!