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