Prerequisites:
==============

To install the F*EX server, you need a UNIX system with perl, xinetd and
/usr/lib/sendmail (either original or a clone like postfix or exim).
Your perl must have the following standard core modules:

CGI
CGI::Carp
Digest::MD5
Encode
Fcntl
File::Basename
Getopt::Std
IO::Handle
POSIX

Optional are the non-standard perl modules:

Net::DNS  		(for better domain error handling)
Socket6   		(for ipv6 support)
Net::INET6Glue		(for ipv6 support)
IO::Socket::INET6	(for ipv6 support)

On Debian or Ubuntu Linux simply execute as root:

  apt-get install xinetd perl-modules libnet-dns-perl libnet-inet6glue-perl
  test -x /usr/lib/sendmail || apt-get install postfix

Do not forget to open port 80 on your firewalls and routers for incoming
connections!

To install F*EX, simply run "./install", then edit lib/fex.ph and set your
local config.  If you want to upgrade from a previous F*EX version, you
also can run "./install", no old config files will be overwritten. Also
index.html is kept.

Alternativly use "./install -p 8888" to install F*EX on port 8888 instead
on default port 80.

Run "./install" again for installing optional localizations (languages).

If the install-script does not work for you (no xinetd, no GNU tools, etc)
here is what is to be done manually for installing:

echo "fex 80/tcp" >> /etc/services
echo "fex stream tcp nowait fex /home/fex/bin/fexsrv fexsrv" >> /etc/inetd.conf
# restart inetd or reboot
useradd -s /bin/bash -c "File EXchange" -m fex
cd FEXSOURCEDIR
chown -R fex .
su - fex
cd FEXSOURCEDIR
rsync -av bin cgi-bin lib etc htdocs doc $HOME
cd $HOME
mkdir spool
chmod 700 spool
vi lib/fex.ph
# set your config
crontab -e
	3 3 * * * exec /home/fex/bin/fex_cleanup

Hints:
======

F*EX runs with its own uid (default: fex), which will be created by the
install script.

F*EX uses a directory (FEXHOME) containing anything needed to run fex.
Default is FEXHOME=/home/fex, the home directory of the "fex" user.

If you want fex to be installed elsewhere create a new "fex" user account
BEFORE running ./install, e.g.:

adduser --system --group \
  --gecos "File EXchange" \
  --home /srv/fex \
  --shell /bin/bash \
  fex
./install

If you run F*EX behind a HTTP reverse proxy, then write to lib/fex.ph :
	$reverse_proxy_ip = 'internal-IP.address.of.proxy';
	$durl = 'http://your.proxy.with.domain/fop';
Be aware that most proxies have a 2 GB file size limit (signed int 32 bit bug)!
Of course you have to configure your reverse proxy correctly, especially
the URL rewrite rules. See the manual of your reverse proxy.

If you want to use https, you need the stunnel package. See file SSL for
more information.

On problems contact the author: framstag@rus.uni-stuttgart.de
