proftpd 설치 Linux

proftpd 설치

[root@localhost]#./configure --prefix=/usr/local/proftpd --enable-autoshadow --enable-shadow


[root@localhost]#make && make install


[root@localhost]#cp /usr/local/src/proftpd-1.3.4b/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd


[root@localhost]#chmod 755 /etc/init.d/proftpd


[root@localhost]#vi /etc/init.d/proftpd
-----------------------------------------------------------------------------------------
#!/bin/sh
#
# Startup script for ProFTPD
#
# chkconfig: - 85 15
# description: ProFTPD is an enhanced FTP server with a focus towards \
#              simplicity, security, and ease of configuration. \
#              It features a very Apache-like configuration syntax, \
#              and a highly customizable server infrastructure, \
#              including support for multiple 'virtual' FTP servers, \
#              anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftpd.conf
# pidfile: /var/run/proftpd/proftpd.pid

### BEGIN INIT INFO
# Provides: proftpd ftpserver
# Required-Start: $local_fs $network $named $remote_fs
# Required-Stop: $local_fs $network $named $remote_fs
# Default-Stop: 0 1 6
# Short-Description: ProFTPd FTP Server
# Description: ProFTPd is an enhanced FTP server with a focus towards
#       simplicity, security, and ease of configuration.
#       It features a very Apache-like configuration syntax,
#       and a highly customizable server infrastructure,
#       including support for multiple 'virtual' FTP servers,
#       anonymous FTP, and permission-based directory visibility.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
#. /etc/sysconfig/network

# Source ProFTPD configuration.
#PROFTPD_OPTIONS=""
if [ -f /etc/sysconfig/proftpd ]; then
      . /etc/sysconfig/proftpd
fi

# Check that networking is enabled.
#[ ${NETWORKING} = "no" ] && exit 1

# Make sure the binary is present.
#[ -x /usr/sbin/proftpd ] || exit 5

PATH="$PATH:/usr/local/proftpd/sbin"

RETVAL=0
prog="proftpd"

start() {
 echo -n $"Starting $prog: "
 daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
}

stop() {
 echo -n $"Shutting down $prog: "
 killproc proftpd
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
}

# See how we were called.
case "$1" in
 start)
  start
  ;;
 stop)
  stop
  ;;
 status)
  status proftpd
  RETVAL=$?
  ;;
 restart)
  stop
  start
  ;;
 try-restart|condrestart)
  if [ -f /var/lock/subsys/proftpd ]; then
   stop
   start
  fi
  ;;
 reload|force-reload|reread)
  echo -n $"Re-reading $prog configuration: "
  killproc proftpd -HUP
  RETVAL=$?
  echo
  ;;
 suspend)
  hash ftpshut >/dev/null 2>&1
  if [ $? = 0 ]; then
   if [ $# -gt 1 ]; then
    shift
    echo -n "Suspending with '$*'"
    ftpshut "$@"
    RETVAL=$?
   else
    echo -n "Suspending NOW"
    ftpshut now "Maintenance in progress"
    RETVAL=$?
   fi
  else
   echo -n "No way to suspend"
   RETVAL=1
  fi
  echo
  ;;
 resume)
  if [ -f /etc/shutmsg ]; then
   echo -n "Allowing sessions again"
   rm -f /etc/shutmsg
  else
   echo -n "Was not suspended"
   RETVAL=2
  fi
  echo
  ;;
 *)
  echo -n "Usage: $prog {start|stop|restart|try-restart|reload|status|reread|resume"
  hash ftpshut
  if [ $? = 1 ]; then
   echo '}'
  else
   echo '|suspend}'
   echo 'suspend accepts additional arguments, which are passed to ftpshut(8)'
  fi
  exit 2
esac

exit $RETVAL
-----------------------------------------------------------------------------------------

Leave Comments