Forum OpenACS Q&A: OpenACS/FreeBSD Installation Guide

Collapse
Posted by Gilbert Wong on

I've uploaded my OpenACS/FreeBSD Installation Guide. This guide is a bare minimum guide and just lists the steps with very little explaination. I will be enhancing this guide constantly. You can view it from:

https://openacs.org/new-file-storage/one-file? file_id=208
http://www.orchardlabs.com/freebsd/

I included the direct link because I wasn't sure if I set the permissions correctly in the new-file-storage.

Roberto, is this something you want to include in the official OpenACS docs?

Collapse
Posted by good bye on
thanks Gilbert,
I much prefer FreeBSD (and OpenBSD) to linux, and this
really makes the install  much more straightforward. Particularly
nice is the fact you have it running under daemontools,
and rewrote the restart-aolserver script. Now, all someone
has to do is write a FreeBSD "port" that does all this
for you. 😉
Collapse
Posted by Louis Gabriel on
Gilbert,

Thank you *very* much!!

Best wishes,

Louis

Collapse
Posted by Gilbert Wong on
Rolf - A port would definitely simplify my life when installing AOLServer, PostgreSQL, pgdriver, libxml, nsxml, openfts, daemontools etc.  I just found the FreeBSD Porter's Handbook and will look into it.  I would love to do "make install" and have everything done automatically. :)
Collapse
Posted by Michael Feldstein on
Will this work on Mac OS X?
Collapse
Posted by Walter McGinnis on

Probably not, but this will:

https://openacs.org/new-file-storage/one- file.tcl?file_id=217

This the OpenACS 4 on Mac OS X HOWTO that I have been working on for sometime. Feedback appreciated. Enjoy,

Collapse
Posted by Matthew Braithwaite on
A port would definitely simplify my life when installing AOLServer, PostgreSQL, pgdriver, libxml, nsxml, openfts, daemontools etc. I just found the FreeBSD Porter's Handbook and will look into it. I would love to do "make install" and have everything done automatically. :)

Funny you should mention that. After the OpenACS social last Monday I got to work on a FOR_OPENACS_USE flag to the AOLserver port that would introduce a dependency on Postgres, and also download all the extra AOLserver modules that are needed to run OpenACS4. Of course, the next day, the world went to hell, but it's nearly done.

(Installing OpenACS would be a little out of the bailiwick of an AOLserver port, of course.)

