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