aboutsummaryrefslogtreecommitdiff
path: root/template/install-on-macos.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'template/install-on-macos.html.j2')
-rw-r--r--template/install-on-macos.html.j2205
1 files changed, 205 insertions, 0 deletions
diff --git a/template/install-on-macos.html.j2 b/template/install-on-macos.html.j2
new file mode 100644
index 00000000..22ede95f
--- /dev/null
+++ b/template/install-on-macos.html.j2
@@ -0,0 +1,205 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="container">
4
5 <h2>{{ _("Tutorial: GNUnet on macOS 10.14 (Mojave)") }}</h2>
6
7 <p>
8 Welcome to the hopefully painless GNUnet tutorial for macOS Mojave! It provides
9 concrete instructions on how to install a current
10 version of GNUnet. The goal is to support newcomers, either end users or
11 developers, who want to get in touch with GNUnet for the first time.
12 </p>
13
14 <h3>{{ _("Requirements") }}</h3>
15
16 <p>
17 As a bare minimum, we recommend you install <a href="https://brew.sh">homebrew</a> and <a href="https://developer.apple.com/xcode/">XCode</a> before reading any further.
18 </p>
19
20
21 <h3>{{ _("Installation") }}</h3>
22 <p>
23 GNUnet is available through homebrew:
24 </p>
25 <br/>
26 <p>
27 <code>
28 $ brew install gnunet
29 </code>
30 </p>
31
32 <p>And you're done!. <br/>
33 GNUnet has a number of services and features.
34 Please check <a href="https://docs.gnunet.org">our documentation</a>
35 to learn how to use them. If you find anything odd or bugs, please
36 <a href="https://gnunet.org/bugs">let us know</a>.
37 </p>
38
39 <h3>{{_("First steps")}}</h3>
40 <p>
41 Congratulations! GNUnet is now installed! Before starting it you
42 may create a configuration file. By default GNUnet looks in
43 our home directory for the file `~/.config/gnunet.conf`.
44 Creating the configuation file is optional. For now just create an empty
45 file which will remind you of the location later if needed:
46 </p>
47 <p>
48 <code>
49 $ touch ~/.config/gnunet.conf
50 </code>
51 </p>
52 <br />
53 <p>
54 It's reccomended that you increase your bandwidth restrictions
55 from the acutely low defaults. The example below sets the WAN
56 and LAN limits to the value "unlimited".
57 </p>
58 <br />
59 <code>
60 $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
61 $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
62 $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
63 $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
64 </code>
65 <br />
66 <p>
67 GNUnet and its services are managed using the command line tool `gnunet-arm`
68 (Automatic Restart Manager).
69 <br/>
70 To start GNUnet with its default services execute:
71 </p>
72 <p>
73 <code>
74 $ gnunet-arm -s
75 </code>
76 </p>
77
78 <p>
79 To list the running services use:
80 </p>
81 <p>
82 <code>
83 $ gnunet-arm -I<br>
84 Running services:<br>
85 ats (gnunet-service-ats)<br>
86 revocation (gnunet-service-revocation)<br>
87 set (gnunet-service-set)<br>
88 nat (gnunet-service-nat)<br>
89 transport (gnunet-service-transport)<br>
90 peerstore (gnunet-service-peerstore)<br>
91 hostlist (gnunet-daemon-hostlist)<br>
92 identity (gnunet-service-identity)<br>
93 namecache (gnunet-service-namecache)<br>
94 peerinfo (gnunet-service-peerinfo)<br>
95 datastore (gnunet-service-datastore)<br>
96 zonemaster (gnunet-service-zonemaster)<br>
97 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
98 nse (gnunet-service-nse)<br>
99 cadet (gnunet-service-cadet)<br>
100 dht (gnunet-service-dht)<br>
101 core (gnunet-service-core)<br>
102 gns (gnunet-service-gns)<br>
103 statistics (gnunet-service-statistics)<br>
104 topology (gnunet-daemon-topology)<br>
105 fs (gnunet-service-fs)<br>
106namestore (gnunet-service-namestore)<br>
107vpn (gnunet-service-vpn)
108 </code>
109 </p>
110 <p>
111 To stop all services, use the `-e` option.
112 </p>
113 <p>
114 <code>
115 $ gnunet-arm -e
116 </code>
117 </p>
118
119 <h3>{{ _("Alternative: Installation from source") }}</h3>
120
121 <p>
122 The following instructions are only really interesting for developers
123 or if you need special build switches as you can install from git
124 using homebrew (see above).<br/>
125 First, install the dependencies:
126 </p>
127 <p>
128 <code>
129 $ brew install git autoconf automake glpk gettext gnutls jansson libextractor libgcrypt libffi libidn2 libmicrohttpd libmpc libtool libunistring pkg-config unbound
130 </code>
131 </p>
132 <p>
133 Next, create a directory in your home in order to store
134 the source code later. You should keep this directory after
135 installation because it contains Makefiles that can be used for
136 uninstalling GNUnet again.
137 </p>
138 <p>
139 <code>
140 $ mkdir ~/gnunet
141 </code>
142 </p>
143
144 <h4>{{ _("Get the source code") }}</h4>
145 <p>
146 <code>
147 $ cd ~<br>
148 $ git clone --depth 1 https://gnunet.org/git/gnunet.git gnunet_src<br>
149 </code>
150 </p>
151
152 <h4>{{ _("Compile and Install") }}</h4>
153
154
155 <p>
156 You have a choice between two options:
157 build the *production version* or *development version*. If
158 you want to start writing GNUnet applications or join the GNUnet development
159 choose the development version (it will print more debug output and contains
160 debug symbols that can be displayed with a debugger). Otherwise choose the
161 production version.
162 </p>
163
164 <h5>{{ _("Option 1: GNUnet for production / usage") }}</h5>
165
166 <p>
167 <code>
168 $ cd ~/gnunet_src<br>
169 $ ./bootstrap<br>
170 $ export GNUNET_PREFIX=~/gnunet<br>
171 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation<br>
172 </code>
173 </p>
174 <p>
175 You might see configure failing telling you that it ``cannot run C compiled programs.''.
176 In this case, you might need to open/run Xcode once and you will be prompted to
177 install additonal packages.
178 Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this).
179 Install those and execute
180 </p>
181 <p>
182 <code>
183 $ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
184 </code>
185 </p>
186 <p>
187 After configure passes, you need to add a 'gnunetdns' group using the macOS system preferences.
188 Further, you need to add a user 'gnunet'. Then:
189 </p>
190 <p>
191 <code>
192 $ make<br>
193 $ sudo make install
194 </code>
195 </p>
196
197 <h5>{{ _("Option 2: GNUnet experimental") }}</h5>
198
199 <p>
200 Perform the same steps as for Option 1, but add the configure flat '--enable-experimental'
201 </p>
202
203
204</div>
205{% endblock body_content %}