One question I had was whether OpenACS4 requires the aD patches to AOLserver. Superficially, it works okay without them, but perhaps FOR_OPENACS_USE should imply `+ad'.

Gilbert, were you able to link nsxml.so dynamically against libxml? The only way I could get AOLserver to load nsxml was to link it in statically.

Collapse
Posted by Petru Paler on

One note for people planning to use AOLserver on *BSD and expect high loads: last time I checked, the threading library on FreeBSD was less than optimal, and it does not take advantage of multiple processors (it was doing something similar to the GNU pth library, by emulating threads in a single process). Things might have changed, so take this with a grain of salt :)

Collapse
Posted by Matthew Braithwaite on
One note for people planning to use AOLserver on *BSD and expect high loads: last time I checked, the threading library on FreeBSD was less than optimal, and it does not take advantage of multiple processors (it was doing something similar to the GNU pth library, by emulating threads in a single process). Things might have changed, so take this with a grain of salt :)
This is still true. However, for the single-CPU majority, this may improve performance, because switching between threads doesn't require AOLserver to enter the kernel. I have seen grave warnings from the AOLserver types about userland threading such as FreeBSD's, but then the AOLserver people were probably used to 64-processor Sun boxes running Solaris. For many people here, it would be more apt to compare to a 2-processor box running Linux. I suspect that the performance gains of such a configuration over a FreeBSD box, if any, would be pretty modest—but I'm just speculating.

For more on where FreeBSD threading is, and where it's going, see http://people.freebsd.org/~jasone/kse.

Collapse
Posted by Patrick Giagnocavo on
I certainly haven't noticed any real-world degradation in using OpenBSD on my servers as opposed to Linux.  And OpenBSD may not be as advanced as FreeBSD in that department.

In real-world use, I would be busy trying to ensure that my Linux boxes had the latest security patches, and after upgrading my libs for the nth time, I would be in the midst of tracking down weird issues with binaries using those shared libs.

In the real-world, if a customer had a problem, I would just buy them an Athlon and load them up with RAM and RAID.

Collapse
Posted by Petru Paler on

The kernel scheduler is "entered" anyway, no matter what kind of threading model you use, because it runs periodically (usually on the timer tick). User space thread switching is indeed faster, but only by a small margin: the context switch latency on Linux is very low, and even lower between clone()d processes (because they share the same address space, thus no TLB flush is needed). On the other hand, the user space stuff introduces complexity needed by turning all system calls to their non-blocking counterparts, then slows down because of the need to constantly poll() all file descriptors in use.

The KSE stuff does look quite interesting, but I'm not convinced whether all the added complexity will pay off in performance and scalability. In the mean time, Linux's simple and fast model works very well :)

Collapse
Posted by Gilbert Wong on
One note for people planning to use AOLserver on *BSD and expect high loads: last time I checked, the threading library on FreeBSD was less than optimal, and it does not take advantage of multiple processors (it was doing something similar to the GNU pth library, by emulating threads in a single process). Things might have changed, so take this with a grain of salt :)

Petru - I solved this issue by using linuxthreads and recompiling AOLServer to use it. I had another posting about this in the OpenACS board a while back. Essentially, one instance of AOLServer will only use one processor. After linuxthreads, the individual AOLServer threads can be spread across both processors.

Gilbert, were you able to link nsxml.so dynamically against libxml? The only way I could get AOLserver to load nsxml was to link it in statically.

Matthew - I'm not sure if it was dynamically linked to libxml. I didn't check. I just loaded up the ports package of libxml2, changed the makefile for nsxml, and compiled nsxml. Here is the makefile. I'm not sure if this means I statically linked it or not.

ifdef INST
NSHOME ?= $(INST)
else
NSHOME ?= ..
endif

#
# Module name
#
MOD       =  nsxml.so

CFLAGS       += -I/usr/local/include

#
# Objects to build.
#
OBJS      =  ns_xml.o

# Uncomment for libxslt support
#CFLAGS = -DDO_XSLT
#MODLIBS   = -lxml2 -lxslt

# This is if you only want libxml support (no XSLT support)
#MODLIBS   = -lxml2
MODLIBS   = /usr/local/lib/libxml2.so

include  $(NSHOME)/include/Makefile.module

I am also interested in your dependancy flag for AOLServer. I could be wrong, but I don't think there is anything special for the aD patches. I have to add in nscache, nssha1 and nsrewrite after the initial build.

You're in charge of the AOLServer port, right? Can you also add a patch for the tcl8.2.3/unix/tclUnixPipe.c file. I've created my own patch based on some info I found on the OpenACS board. I have to patch it manually right now and it would be nice to have it done automatically.

Collapse
Posted by Roberto Mello on
Patrick, so because you're running OpenBSD you don't check for latest updates?

A typical Linux production environment would only have the essential things for that system, and these core components rarely need major updates. And when you need to update, Debian make it a breeze to update. Never had _any_ trouble keeping my systems secure, running all the software I need and upgrading.

Collapse
14: Linux Sucks. (response to 1)
Posted by good bye on
Collapse
15: Re: Linux Sucks. (response to 1)
Posted by Adam Farkas on
WORST... TROLL... EVER!
(my apologies to The Comic Book Guy)

ps -- when are we going to argue Picard v. Kirk?

Collapse
16: Picard Sucks. (response to 1)
Posted by good bye on
Collapse
Posted by S. Y. on
Rolf, I think you spend too much time on the Internet. Shouldn't you be writing music, etc. instead of building a nice little troll-flamebait barbecue?

Now can someone tell me why PostgreSQL is better than MySQL? 😉

Collapse
18: Response to Linux sucks (response to 1)
Posted by Petru Paler on

Rolf, that link was posted before and fortunately no one paid attention to it. The page is so full of crap that the only thing it deserves is a good laugh while trying to figure whether the author is a *BSD troll or just plain stupid.

To be fair though, I think two or three of his points are correct and represent real problems with Linux. That does not mean that "Linux sux", neither that "*BSD rox".

Anyway, this is getting way offtopic. I invite interested parties to a plain old email flame 😉

Collapse
Posted by Roberto Mello on
It's amusing what an envious droll can write. More amusing is that people actually read it and then post it to forums like this. The guy who wrote that has a serious problem: he can't use logic. At all.