OpenBSD använder rc.local och rc.shutdown för start resp stopp av daemons (serverprogramvara).
För att hålla lite ordning på start och stoppscript skapar jag en katalog i /etc där jag lägger scripten:
mkdir /etc/rc.d
Apache och MySQL har medföljande start/stopp script som jag länkar till /etc/rc.d:
ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/
Ändra user=mysql till user=_mysql i mysql.server scriptet.
Ändra också i /usr/local/mysql/bin/mysqld_safe
Länka sen startup scriptet till /etc/rc.d
ln -s /usr/local/mysql/share/mysql/mysql.server /etc/rc.d
För start/stopp av ProFTPd måste det skapas ett script (/etc/rc.d/proftpd):
http://www.proftpd.org/docs/howto/Stopping.html
#!/bin/sh
# ProFTPD files
FTPD_BIN=/usr/local/sbin/proftpd
FTPD_CONF=/usr/local/etc/proftpd.conf
PIDFILE=/var/run/proftpd.pid
# If PIDFILE exists, does it point to a proftpd process?
if [ -f $PIDFILE ]; then
  pid=`cat $PIDFILE`
fi
if [ ! -x $FTPD_BIN ]; then
  echo "$0: $FTPD_BIN: cannot execute"
  exit 1
fi
case $1 in
  start)
    if [ -n "$pid" ]; then
      echo "$0: proftpd [PID $pid] already running"
      exit
    fi
    if [ -r $FTPD_CONF ]; then
      echo "Starting proftpd..."
      $FTPD_BIN -c $FTPD_CONF
    else
      echo "$0: cannot start proftpd -- $FTPD_CONF missing"
    fi
  ;;
  stop)
    if [ -n "$pid" ]; then
      echo "Stopping proftpd..."
      kill -TERM $pid
    else
      echo "$0: proftpd not running"
      exit 1
    fi
  ;;
  restart)
    if [ -n "$pid" ]; then
      echo "Rehashing proftpd configuration"
      kill -HUP $pid
    else
      echo "$0: proftpd not running"
      exit 1
    fi
  ;;
  *)
    echo "usage: $0 {start|stop|restart}"
    exit 1
  ;;
esac
exit 0
För anrop av serverstartfilerna lägger jag till lite i slutet på rc.local resp rc.shutdown:
# MySQL /etc/rc.d/mysql.server start # ProFTPd /etc/rc.d/proftpd start # create PHP session directory rm -rf /var/sess mkdir -p /var/sess chown www /var/sess chmod 700 /var/sess # Apache /etc/rc.d/apachectl start
# Apache /usr/local/apache2/bin/apachectl stop # ProFTPd /etc/rc.d/proftpd stop # MySQL /etc/rc.d/mysql.server stop
Se till att filerna i /etc/rc.d är körbara:
chmod 755 /etc/rc.d/*