Installation and Startup FAQ
1999/12/12 by Crescent
Q: How do I install FTP4ALL ?
A: First, get the latest distribution archive from our website. Then unpack
it (tar -xfvz ftpd-x.yy.tar.gz), and run the configure (./configure) script.
It asks you one question (read the next question ahead), which you have to
answer. If this is your first time installing FTP4ALL just answer "no" to this question.
Then think about how long filenames can be on your site. The maximum length
that FTP4ALL allows is 32 by default. If this is not sufficient, edit file
src/common/tweak.h and increase the value of MAXFILENAMELENGTH.
Then run make (just type make). It SHOULD compile without any error messages and
store the binaries in the binary directory (./bin/). Move the ./standard/
directory to some place you want have it and copy the three binaries form ./bin/
into sbin of the new standard directory. Then, edit etc/ftpd.reg in the new
standard directory. You need to set only port and basedir. Then run sbin/ftpd.
After that you can connect with any FTP client the the port. If you want to
use the GUI, set adminport in the ftpd.reg before running the binary.
Q: The configure script exits with the message:
ERROR: Machine word length must be 32 or 64 bit or
ERROR: Your system does not support 32 bit integer or
ERROR: Your system does not support 64 bit integer or
ERROR: Your C-Library does not support 64 bit integer in scanf and printf functions
What does this mean ?
A: This means that FTP4ALL v3 will not work on your system. Try v2 or another
daemon.
Q: What is the "want DES encryption (y/n) ?" thing good for ?
A: FTP4ALL has the ability to encrypt the users and groups file on your shell
account, to protect it from hackers or curious system administrators. If you
say yes to this option, then DES encryption will be compiled into FTP4ALL.
I included a third-party encryption package, so I will give no guarantee that
this package will compile and/or work on your system. If you are planning to
use DES encryption you should first build a test server and verify that
everything works ok.
Q: Does this DES encryption feature encrypt all data files that are uploaded
to the site, too ? How do I enable encryption of data files ?
A: No it doesn't. And sorry, there is no way to encrypt data files.
Q: I've been running a site without DES encryption and now I want to
switch to encryption. Can I still use the old user and
group files with the new daemon ?
A: Yes you can, just start the new daemon with the old user and group files.
It will detect that the files are not encrypted and read them accordingly.
Q:I've been running a site with DES encryption and now I want to
switch to a version without encryption. What do I have to do in order
to re-use the encrypted user and group files ?
A: Log in to the site that supports DES encryption. Then issue the command:
SITE REG SET desencryption off
This will turn off DES encryption. Then send a HUP signal to ftpd, in order
to force it to save the user and group files, e.g.
kill -HUP 1234
The user and group files are now unencrypted and can be used with the
new daemon.
Q: I'm using Linux and can't compile the server. The make program fails
because of missing header files in the linux and/or asm
subdir, like:
linux/limits.h: No such file or directory.
A: Please install the kernel sources, at least the kernel header files and try
again. The kernel sources contain header files which are essential for
compiling programs, they should always be installed.
After that, make sure
that the directories /usr/include/linux/ and /usr/include/asm/ are symlinks to
the related directories in the kernel source !
Q: There are several subdirectories under the standard/ directory. Can you
explain what they are meant for ?
A: There are five subdirectories: bin/ etc/ log/ msg/ and sbin/. The purpose
of these are:
- bin/ contains scripts that can be executed by
any user on the site. There
are two subdirectories under bin/ named grp/ and usr/. They are there to
hold scripts that may be executed by a user or by a group only. In this
case you have to create a subdirectory under grp/ or usr/ with the name
of the user or group in lowercase and put the scripts in there.
- etc/ contains the configuration of the server. There is the
registry and five
configuration files. Also the user and group files go there.
- log/ contains log and statistic files.
- msg/ contains server message files There
are two subdirectories under msg/ named grp/ and usr/. They are there to
hold user or group specific messages. In this case you have to create a
subdirectory under grp/ or usr/ with the name of the user or group in
lowercase and put the message file in there.
- sbin/ contains the server binaries: ftpa, ftpd and ftps.
Q: When I try to start the daemon, it just outputs one line and then quits
out, and I can't ftp in to the selected port. Any ideas ?
A: Generally (read: almost always) this is caused by an error in the
registry file. Look for a file called "log/ftpd.err", and read what's
in there. In 90% of cases there will be a simple problem that is easy to fix.
Q: What is the login/password when I want to login to a fresh installed
server ?
A: Login name is root, password may be any.
Q: What should I do on the first login ?
A: The first thing you should to is to set a new root password using the
SITE PASS command.
You should also assign an owner to the root directory by using the
SITE CHOWN command.
Next you should assign permissions to the root directory using the
SITE CHMOD command.
After verifying the result using the
SITE MOD command you
may also want to update the default permissions for newly created files and
directories, do so with the
umaskuser registry
option. And also you may want to set up the basic directory structure, to ease
this set the umaskroot option in the configuration file before creating directories.
Next you may want to check out additional options on the FTP4ALL homepage.
Yes, it does sound a little complex, but before long all this will become
second nature to you. :)
Q: I've forgotten the root password
Q: I deleted the root user
Q: I fucked up the ident/IP ranges of the root user
now I cannot log in as root. How do I fix it ?
A: Shut down the server by killing it from a shell (e.g.
kill `cat /site/log/ftpd.pid`). Then restart it with the -s command
line option (e.g. /site/sbin/ftpd -s). After that, you can login
as root with any password from any IP.