proftpd, mass virtual hosting and symlinks

Marco Gonçalves info at kolorbit.com
Wed Jun 4 08:55:09 PDT 2003


Use FTP,

i do virual hosting on my server, and since i use PureFTPd all muy trouble finished (at least with ftp sevice), i did it like this:
1 - intall pureftpd, with mysql support, so you can manage directly from mysql the ftp users
2 - dont run the ftp from inetd, you better with standalone via rc.d , here is the script that i made 


#!/bin/sh

case "$1" in
        start)
                /usr/local/sbin/pure-ftpd -A -l mysql:/usr/local/etc/pureftpd-mysql.conf & > /dev/null && echo -n ' pure-ftpd'
                ;;
        stop)
                /usr/bin/killall pure-ftpd > /dev/null && echo -n ' pure-ftpd'
                ;;
        restart)
                /usr/bin/killall pure-ftpd && /usr/local/sbin/pure-ftpd -A -l mysql:/usr/local/etc/pureftpd-mysql.conf & > /dev/null && echo -n ' pure-ftpd'
                ;;
        *)
                echo ""
                echo "Usage: `basename $0` { start | stop | restart }"
                echo ""
                exit 64
                ;;
esac

of course you have to have put the config file in /usr/local/etc/pureftpd-mysql.conf  chmod 600 root
you can have links with no problem working with chroot 

PureFTPd is good

Best regards,
Marco Gonçalves

  ----- Original Message ----- 
  From: Jez Hancock 
  To: FreeBSD ISP List 
  Sent: Wednesday, June 04, 2003 3:34 PM
  Subject: proftpd, mass virtual hosting and symlinks


  Hi all,

  Our webserver serves a large number of domains and the partitioning
  scheme is setup like this:

  /home - contains all shell related items for users (we allow shell logins)
  /www - contains all documentroots for the server

  A typical user's documentroot resides in:

  /home/user/web/example.com/www/

  which is a symlink to

  /www/example.com/www

  The idea was to save time on httpd requests by serving files from a
  dedicated partition and similar issues also exist for
  suexec cgi-bin trees and logfile trees.

  The problem then is that when a user logs in via proftpd, if we use
  'DefaultRoot ~' to chroot the users to their home directories, the user
  is unable to follow the symlink to their web docroot(s) because of the
  old chestnut with chrooting disallowing symlinks out of the chroot root
  directory.

  I've read through the manual for proftpd, particularly this:
  http://proftpd.linux.co.uk/localsite/Userguide/linked/chroot-symlinks.html

  which suggests instead of symlinking, mount each (currently symlinked)
  directory in the target directory, something like:

  mount_null /www/example.com/www /home/user/web/example.com/www

  Questions:
  Is proftpd a viable option for mass vhosting given this type of
  partitioning scheme?  If so, how would I configure proftpd to handle symlinks
  whilst still not allowing users to break out of their home directory?

  If proftpd is not the best option - what other ftpd are recommended?  I
  understand PureFTPD implements a 'quasi' chrooting system via a module
  mod_vroot - is this a better option (proftpd also appears to have
  support for mod_vroot, but docs are sparse)?

  TIA,
  Jez
  _______________________________________________
  freebsd-isp at freebsd.org mailing list
  http://lists.freebsd.org/mailman/listinfo/freebsd-isp
  To unsubscribe, send any mail to "freebsd-isp-unsubscribe at freebsd.org"


More information about the freebsd-isp mailing list