

 ------------------------ WINDOWS PORT OF PURE-FTPD ------------------------


Pure-FTPd was designed for Unix-like systems. Still, it is possible to
run it on Windows using Cygwin.

This should be considered experimental and unsupported.


       ------------------------ INSTALLATION ------------------------


Copy the executable files (*.EXE) in a suitable directory. Also copy
CYGWIN1.DLL in that directory.

Create a C:\CYGWIN directory (you can leave it empty, but the
directory should be there) .


    ------------------------ RUNNING THE SERVER ------------------------


PURE-FTPD.EXE works like Unix's /usr/local/sbin/pure-ftpd program and all
command-line switches apply as well.

A noticeable difference, though, is that users can't be stored in
/etc/passwd (or equivalent files) . All users have the same UID/GID.
So better chroot everyone.

Users must be in a puredb database. PURE-PW.EXE can be used to create
virtual users. It you use it in the default configuration, you have to
create C:\CYGWIN\etc and C:\etc .

Ray Jachrist says that Pure-FTPd can run as a service using Firedaemon:
http://www.firedaemon.com/ .

       ------------------------ SERVER FILES ------------------------


All files managed by Pure-FTPd have their path relative to C:\CYGWIN .

It means that starting the server with:

                    pure-ftpd -lpuredb:/etc/pureftpd.pdb

Will read:

                         C:\CYGWIN\etc\pureftpd.pdb

It also applies to log files and users directories.


       ------------------------ ANONYMOUS FTP ------------------------


Files for anonymous FTP must be stored in a directory called:

                                C:\CYGWIN\FTP

(of course you can use the -e switch to disable anonymous FTP) .

Alternatively, you can have a FTP_ANON_DIR environment variable to
define the directory for public files.

Virtual hosting is supported as well. Files must be in:

                          C:\CYGWIN\PURE-FTPD\<ip>\

If you don't want anonymous users to upload files, use the -i switch.


  ------------------------ COMPILATION ENVIRONMENT ------------------------


Pure-FTPd can be compiled on Cygwin with the following command:

env LDFLAGS="-static -s" \
    ./configure --with-everything --with-brokenrealpath \
                --without-shadow  --with-nonroot --with-tls

All these switches (except --with-everything and --with-tls) are highly
recommended to compile Pure-FTPd on Windows.

Required packages are: base, gcc (+ dependencies), make and the crypt
library. libsodium is also recommended if you are using PureDB.

All of these can be installed with the standard Cygwin installer
(http://www.cygwin.com/) .
