Forum OpenACS Development: Re: Multiple DNS and subsites

Collapse
Posted by Iuri Sampaio on
Dave,

That's precisely what I'm trying to achieve. To map a domain name (i.e. eventeasy.iurix.com) to a subsite (i.e. /eventeasy), serving the subsite as in eventeasy.iurix.com/ , using a unique OpenACS instance,

The ideal is to not need different AOLServer settings, neither separated OpenACS instances.

You can test the work around I did at http://eventeasy.iurix.com. You'll be redirected automatically to http://iurix.com/eventeasy/. But that has been done by the proxy server, i.e. Nginx.

p.s. I don't know if that is even possible in OpenACS, or even if it is its responsability to do so. But I can foresee this new feature as a parameter of the acs-subsite (/shared/parameters?...), i.e. DomainNameMapping

@Gustaff,

Good to know about Naviserver's virtual approach. Actually I'm thinking to move from AOLServer 4.5 to NaviServer soon. I already have a box runnig it. No problems so far.

@Benjamin,
I agree with Gustaff. Changes within ad_proc ad_conn and templating would have substancial impacts in OpenACS core and even non-core packages. In fact OpenACS is one oif the most stable framework available and there are reasons for that: 1. robust datamodel, 2. well implemented source code TCL and TCLO scripts, 3. regression test, 4. OpenACS installation tests, 4. DotLRN, frequently used packages, and the list goes on...)

Collapse
Posted by Benjamin Brink on
@Iuri,

There are an abundance of benefits to switching to naviserver and upgrading to oacs-5-9, if the system isn't using ecommerce package.

Here is an example of host-node mapping working as I believe you expect. One of the host-node sites: http://dekka.com which points to subsite: http://or97.net/dekka-com
(It just serves a static page right now; until we re-tackle the various templating / form issues.) No proxy is used.

Collapse
Posted by Benjamin Brink on
Collapse
Posted by Iuri Sampaio on
Benjamin,

That's exactly what I'm trying to accomplish. It's still not clear to me how to achieve it.

Is hostnode feature on OpenACS 5.7 and AOLServer 4.5 simply broken?

Best wishes

Collapse
Posted by Benjamin Brink on
That combination may be an issue. iirc when I used aolserver 4.x, either ns_conn or ad_conn would return an empty string *sometimes* in the context of visiting a host-node mappped url on earlier versions of Openacs ( up to about 5.3). One of the local motivations for switching to naviserver was to avoid the chronic issues with aolserver. At some point around 5.6 to 5.8 server level errors increased by a factor of 4.

An incredible amount of refactoring OpenACS has happened since 5.7, incluiding upgrading tcl syntax. Here is a discussion about compatibility matrix of oacs 5.7 and dependencies: http://openacs.org/forums/message-view?message_id=3920280
And the compatibility matrix: http://openacs.org/xowiki/openacs-compatibility-matrix

Definitely go with naviserver if you can make the change.
cheers,
Ben

Collapse
Posted by Gustaf Neumann on
Concerning "server level errors": With the current version of OpenACS the number of erros is very little. We have now weeks on openacs.org without a single error or with very little errors in the error.log (in the following graphic, these is the orange line)

Up to january this year, openacs.org had on average 1 error per second.

Concerning the request of Iuri: i did some tests and fixed a few issues (mostly IPv6) and the following testing scenarios work fine:

Testing setup (A):
- http-port: 8009
- https-port: 8443
- base-hostname: localhost
- alternate-hostname: hugo
- main-subsite: /
- alternate-subsite: /hugo
- host-node map: hostname "hugo" -> /hugo/
- apm-parameter (acs-tcl): UseHostnameDomainforReg: 0

In this setup, the subsite (here: /hugo/) has to be given explicit read permission for public, otherwise, one cannot login, since subsite/register won't work (one needs already permissions to reach the subsite main node). Therefore, the site-admin has to grant read permissions to the public explicitly.

Other than this, everything looks ok with setup (A), the subsite works with http and https.

Testing setup (B):
- same as above, but:
- apm-parameter (acs-tcl): UseHostnameDomainforReg: 1

When UseHostnameDomainforReg is activated:
- login is redirected to the main site; the return_url as well.
- login cookies are set on the main-site and are not available on the subsite via the browser (maybe when setting "CookieDomain" and use "domain cookies" and appropriate sub-domain host names; not tested).
- This means that out of the box the user does not stay on the subsite but has to do all authorized work on the main site (which makes management of different users on subsite useless).

Also setup (B) works as well with the newest version in the oacs-5-9 branch. There were some issues in earlier version, but the actual version is fine in this respect. No nginx is involved.

For more details. see: http://openacs.org/bugtracker/openacs/patch?patch_number=848

all the best
-g

Collapse
Posted by Iuri Sampaio on
Hi there,

@Gustaff, Nice results!
So far, I've set up a fresh installation of OACS 5.9 instance under NaviServer and Postgresql 9.1.

I assigned eventeasy.iurix.com to the same IP that iurix.com uses. Both DNS's point to /var/www/oacs-5-9/. There is only one NS service up, thus a unique config file: iurix.tcl.

I've created eventeasy as an acs-subsite. I've created a host-node eventeasy.iurix.com /eventeasy

However I don't have the behavior expected. the address eventeasy.iurix.com shows the Main Site. It was supposed to display /eventeasy.

Take a look: http://eventeasy.iurix.com/

Best wishes