Forum OpenACS Development: Apache now has nsv like support, tcl

Apparently Apache can do everything I understood only AOLserver could do. Below is an IRC chat log of a discussion on #apache on freenode. Anyone like to port OpenACS for Apache to attract new developers? Anyone have a feature I missed that pushes AOLServer ahead of Apache?

rarman: um, nothing wrong with aolserver, but it's stupid to claim superiority to apache on those grounds
	rarman	yes but it makes no sense to send an external request to the server - so a 500 error is actually more appropriate and accurate
	rarman	Trisk: explain, without accusing me of being stupid, pls :)
	Triskelios	rarman: that request is a perfectly valid filename if it didn't have http://
	rarman	Trisk: it did
	rarman	...have http://
	Triskelios	rarman: oh, ok
	Triskelios	rarman: apache generally has more modules written for it than anything else, and has a decent track record for security
	rarman	Trisk: so was it a port scan I should be worried about, or is it innocent?
	spike	it's still wrong if one wants to be pricky :P
	spike	return code should been 501, as the proxy service isnt implemented
	Triskelios	true
	rarman	Trisk: agreed that's true - but it's load handling and wide use make it fast but ill-suited for very large sites and ideal security
	spike	but everybody just throws 500 these days
	rarman	Trisk: and there are many many many aolserver modules
	rarman	spike: interesting
	spike	rarman: you should be as worried about it as for any other portscan: not at all
	Triskelios	rarman: um, there's good load-balancing setups for apache
	spike	expecially for such scans, they are simply looking for a server to anonymously look at pr0n or post on l4m3r2 forums, or stuff like that
	Triskelios	rarman: I'm 4 doors down from the lab that wrote mod_vhand
	spike	Triskelios: can I come visiting? :P
	rarman	Trisk: cool
	Triskelios	rarman: security is lenient, but in general that's unfortunately how scripts expect things to be. partially securing the OS helps
	rarman	Trisk: can apache cache a large directory structure for quick retrieval -is it threadsafe with php5? can it share vars across sessions and threads?
	rarman	Trisk: say no to aolserver fud -->
	spike	have u got a tshirt with that on? ;D
	rarman	Trisk: does apache support Tcl?
	spike	"Say no to aolserver fud"
	spike	eheh
	rarman	;)
	spike	goes checking cafeexpress
	Triskelios	s/vhand/backhand/ up there
	Triskelios	but there are apache modules for content caching (both static and dynamic)
	Triskelios	not sure about threading behaviour with php
	spike	not sure about hreading behaviour *of* php ;)
	Triskelios	oi
	Triskelios	looks like php is thread-safe, but uses libraries that aren't and doesn't try to deal with that. fun
	Triskelios	hm, and
	rarman	trisk: I was unaware...
	rarman	trisk: interesting... how good is apache with a site with 1000 folders?
	rarman	10,000 files, and a large postgres/oracle db?
	Triskelios	rarman: just fine. we have more like 100,000
	Triskelios	we have postgres and mysql for various things
	spike	*ding*
	spike	that's the magic word for today
	spike	postgres :)
	rarman	sounds like apache is more powerful since I last checked ;)
	spike	Triskelios: u won a question :)
	rarman	spike: heh
	Triskelios	we've been running apache for 6 or 7 years
	spike	I'm about to give you ur prize... hang on
	rarman	Trisk: I'll have to bring this abck to the OpenACS community... maybe we could pull off an apache port of our portal toolkit
	rarman	that would be very cool
	Triskelios	*shrugs*

Posted by Malte Sussdorff on
Areas which need major development:

- Performance of the TCL support in Apache
- Porting of all ns_* functions into a mod_ns
-- Alternatively rewrite the whole acs wrapper procedures to use whatever Apache offers natively.
- Make sure that the DB drivers for Oracle and PostgreSQL offer bind support and behave equally to the toolkit.

What is to gain:

- We run on Apache *if* a couple of Modules are installed.

My take:

- The gain is not worth the effort.

Note: This is no judgement on Apache vs. AOLserver. I'm just pointing out the costs and the (IMHO) low gains.

Posted by Nima Mazloumi on
Just because there is a tcl module for apache doesnt mean that we can port oacs, right? where are all the ns_* equivalent procs required and other stuff oacs relies on?
Posted by Ryan Gallimore on
Agreed, Nima.

Tired of dealing with FUD when I mention AOLServer...

Posted by John Sequeira on
If you want to see some code implementing OpenACS(-lite?) on Apache/IIS/etc

But don't get too excited -- there's lots of things that don't quite work, 80/20 rule etc. I got many pages/api calls working pretty quickly (including most ns_* and nsv procs) across many platforms (tclhttpd/iis/tclsh/apache1.3x+2.x), but then got majorly bogged down with the details and abandoned the effort.

Ultimately I think Malte's right... but it's fun to dream.

Posted by Andrew Piskorski on
Ryan, I'm not sure why you bothered to post the IRC log above, as AFAICT it is mostly content free. In particular, I see nothing at all about "Apache now has nsv like support", despite that being the title of your post. Am I just missing it, or what?

If Apache has lately added features to make it more AOLserver-like and/or otherwise make it more powerful and easier to support OpenACS on Apache, that would be interesting, and I'd like to know about it. But unfortunately I didn't learn much of anything about that from the IRC snippet above.

Posted by Ryan Gallimore on
Hi Andrew,

I thought it might be interesting, since I wasn't aware that apache had those features, and Triskelios informed me of them.

Just wanted to bring it to the community as a request for comment.

Feel free to delete the post if there's some issue of relevancy.


Posted by Andrew Piskorski on
Ryan, just what "features" are you talking about? I don't think you understand me. My whole point was that I see no useful info about what features Apache does or does not have in the IRC log above. If you learned something about Apache features by chatting with those folks, I think we'd all appreciate a clear summary of what you learned, in your own words.

Those random statements on IRC like, "there are apache modules for content caching" and "not sure about threading behaviour with php" are not useful information, because: One, the statements themselves sound fairly clueless, they make me suspect the speaker may not actually know much. Two, AFAICT those statements certainly have nothing at all to do with NSV-like support. (Hint: "NSV" stands for "NaviServer Shared Variables", not "Content Caching".) Three, exacerbating both of the previous points, I've never heard of the speakers, don't even know their real names, and have no external reason to assume that they have any real idea of what they're talking about in the first place.