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