]> git.pld-linux.org Git - packages/pure-ftpd.git/blame - pure-ftpd.init
- rel 4; support alternative config locations
[packages/pure-ftpd.git] / pure-ftpd.init
CommitLineData
e61da7a2
AM
1#!/bin/sh
2#
3# pureftpd PureFTPD server
4#
5# chkconfig: 345 85 15
6# description: PureFTPD is fast, production-quality, standard-conformant FTP server
7#
8
9# Source function library
10. /etc/rc.d/init.d/functions
11
12# Get network config
13. /etc/sysconfig/network
14
66b65574
AM
15PURE_FTPD_CONF=/etc/ftpd/pureftpd.conf
16[ -f /etc/pure-ftpd/conf/pureftpd.conf ] && PURE_FTPD_CONF=/etc/pure-ftpd/conf/pureftpd.conf
17
23e4e26e 18PURE_AUTH_SCRIPT=/etc/pure-ftpd/authd/auth.script
cc332e9f 19PURE_AUTH_SOCKET=/var/run/pure-authd/socket
23e4e26e 20PURE_CERT_SCRIPT=/etc/pure-ftpd/certd/cert.script
c91bab60 21PURE_CERT_SOCKET=/var/run/pure-certd/socket
cc332e9f 22
e61da7a2
AM
23# Get service config
24[ -f /etc/sysconfig/pure-ftpd ] && . /etc/sysconfig/pure-ftpd
25
26# Check that networking is up.
8d60cf00 27if is_yes "${NETWORKING}"; then
8e007219 28 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
8d60cf00 29 msg_network_down pure-ftpd
30 exit 1
31 fi
32else
33 exit 0
e61da7a2
AM
34fi
35
c4fc8677 36start() {
e61da7a2 37 # Check if the service is already running?
8d60cf00 38 if [ ! -f /var/lock/subsys/pure-ftpd ]; then
cc332e9f
AM
39 RETVAL=0
40 if [ -x "$PURE_AUTH_SCRIPT" ]; then
41 PURE_AUTH=yes
42 msg_starting pure-authd
c91bab60 43
cc332e9f 44 # 326/326 - authd/authd
c91bab60 45
cc332e9f
AM
46 mkdir -p /var/run/pure-authd
47 chown ftpauth:root /var/run/pure-authd
48 chmod 750 /var/run/pure-authd
c91bab60 49
cc332e9f
AM
50 daemon /usr/sbin/pure-authd --uid 326 --gid 326 --pid /var/run/pure-authd.pid \
51 --run "$PURE_AUTH_SCRIPT" --socket "$PURE_AUTH_SOCKET" --daemonize
2b83cc9c 52 RETVAL=$?
1d16b00b 53 [ $RETVAL -eq 0 ] && chown root:root "$PURE_AUTH_SOCKET" && chmod 600 "$PURE_AUTH_SOCKET"
2b83cc9c 54 fi
c91bab60
AM
55 if [ $RETVAL -eq 0 -a -x "$PURE_CERT_SCRIPT" ]; then
56 PURE_CERT=yes
57 msg_starting pure-certd
58
59 # 335/335 - certd/certd
60
61 mkdir -p /var/run/pure-certd
62 chown ftpcert:root /var/run/pure-certd
63 chmod 750 /var/run/pure-certd
64
65 daemon /usr/sbin/pure-certd --uid 335 --gid 335 --pid /var/run/pure-certd.pid \
66 --run "$PURE_CERT_SCRIPT" --socket "$PURE_CERT_SOCKET" --daemonize
67 RETVAL=$?
1d16b00b 68 [ $RETVAL -eq 0 ] && chown root:root "$PURE_CERT_SOCKET" && chmod 600 "$PURE_CERT_SOCKET"
c91bab60 69 fi
cc332e9f
AM
70 if [ $RETVAL -eq 0 ]; then
71 msg_starting pure-ftpd
72 rm -f /var/run/pure-ftpd/client*
796cd365 73 modprobe -s capability > /dev/null 2>&1
66b65574 74 daemon /usr/sbin/pure-ftpd ${PURE_FTPD_CONF} \
796cd365 75 $([ "$PURE_AUTH" = "yes" ] && echo "-lextauth:$PURE_AUTH_SOCKET") \
23e4e26e 76 $([ "$PURE_CERT" = "yes" ] && echo "--extcert=$PURE_CERT_SOCKET") \
796cd365
AM
77 --daemonize
78 RETVAL=$?
c91bab60 79
cc332e9f
AM
80 if [ -n "$UPLOADSCRIPT" ]; then
81 msg_starting pure-uploadscript
82 UPLOADSCRIPTOPTS="-B -r $UPLOADSCRIPT"
83 [ -n "$UPLOADSCRIPT_UID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -u $UPLOADSCRIPT_UID"
84 [ -n "$UPLOADSCRIPT_GID" ] && UPLOADSCRIPTOPTS="$UPLOADSCRIPTOPTS -g $UPLOADSCRIPT_GID"
85 daemon /usr/sbin/pure-uploadscript $UPLOADSCRIPTOPTS
86 RETVAL=$(($RETVAL+$?))
87 fi
c91bab60
AM
88 else
89 msg_starting pure-ftpd
90 deltext
91 fail
b99c8afc 92 fi
93
8d60cf00 94 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pure-ftpd
e61da7a2 95 else
8d60cf00 96 msg_already_running pure-ftpd
e61da7a2 97 fi
c4fc8677
ER
98}
99
100stop() {
8d60cf00 101 # Stop daemons.
e61da7a2 102 if [ -f /var/lock/subsys/pure-ftpd ]; then
b99c8afc 103 if [ -n "$UPLOADSCRIPT" ]; then
104 msg_stopping pure-uploadscript
105 killproc pure-uploadscript
106 fi
107
cc332e9f
AM
108 if [ -x "$PURE_AUTH_SCRIPT" -o -r /var/run/pure-authd.pid ]; then
109 msg_stopping pure-authd
110 killproc pure-authd
111 fi
112
c91bab60
AM
113 if [ -x "$PURE_CERT_SCRIPT" -o -r /var/run/pure-certd.pid ]; then
114 msg_stopping pure-certd
115 killproc pure-certd
116 fi
117
8d60cf00 118 msg_stopping pure-ftpd
119 killproc pure-ftpd
b99c8afc 120
8d60cf00 121 rm -f /var/lock/subsys/pure-ftpd > /dev/null 2>&1
122 else
123 msg_not_running pure-ftpd
e61da7a2 124 fi
c4fc8677
ER
125}
126
127RETVAL=0
128# See how we were called.
129case "$1" in
130 start)
131 start
132 ;;
133 stop)
134 stop
e61da7a2
AM
135 ;;
136 status)
137 status pure-ftpd
b99c8afc 138 status pure-uploadscript
e61da7a2
AM
139 RETVAL=$?
140 if [ $RETVAL -eq 0 ]; then
8d60cf00 141 pure-ftpwho
e61da7a2 142 fi
e61da7a2 143 ;;
40382493 144 restart|force-reload)
c4fc8677
ER
145 stop
146 start
e61da7a2
AM
147 ;;
148 *)
40382493 149 msg_usage "$0 {start|stop|restart|force-reload|status}"
150 exit 3
e61da7a2
AM
151 ;;
152esac
153
154exit $RETVAL
This page took 0.087636 seconds and 4 git commands to generate.