r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

onetom
17-Apr-2011
[9767x4]
running their own app server (mongrel/thin/unicorn) helped a littlebit, 
but they couldn't easily test what was returned just by the webserver 
from cache / static files
the main problem with my setup was always the autonomity of the users
i had to edit config files when a new user joined the company
and i had to be aware where are they checking out the source of the 
projects they were working on and i also had to assign port numbers 
to them, so i could configure the reverse proxy in apache/nginx to 
connect to their app servers
Dockimbel
17-Apr-2011
[9771x2]
Your need is pretty clear.
You could do the same (reverse proxy/nginx) with Cheyenne instances.
onetom
17-Apr-2011
[9773]
security in such a case is not a big concern (unless the machine 
get rooted :)
Dockimbel
17-Apr-2011
[9774]
Cheyenne just needs to be able to pick the config file from a remote 
folder instead of just current one.
onetom
17-Apr-2011
[9775]
sure, but i would love to get rid of any external component, since 
cheyenne seems to be pretty close being able to cater for such a 
setup
Dockimbel
17-Apr-2011
[9776]
Where would Cheyenne binary be in your scenario?
onetom
17-Apr-2011
[9777x2]
/usr/local/bin/
or sbin
Dockimbel
17-Apr-2011
[9779x3]
then how could Cheyenne know where to look for config file ?
the only way I see is passing the config file path as command-line 
argument, something like:
cheyenne -p 8001 -conf /home/devel1/app/current/
Would such feature cover your needs for user autonomy?
onetom
17-Apr-2011
[9782x5]
if it still looks in the current directory for a httpd.cfg by default, 
then it's not even necessary
cd approot; cheyenne
cheyenne --conf approot
not a big difference
doesnt worth the trouble, i guess
Dockimbel
17-Apr-2011
[9787]
is approot linux specific?
Maxim
17-Apr-2011
[9788]
why not a mod_log  ;-)
Dockimbel
17-Apr-2011
[9789]
might still be needed for MacOS X servers?
onetom
17-Apr-2011
[9790]
by app-root i mean that directory level which cheyenne will never 
try to reach above
Dockimbel
17-Apr-2011
[9791]
ok
onetom
17-Apr-2011
[9792]
any relative path in a config file is normally calculated from there
Maxim
17-Apr-2011
[9793]
again, why not allow these configs in the httpd.cfg file?
Dockimbel
17-Apr-2011
[9794]
because, the httpd.cfg place is unknown to Cheyenne in this case 
;)
Maxim
17-Apr-2011
[9795x2]
ah so you're talking about the embeded mode?
or then... what is "this case"  I'm obviously missing something here 
 :-)
Dockimbel
17-Apr-2011
[9797x2]
nope, see the piratepad link from onetom, we were talking about relocating 
the whole Cheyenne working folder.
Dinner time here...
Maxim
17-Apr-2011
[9799]
ahh.  k.
onetom
17-Apr-2011
[9800x5]
were we talking about such things? really? :D
this mod-userdir name is a bit misleading, i think. i was expecting 
some handler for the /~user/  pathes and the ability to automatically 
fire up workers with the right ownership based on the owner of the 
directory it's serving from
however, since the source version runs again with /core, i can hack 
whatever i want now
i just need the logs go out of the way in a binary version
in the binary versions
Maxim
17-Apr-2011
[9805x2]
Doc, is it safe to do this:

req/in: make req/in [
	data: value
]

within any/all of the module phases?
safe in the sense that some code in uniserve/cheyenne might have 
an absolute reference to the req/in... and this could break the chain 
of command..
Dockimbel
17-Apr-2011
[9807]
I think that it is safe, but you should test if Cheyenne still works 
correctly after such change anyway (too bad we don't have unit tests 
for checking in such case...;-)).
onetom
17-Apr-2011
[9808x7]
hm... i miss the "restful" routing layer :)
i would like to have rebol files with an object in them -- like asd.r 
qwe.r -- returned as json via the path /asd and /qwe
i was thinking making a webapp which returns on-page-end the to-json 
context load rejoin [%. request/parsed/file %.r]
but i get a 404 in an earlier step, i guess
i have a couple of ideas how to hack this, but what would be the 
"correct" way?
capturing 404 doesn't work because it won't know the url of the original 
request
hmm.. now how can i write a module for the binary version of cheyenne? 
can i?
Kaj
17-Apr-2011
[9815x2]
I think the original URL should be in the INTERNAL_REFERER header. 
At least that's how I'm using it in my situation
That's with the (REBOL) CGI interface. I don't know if there's an 
easier way in RSP