]> git.treefish.org Git - fex.git/blob - doc/SSL
6eb73bf60c1c9dbf8d349e33b1ec41d88901619f
[fex.git] / doc / SSL
1 # http://www.stunnel.org/faq/certs.html
2
3 # execute this as root!
4
5 # Redhat : stunnel-4 does not work! you need to install stunnel-5
6 # Debian : stunnel-5.06 does not work! you need to install stunnel-5.18
7
8 mkdir /home/fex/etc
9 cd /home/fex/etc/
10
11 openssl req -new -x509 -days 9999 -nodes -out stunnel.pem -keyout stunnel.pem
12 # see http://www.infodrom.org/Debian/tips/stunnel.html
13 dd if=/dev/urandom count=2 | openssl dhparam -rand - 1024 >> stunnel.pem
14 openssl x509 -text -in stunnel.pem
15 chmod 600 stunnel.pem
16
17 cat <<EOD>stunnel.conf
18 debug = warning
19 output = /home/fex/spool/stunnel.log
20 cert = /home/fex/etc/stunnel.pem
21 sslVersion = all
22 TIMEOUTclose = 1
23 exec = perl
24 execargs = perl -T /home/fex/bin/fexsrv stunnel
25 EOD
26
27 case $(lsb_release -a 2>/dev/null) in
28   *CentOS*) echo 'fips = no' >>stunnel.conf;;
29 esac
30
31 chown -R fex .
32
33 stunnel=$(which stunnel4)
34 if [ -z "$stunnel" ]; then
35   echo "no stunnel found" >&2
36 else
37
38   cat <<EOD>/etc/xinetd.d/fexs
39 # default: on
40 # description: fex web server with SSL
41 # note: only possible on port 443!
42 service fexs
43 {
44         socket_type     = stream
45         wait            = no
46         type            = unlisted
47         protocol        = tcp
48         port            = 443
49         cps             = 10 2
50         user            = fex
51         groups          = yes
52         server          = $stunnel
53         server_args     = /home/fex/etc/stunnel.conf
54         nice            = 0
55         disable         = no
56 }
57 EOD
58
59   /etc/init.d/xinetd restart
60   echo 'To enforce https, add to fex.ph:'
61   echo '$force_https = 1;'
62
63 fi
64
65 # Hint: on some systems stunnel works not well with xinetd
66 #       you can also run stunnel without xinetd, in server daemon mode