]> git.treefish.org Git - fex.git/blob - doc/installation
Original release 20160328
[fex.git] / doc / installation
1 Prerequisites:
2 ==============
3
4 To install the F*EX server, you need a UNIX system with perl, xinetd and
5 /usr/lib/sendmail (either original or a clone like postfix or exim).
6 Your perl must have the following standard core modules:
7
8 CGI
9 CGI::Carp
10 Digest::MD5
11 Encode
12 Fcntl
13 File::Basename
14 Getopt::Std
15 IO::Handle
16 POSIX
17
18 Optional are the non-standard perl modules:
19
20 Net::DNS                (for better domain error handling)
21 Socket6                 (for ipv6 support)
22 Net::INET6Glue          (for ipv6 support)
23 IO::Socket::INET6       (for ipv6 support)
24
25 On Debian or Ubuntu Linux simply execute as root:
26
27   apt-get install xinetd perl-modules libnet-dns-perl libnet-inet6glue-perl
28   test -x /usr/lib/sendmail || apt-get install postfix
29
30 Do not forget to open port 80 on your firewalls and routers for incoming
31 connections!
32
33 To install F*EX, simply run "./install", then edit lib/fex.ph and set your
34 local config.  If you want to upgrade from a previous F*EX version, you
35 also can run "./install", no old config files will be overwritten. Also
36 index.html is kept.
37
38 Alternativly use "./install -p 8888" to install F*EX on port 8888 instead
39 on default port 80.
40
41 Run "./install" again for installing optional localizations (languages).
42
43 If the install-script does not work for you (no xinetd, no GNU tools, etc)
44 here is what is to be done manually for installing:
45
46 echo "fex 80/tcp" >> /etc/services
47 echo "fex stream tcp nowait fex /home/fex/bin/fexsrv fexsrv" >> /etc/inetd.conf
48 # restart inetd or reboot
49 useradd -s /bin/bash -c "File EXchange" -m fex
50 cd FEXSOURCEDIR
51 chown -R fex .
52 su - fex
53 cd FEXSOURCEDIR
54 rsync -av bin cgi-bin lib etc htdocs doc $HOME
55 cd $HOME
56 mkdir spool
57 chmod 700 spool
58 vi lib/fex.ph
59 # set your config
60 crontab -e
61         3 3 * * * exec /home/fex/bin/fex_cleanup
62
63 Hints:
64 ======
65
66 F*EX runs with its own uid (default: fex), which will be created by the
67 install script.
68
69 F*EX uses a directory (FEXHOME) containing anything needed to run fex.
70 Default is FEXHOME=/home/fex, the home directory of the "fex" user.
71
72 If you want fex to be installed elsewhere create a new "fex" user account
73 BEFORE running ./install, e.g.:
74
75 adduser --system --group \
76   --gecos "File EXchange" \
77   --home /srv/fex \
78   --shell /bin/bash \
79   fex
80 ./install
81
82 If you run F*EX behind a HTTP reverse proxy, then write to lib/fex.ph :
83         $reverse_proxy_ip = 'internal-IP.address.of.proxy';
84         $durl = 'http://your.proxy.with.domain/fop';
85 Be aware that most proxies have a 2 GB file size limit (signed int 32 bit bug)!
86 Of course you have to configure your reverse proxy correctly, especially
87 the URL rewrite rules. See the manual of your reverse proxy.
88
89 If you want to use https, you need the stunnel package. See file SSL for
90 more information.
91
92 On problems contact the author: framstag@rus.uni-stuttgart.de