aboutsummaryrefslogtreecommitdiffstats
path: root/www/mycorrhiza/pkg/README
blob: 322ebc474cee83e9fc7732958e77c648316ef6d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------

Initial setup
=============

By default, Mycorrhiza listens on localhost:1737.  To make it reachable
as a web service, it needs to be put behind a TLS terminating proxy.
Here's a sample httpd(8) and relayd(8) configuration provided for
reference:

/etc/httpd.conf:

	server "mycorrhiza.example.com" {
		listen on * port http
		location "/.well-known/acme-challenge/*" {
			root "/acme"
			request strip 2
		}
		location "*" {
			block return 302 "https://$HTTP_HOST$REQUEST_URI"
		}
	}


/etc/relayd.conf:

	ext_ip="123.45.67.89"
	ext_ip6="1234:5678:dead:beef"
	mycorrhiza_port="1737"
	table <mycorrhiza> { 127.0.0.1 ::1 }

	http protocol https {
		match request header append "X-Forwarded-For" \
			value "$REMOTE_ADDR"
		match request header append "X-Forwarded-By" \
			value "$SERVER_ADDR:$SERVER_PORT"
		match request header set "Connection" value "close"

		match request header "Host" value "mycorrhiza.*" \
			forward to <mycorrhiza>

		tcp { sack, backlog 128 }
		tls keypair mycorrhiza.example.com
	}

	relay https {
		listen on $ext_ip port https tls
		listen on $ext_ip6 port https tls
		protocol https
		forward to <mycorrhiza> port $mycorrhiza_port check tcp
	}

Don't forget to set up a TLS certificate (for example using
acme-client(1)) and start httpd(8) and relayd(8):

	# rcctl enable httpd relayd
	# rcctl start httpd relayd


Setup
=====

See the official documentation for details about configuration and
deployment.  Be sure to set up proper authentication.

By default the wiki will be created in ${LOCALSTATEDIR}/mycorrhiza, but
it's possible to change it by overwriting the daemon flags with rcctl(8)

	# rcctl set mycorrhiza flags '/path/to/wiki/dir'

Finally, enable and start the daemon:

	# rcctl enable mycorrhiza
	# rcctl start mycorrhiza