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 # echo "<html><body>Paste service</body></html>" > /path/to/pastes/index.html
10 # chown -R paster:lighttpd pastes
12 # chmod 640 /path/to/pastes/index.html
14 Create daemontools+ucspi-tcp service:
16 # mkdir -p /var/service/.paster/log/main
17 # cat > /var/service/.paster/run <<EOF
21 exec setuidgid paster tcpserver -DRH -l 0 ::0 2020 \
22 $GOPATH/bin/paster http://paster.example.com/ 2>&1
24 # cat > /var/service/.paster/log/run <<EOF
26 exec setuidgid paster multilog t ./main
28 # chmod +x /var/service/.paster/run /var/service/.paster/log/run
29 # chown paster /var/service/.paster/log/main
30 # mv /var/service/.paster /var/service/paster
32 Optionally prepare X.509 certificate for TLS enabled service:
35 # certtool --generate-privkey --bits 256 --ecc --outfile \
36 paster.example.com.key.pem
39 dn = "cn=paster.example.com"
42 dns_name = "paster.example.com"
44 # certtool --generate-self-signed \
45 --load-privkey paster.example.com.key.pem \
46 --template $tmpl --outfile paster.example.com.pem
47 # cat paster.example.com.key.pem >> paster.example.com.pem
48 # rm paster.example.com.key.pem $tmpl
49 # chown paster:paster paster.example.com.pem
50 # chmod 600 paster.example.com.pem
52 prepare stunnel configuration:
54 # cat > stunnel.conf <<EOF
58 cert = paster.example.com.pem
59 exec = $GOPATH/bin/paster
60 execArgs = $GOPATH/bin/paster http://paster.example.com/
62 # chown paster stunnel.conf
64 and run "stunnel /path/to/stunnel.conf" in service/paster.