| ryanflannery.net | |
|
Navigation
Link Roll
m & r . net
m & r rate recipes
neal hogan
john schlipf
logic matters
tim gowers
scott aaronson
aatu koskensilta
log blog
it's only a theory
OpenBSD
OpenPorts.se
undeadly.org
advogato
§apio§oft
λ server
xkcd
PhD comics
c & h
s.m.b.
Far Left Side
a.p.o.d.
bbc sci.
life hacker
wvxu/wnku/npr
cet/ket/pbs cinci rollergirls banksy mark ryden todd shorr |
Installing Horde 3.x & IMP 4.x on OpenBSDSo, you've got an OpenBSD server and you want to use the new ultra-schnazzy Horde 3.x and IMP 4.x packages on it, but you're having problems? The common error is that the sidebar disappears (specifically, when rendering the 'imp-folders' block, sidebar.php errors leaving a white, empty frame) or you can only view your INBOX in IMP (clicking on the folders button does nothing). The solution took me a while to figure out, but thanks to Hermann Gottschalk solution (posted here), it can work beutifully. It turns out this is (as you'd probably suspect) a chroot(8)'ing problem. ProblemThe reason is that for IMAP authenication (or IMP over IMAP authentication), Horde uses the IMAP binding in PHP (It's the php-imap package in OpenBSD). This, in turn, uses the c-client library for many of the IMAP routines. For some ungodly reason, c-client checks that the user it is running as exists in the /etc/pwd.db file, but only for some IMAP functions (not all...which is odd). On OpenBSD, Apache runs as user 'www', so c-client only needs that record in /etc/pwd.db. Since Apache runs chroot'ed on OpenBSD by default, you have to create a local copy of that under the chroot'ed directory. But, the pwd.db file is created using the pwd_mkdb(8) program, so you have to do the following. SolutionAs root, issue the following
# mkdir -p /var/www/etc
# cp /etc/master.passwd /var/www/etc
# vi /var/www/etc/master.passwd
(remove all lines except the one for user 'www')
# pwd_mkdb -d /var/www/etc /var/www/etc/master.passwd
That's it! |