Hmmmm... As I understand it, when you start Zope's web server frontend (medusa) in an out of the box config, it spawns seven processes (you can see the processes and their owners by doing a ps -aux). The first process will show its owner as the user which you use to start Zope. The other six processes will be owned by the "nobody" user if started as root. If you start Zope as a nonroot user, all of the threads will be owned by that user. I think :). Make sure you have a nobody user defined in /etc/passwd. Alternately, you can change the user that the "nonroot" medusa processes run under by editing the z2.py file in the root Zope installation directory (check for the line UID='nobody' and change it to what you want). Good luck! - C -----Original Message----- From: Mike Salib To: Chris McDonough Sent: 10/16/99 10:24 PM Subject: Re: [Zope] help! zope start failure on linux Thanks for the quick reply. I've replicated every condition imaginable: When I try to start zope on a high port, it only works when I'm myself (non root). It fails when I start zope as root. For low ports, zope always dies on startup. Do you know what user Zope tuurns itself into after startup as root? I've tried using both the start script and running z2.py from the command line. Any ideas? Thanks a lot, Mike Chris McDonough wrote:
Mike,
Hi...
What port are you trying to bind Zope to? 8080? Or one under 1024? And how are you starting Zope?
If you're trying to bind to a port under 1024 (such as port 80), you'll need to start Zope as root.
- C
-----Original Message----- From: Mike Salib To: zope@zope.org Sent: 10/16/99 9:38 PM Subject: [Zope] help! zope start failure on linux
hi everybody, i'm running Zope 2 under RedHat Linux 5.2 Every time I start Zope now, I get this error:
File "/home/mike/Zope-2.0.1-linux2-x86/z2.py", line 430, in ? logger_object=lg) File "/home/mike/Zope-2.0.1-linux2-x86/ZServer/medusa/http_server.py", line 53 4, in __init__ self.bind ((ip, port)) File "/home/mike/Zope-2.0.1-linux2-x86/ZServer/medusa/asyncore.py", line 205, in bind return self.socket.bind (addr) socket.error: (13, 'Permission denied')
I'm not a unix newbie; i've been using unix for years. I know about basic file permission security. I've performed the following commands with no effect:
chown nobody.nobody var chown nobody.nobody var/* chmod ago+rwx var chmod ago+rwx var/*
I've verified that the var directory itself and all the files contained therein are owned by user nobody and group nobody and that everything is readable, writeable, and executable by user, group and all.
I've also tried repeatedly deleting the pid files in the var directory.
I've searched the zope@zope.org mailing list archives for the last few months. Other people have reported this problem, but some still can't seem to get it working. If anyone could suggest what I'm doing wrong here, please do!
Thanks a lot, Mike
-- "One World, One Web, One Program" - Microsoft Promotional Ad "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(Related lists - please, no cross posts or HTML encoding!
To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )
-- "One World, One Web, One Program" - Microsoft Promotional Ad "Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler