Update: These instructions have been superseded by a more recent
project. Please do not regard these as anything but an ancient
curiosity. 
All instructions are based on the more detailed instructions at the djb way.
Add a group for multilog to be a member of:
# pw groupadd nofiles
Add a user for multilog use only:
# pw useradd multilog -c "multilog user" -g nofiles -d /nonexistant -s /nonexistant
Anytime a 'log' run file is created, append 's2097152 ' to the portion 'multilog multilog t '. For example:
exec setuidgid multilog multilog t /var/multilog/mathopd
would become
exec setuidgid multilog multilog t s2097152 /var/multilog/mathopd
Install using the instructions here. After executing
# mkdir /var/multilog
execute
# chown multilog:nofiles /var/multilog
then continue (but do not reboot to 'start svscan' until after you've completed the 'booting svscan' instructions).
After completing that, follow the link at the bottom of the page labeled 'booting svscan', and perform those instructions. When you get to 'chown multilog /var/multilog/svscan-service', execute
# chown multilog:nofiles /var/multilog/svscan-service
instead, then continue until the end of that page. After that, you'll need to reboot to start svscan, then you're done.
Install using the instructions here.
Instead of creating the directory '/etc/tcprules', create '/usr/local/etc/tcprules'.
Install the ports from /usr/ports/www/mathopd, /usr/ports/www/php4-cgi, /usr/ports/databases/php4-mysql, and /usr/ports/devel/php4-p cre.
Execute
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
Add a user for mathopd use only:
# pw useradd mathopd -c "mathopd user" -g nofiles -d /nonexistant -s /nonexistant
Add a user whose only job will be to run cgi scripts:
# pw useradd mathopdcgi -c "mathopd cgi user" -g nofiles -d /nonexistant -s /nonexistant
Install using the instructions here, but using mathopd.conf, dir_cgi.c, mathopd.run, and mathopd.log.run.
/usr/local/etc/ntp.conf
server time.nist.gov
server time.nrc.ca
server fartein.ifi.uio.no
server ntp.globe.cz
server ntp2.belbone.be
server ntp-0.cso.uiuc.edu
restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap
driftfile /var/db/ntpd.drift
/var/svc.d/ntpd/run
#!/bin/sh
# ntpd/run
# daemontools run script for ntpd server
# ===
exec 2>&1
echo "*** Starting ntpd..."
exec /usr/sbin/ntpd
-c /usr/local/etc/ntp.conf
-n
### that's all, folks!
/var/svc.d/ntpd/log/run
#!/bin/sh
# ntpd/log/run
exec setuidgid multilog multilog t s2097152 /var/multilog/ntpd
### that's all, folks!
Add to /etc/rc.conf:
sshd_enable="NO"
/var/svc.d/sshd/run
#!/bin/sh
# sshd/run
# daemontools run script for sshd server
# ===
exec 2>&1
echo "*** Starting sshd..."
exec /usr/sbin/sshd -D -e
### that's all, folks!
/var/svc.d/sshd/log/run
#!/bin/sh
# sshd/log/run
exec setuidgid multilog multilog t s2097152 /var/multilog/sshd
### that's all, folks!</pre>
Enter /usr/ports/databases/mysql40-server and 'make && make install'. Set the root password for mysql (at the end of 'make install' it will tell you how).
Add to /etc/rc.local:
# don't allow mysql server to start through init:
if [ -e /usr/local/etc/rc.d/mysql-server.sh ]; then
echo -n ' not_mysql'
mv /usr/local/etc/rc.d/mysql-server.sh /usr/local/etc/rc.d/mysql-server.sh-dist
fi
/var/svc.d/mysqld/run
#!/bin/sh
# mysqld/run
# daemontools run script for mysqld server
# ===
exec 2>&1
echo "*** Starting mysqld..."
exec /usr/local/libexec/mysqld
--basedir=/usr/local
--datadir=/var/db/mysql
--user=mysql
### that's all, folks!
/var/svc.d/mysqld/log/run
#!/bin/sh
# mysqld/log/run
exec setuidgid multilog multilog t s2097152 /var/multilog/mysqld
### that's all, folks!
Download latest wordpress. Setup as indicated in 'readme.html'
Go through and replace all the file names with the actual contents of the files.