3 $ go get go.stargrave.org/paster
5 Add "paster" user and "pastes" directory, also accessible by HTTP service:
7 # pw useradd paster -s /usr/sbin/nologin -w no -d /path/to/pastes
8 # mkdir /path/to/pastes
9 # chown paster:lighttpd pastes
12 Create daemontools+ucspi-tcp service:
14 # mkdir -p /var/service/.paster/log/main
15 # cat > /var/service/.paster/run <<EOF
19 exec setuidgid paster tcpserver -DRH -l 0 ::0 2020 \
20 $GOPATH/bin/paster http://paster.example.com/ 2>&1
22 # cat > /var/service/.paster/log/run <<EOF
24 exec setuidgid paster multilog t ./main
26 # chmod +x /var/service/.paster/run /var/service/.paster/log/run
27 # chown paster /var/service/.paster/log/main
28 # mv /var/service/.paster /var/service/paster
30 Optionally prepare X.509 certificate for TLS enabled service:
33 # certtool --generate-privkey --bits 256 --ecc --outfile \
34 paster.example.com.key.pem
37 dn = "cn=paster.example.com"
40 dns_name = "paster.example.com"
42 # certtool --generate-self-signed \
43 --load-privkey paster.example.com.key.pem \
44 --template $tmpl --output paster.example.com.pem
45 # cat paster.example.com.key.pem >> paster.example.com.pem
46 # rm paster.example.com.key.pem $tmpl
47 # chown paster:paster paster.example.com.pem
48 # chmod 600 paster.example.com.pem
50 prepare stunnel configuration:
52 # cat > stunnel.conf <<EOF
56 cert = paster.example.com.pem
57 exec = $GOPATH/bin/paster
58 execArgs = $GOPATH/bin/paster http://paster.example.com/
60 # chown paster stunnel.conf
62 and run "stunnel /path/to/stunnel.conf" in service/paster.