Hi :) I wanted to learn about zope, so I've emerged it and following the information in ebuild I did: emerge --config =zope-3.1.0 Unfortunatelly, when I try to start the zope server with /etc/init.d/zope start, it fails with this error: /etc/init.d/zope start * Starting Zope in /var/lib/zope/zope ... . Traceback (most recent call last): File "/usr/lib/zope-3.1.0/lib/python/zdaemon/zdrun.py", line 719, in ? main() File "/usr/lib/zope-3.1.0/lib/python/zdaemon/zdrun.py", line 716, in main d.main(args) File "/usr/lib/zope-3.1.0/lib/python/zdaemon/zdrun.py", line 243, in main self.run() File "/usr/lib/zope-3.1.0/lib/python/zdaemon/zdrun.py", line 256, in run self.opensocket() File "/usr/lib/zope-3.1.0/lib/python/zdaemon/zdrun.py", line 278, in opensocket sock.bind(tempname) File "<string>", line 1, in bind socket.error: (13, 'Permission denied') . . . . . . . . . . . . . . . . . . . . (the dots keep on going and going) I've searched around and the only thing I've found that could be relevant is the fact that the root's permissions are needed to run zope on lower ports (eg. 80). The script tries to run it as the user "zope" but why would the configuration created with above command try to use theese lower ports? When I manually run the server as root with: /var/lib/zope/zope/bin/runzope or with: /var/lib/zope/zope/bin/zopectl start everything works fine and the "Zope Management Interface" is available on http://localhost:8080/
Zope is configured initialy to work on ports >1024 so its not an issue i think. What is more "suspicious" if the /var/lib/zope/zope permissions are correct. Please run something like: find /var/lib/zope -not -uid 261 to find if there are any files or directories not owned by the zope user. --config should run the chown/chmod (you can check this in the pkg_config section in zope-3.1.0.ebuild). Please report back with Your findings.
Czesc Radek ;-) "find /var/lib/zope -not -uid 261" on a freshly created config doesn't give any results... I don't know if this is important but after running it by root it gives: find /var/lib/zope -not -uid 261 /var/lib/zope/zope/var/Data.fs /var/lib/zope/zope/var/Data.fs.lock /var/lib/zope/zope/var/Data.fs.tmp /var/lib/zope/zope/var/Data.fs.index Regards, Maciek
Czesc. Thats very strange, because newest zope-3.1.0.ebuild (could you check it after emerge sync?) should with --config do: 1. create instance under /var/lib/zope/zope 2. chown/chmod it to zope:zope user group 3. create /etc/init.d/zope file wich starts zope under zope user (not root). Please also pay attention that: a. no files under /var/lib/zope/zope should belong to root - this will not allow zope run under zope user, and is a sign that at some point of time you did run zope with root permissions (stop zope, and chown/chmod it as in pkg_config in ebuild) b. /etc/init.d/zope file has to be created by the ebuild itself to properly work (and can not exists before emerge --config call)
Additionaly zope-3.2.0 was released (and introduced into portage), so You can also try it. ALthough no big changes in --config. I consider this report being a configuration problem, not the ebuild itself. In case i'm wrong, please provide enough details and reopen it. Thank You.
After discussion on #zope3-dev it appeared there was a bug :) It's fixed in zope-3.2.0 in portage by patching zdaemon.conf file bug was related to current working dir and will be fixed by upstream in next version probably.