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/*