On Wed, 17 Mar 2010 09:19:38 +0100 (CET), Antoine Jacoutot wrote:
On Wed, 17 Mar 2010, Rod Whitworth wrote:
I became a brave and tried installing Cherokee from the most recent
snap package.
pkg_add completed without whining and gave me instructions for modding
the rc* files.
First up I just started the server from a console. No problem - saw the
default page.
Read some docs - saw that they strongly suggested using their admin
tool, so fired it up and that's where my problems started. I could see
that I was connecting to port 9090 but I got a 503 error anyway. The
favicon was there but nothing else.
Running the admin server with debug log to console showed me that it
was missing python2.5. Funny, that's not in the dependencies. pkg_add
fixed that, and I could get around the pages.
$ cd /usr/ports/www/cherokee make show=RUN_DEPENDS
:python-=2.5,2.6:lang/python/2.5
Something is wrong on your side...
--
Antoine
OK, let's do a fresh install.
...
# uname -a
OpenBSD temp.witworx.com 4.7 GENERIC#556 i386
Install included xbase set.
Let's get cherokee:
# pkg_add cherokee-0.99.39.tgz
cherokee-0.99.39:png-1.2.41: ok (5 to go)
cherokee-0.99.39:libart-2.3.20p0: ok (4 to go)
cherokee-0.99.39:rrdtool-1.2.30: ok (3 to go)
cherokee-0.99.39:pcre-7.9: ok (2 to go)
cherokee-0.99.39:spawn-fcgi-1.6.3: ok (1 to go)
cherokee-0.99.39: ok
--- +cherokee-0.99.39 ---
To complete the installation, you need to configure cherokee. As root:
# cherokee-admin [-b bind-to-IP] [-p port]
(without parameters it will bind to 127.0.0.1 on port 9090).
If you want to run cherokee on boot, add these lines to /etc/rc.local:
if [ X${cherokee_flags} != XNO ]; then
echo -n ' cherokee'
/usr/local/sbin/cherokee ${cherokee_flags} 1 /dev/null
fi
for admin management:
if [ X${cherokee-admin_flags} != XNO ]; then
echo -n ' cherokee-admin'
/usr/local/sbin/cherokee-admin ${cherokee-admin_flags} 1
/dev/null
fi
and in /etc/rc.conf.local:
cherokee_flags=-d # use -d to run in daemon mode
cherokee-admin_flags=NO # use -b if you want listen on ALL interfaces
H.. didn't see python in there did you?
Well let's try the admin in debug mode:
# cherokee-admin -b -u -x
Web Interface:
URL: http://localhost:9090/
Cherokee Web Server 0.99.39 (Mar 6 2010): Listening on port ALL:9090,
TLS
disabled, IPv6 disabled, using poll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread
So far so good. Now I'll browse to port 9090 from a remote host. Now
the error messages flow:
sh: /usr/local/share/cherokee/admin/server.py: No such file or
directory
sh: /usr/local/share/cherokee/admin/server.py: No such file or
directory
sh: /usr/local/share/cherokee/admin/server.py: No such file or
directory
sh: /usr/local/share/cherokee/admin/server.py: No such file or
directory
sh: /usr/local/share/cherokee/admin/server.py: No such file or
directory
Funny that. It must need python. I've never added a package in my life
that needed a resource and did not fetch it as part of the pkg_add or
give a message that it had to be installed some other way.
Oh, well I must have failed my mind-reading test. So I'll add python:
# pkg_add python-2.5.4p3.tgz
python-2.5.4p3:bzip2-1.0.5: ok (2 to go)
python-2.5.4p3:sqlite3-3.6.16.1: ok (1 to go)
python-2.5.4p3: ok
--- +python-2.5.4p3 ---
If you want to use this package as your default system python, as root
create symbolic links like so (overwriting any previous default):
ln -sf /usr/local/bin/python2.5 /usr/local/bin/python
ln -sf /usr/local/bin/python2.5-config /usr/local/bin/python-config
ln -sf /usr/local/bin/pydoc2.5 /usr/local/bin/pydoc
That looks complete. Let's try the browser again:
# cherokee-admin -b -u -x
Web Interface:
URL: http://localhost:9090/
Cherokee Web Server 0.99.39 (Mar 6 2010): Listening on port ALL:9090,
TLS
disabled, IPv6 disabled, using poll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread
Server 0.99.39 running.. PID=26238
Socket=/tmp/cherokee-admin-scgi.socket
No errors now when I browse to admin.
All seems to be fine.
So where was the message telling me that I stuffed up and had to just
install python?
Python is NOT mentioned as a run-time dependency in
/usr/ports/www/cherokee/cherokee-0.99.39.html on my build machine (and
I'm NOT building the packages I'm testing, they are from
ftp.ca.openbsd.org snapshots) nor does python appear in the Makefile as
a RUN-dependancy. py-docutils appears as a build dependancy and
lang/python is listed in MODULES.
AIUI that means that the package building machine will have python
running on it as a result of that MODULES lang/python. I can't see how,
absent a RUN_DEPENDS-main including python in the Makefile, python will
get to my machine except by me knowing that the errors with .py in them
imply that I need to do it.
Unless you can pick holes in that reasoning - we have a bug. It looks
like