MUDDLEFTPD DOCUMENTATION (Version 1.1.1) Beau Kuiper (ekuiperba@cc.curtin.edu.au) License under GPL 1) THE MUDDLEFTPD PROGRAM 1a) System Requirements: Your system needs to following to compile and run muddleftpd. * Some operating system that resembles UNIX (linux, FreeBSD, SunOs, Solaris, Irix, Ultrix). Muddleftpd has been tested on FreeBSD, linux with libc5, linux with glibc2, Irix 5.3, solaris 2.6, linux with glibc2.1 and Sun-os. * GNU gcc or any gcc compatible compiler (egcs, etc). I will accept patches to make muddleftpd compile on non-gcc compilers (as long as nothing breaks). * GNU make. Other makes seem to get confused about what I use in the Makefile 1b) Building muddleftpd: * Run the following command in the top level directory ./configure or if you wish to specify a prefix directory to install (eg /usr/local) ./configure --prefix= * Open defaults.h. There is a #define CONFIGFILEE statement in the first few lines. eg: #define CONFIGFILE "/etc/muddleftpd/ftpd.conf" If this is not where you want to place the main config file, then modify it to the location and filename you wish use instead. If you don't perform this step, muddleftpd and ftpwho will need to be manually told where their configuration files are each time they are started. * run the following to create the executables: make if you want to create a version that doesn't output startup messages, run: make QUIET=1 NOTE: on some systems you may need to run gmake instead of just make. 1c) Installing muddleftpd: * run the following to install muddleftpd: make install * Create the configuration at the location you specified in CONFIGFILE above. You may use one of the example configurations (standard set is recommended), see examples/README for more information. 1d) Running muddleftpd: To start muddleftpd, type muddleftpd [configfile] If you specify [configfile], then it will use [configfile] as the main configuration file instead of the one compiled into muddleftpd. If you want muddleftpd to run each time you boot the system up, then you need to put the muddleftpd statement above into one of your startup files, probably /etc/rc.d/rc.local (on linux systems) 2) TROUBLESHOOTING: 2a) Compile Problems: If problems occur while compiling, check the following: * If you are running OpenLinux 2.2, make sure that you have downloaded and installed the crypt package. Get it from: ftp://ftp.linuxland.de/pub/OpenLinux/crypto/2.2/glibc-crypt-2.1-3i.i386.rpm Everything should compile OK then. 2b) Running problems: If you get the message: ---------------------------------------------------------------------------- muddleftpd error in file init.c line 51: muddleftpd already running! CANNOT RESUME. Goodbye This means that you are already running a copy of muddleftpd using the configuration file muddleftpd tried to open. (That is, the default compiled in config file, or what you specified on the command line). Simply close down the old version (with a SIGTERM) and start it again. ---------------------------------------------------------------------------- muddleftpd error in file shmem.c line 91: Permission denied CANNOT RESUME. Goodbye This means that muddleftpd could not get write permission on the main configuration file (It is used for locking the shared memory). You must give the user running muddleftpd write permission to the main config file muddleftpd will be running as. ----------------------------------------------------------------------------