[Not cc'ing Thomas coz I assume he's on the list.]
On Sun, Sep 08, 2002 at 03:43:54PM +0200, Stefan Schwarzer wrote:
> Hello Thomas
> On Sat, 7 Sep 2002, Thomas Raschbacher wrote:
> > how 'big' r the chances that there will be a kind of 'make install' for
> > Webware installing it for system-wide use?
> > if not.. r there any special things to consider?
> Some thoughts:
> - Installing Webware involves calling install.py at its final location
This and most of the other issues would be solved if we switch
to distutils as we have periodically discussed.
"python setup.py install" would install into the currently-running
lib/pythonVERSION/site-packages/webware . If you want it installed in a
"python setup.py install --install-lib /opt/MyWebwareLibraries"
"python setup.py install --home /home/me" .
The biggest snag we've had with this solution is that all
Webware imports would have to be changed to "import webware.MODULE",
or you'd use a "webware.pth" file to avoid that prefix.
But avoiding the prefix means all the Webware modules would become
top-level modules, and WebUtils/ would leak into the global module
namespace. But maybe that name is obscure enough that it's no big
deal. (It certainly seems like less of a deal now than when I
previously objected to it. utils.py would be way too generic, but
how many other projects are likely to use the name WebUtils/ ?)
> - While, probably, most Unix systems put binaries into /usr/local/bin,
> there is no such established convention for Python files.
Distutils knows where it put the "python" binary, and will put
Webware's binary (the AppServer startup script currently in WebKit/) in
the same directory. I'm sure there's an option to override that
directory, or if not, we can hack one in or put a note in the docs.
> - Which user should run the WebKit app server? Do you need a special
> user? What about multiple users each running an app server? I think
> there's no "best way" here, or rather, it depends on your needs.
The distribution maintainer should specify it, allowing the sysadmin
to override. Some sites just use the same user their webserver is
running as. For more security, create a dedicated user. If a user
is taking responsibility for the appserver, he can run it under his
own login. As a final-final default, "nobody" (on Unix systems),
although that means "nobody" will own the files Webware creates
(*.pyc, log, session, error), and it's not great security-wise to allow
"nobody" to own files outside world-writeable areas. On the other
hand, the sysadmin had the opportunity to change it and neglected to,
so woe to him.
> - Depending on the meaning of "system-wide use" you could also offer
> an easy way to set up "app work dirs" (see MakeAppWorkDir.py) with
> the correct permissions so that the user under which the (an?) app
> server later runs has write access to the log and session
> directories etc.
If a non-privileged user installs Webware or runs MakeAppWorkDir,
the files will have to be owned by him because he won't have
permission to change the ownership. Presumably such a user intends
to run Webware under his own account because he won't have any
other choice. Perhaps he may want to change the group to some
other group he's in, but I don't know if we need the complication
of automating this.
If the sysadmin runs MakeAppWorkDir, yeah, he will want to specify
> - mod_webkit (on Unix) or wkcgi (on Windows) could be installed or
How does WebwareExperimental handle this?
> - Startup scripts can vary across platforms, including between
> different Unix systems.
-Mike (Iron) Orr, iron@... (if mail problems: mso@...)
http://iron.cx/ English * Esperanto * Russkiy * Deutsch * Espan~ol