aboutsummaryrefslogtreecommitdiff
path: root/template/install-on-ubuntu1804.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'template/install-on-ubuntu1804.html.j2')
-rw-r--r--template/install-on-ubuntu1804.html.j2122
1 files changed, 18 insertions, 104 deletions
diff --git a/template/install-on-ubuntu1804.html.j2 b/template/install-on-ubuntu1804.html.j2
index fb218110..157183d8 100644
--- a/template/install-on-ubuntu1804.html.j2
+++ b/template/install-on-ubuntu1804.html.j2
@@ -43,8 +43,8 @@
43 Next we create a directory in our home directory where we store 43 Next we create a directory in our home directory where we store
44 the source code later. We should keep this directory after 44 the source code later. We should keep this directory after
45 installation because it contains Makefiles that can be used for 45 installation because it contains Makefiles that can be used for
46 uninstalling GNUnet again (see chapter *Uninstall GNUnet and its 46 uninstalling GNUnet again (see chapter <b>Uninstall GNUnet and its
47 dependencies*). 47 dependencies</b>).
48 </p> 48 </p>
49 <code> 49 <code>
50 $ mkdir ~/gnunet_installation 50 $ mkdir ~/gnunet_installation
@@ -61,19 +61,20 @@
61 <h2>{{ _("Compile and Install") }}</h2> 61 <h2>{{ _("Compile and Install") }}</h2>
62 <p> 62 <p>
63 Installing GNUnet is not hard. We have two options: 63 Installing GNUnet is not hard. We have two options:
64 installing a *production version* and installing a *development version*. If 64 installing a <b>production version</b> and installing a <b>development version</b>. If
65 you want to start writing GNUnet applications or join the GNUnet development 65 you want to start writing GNUnet applications or join the GNUnet development
66 choose the development version (it will print more debug output and contains 66 choose the development version (it will print more debug output and contains
67 debug symbols that can be displayed with a debugger). Otherwise choose the 67 debug symbols that can be displayed with a debugger). Otherwise choose the
68 production version. 68 production version.
69 </p> 69 </p>
70 <h3>{{ _("Option 1: GNUnet for production / usage") }}</h3> 70 <h3>{{ _("Option 1: GNUnet for testing / usage") }}</h3>
71 <code> 71 <code>
72 $ cd ~/gnunet_installation/gnunet<br> 72 $ cd ~/gnunet_installation/gnunet<br>
73 $ ./bootstrap<br> 73 $ ./bootstrap<br>
74 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --with-microhttpd=/opt/libmicrohttpd<br> 74 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --with-microhttpd=/opt/libmicrohttpd<br>
75 $ sudo addgroup gnunetdns<br> 75 $ sudo addgroup gnunetdns<br>
76 $ sudo adduser --system --group --disabled-login --home /var/lib/gnunet gnunet<br> 76 $ sudo adduser --system --group --disabled-login --home /var/lib/gnunet gnunet<br>
77 $ sudo usermod -aG gnunet $USER
77 $ make -j$(nproc || echo -n 1)<br> 78 $ make -j$(nproc || echo -n 1)<br>
78 $ sudo make install 79 $ sudo make install
79 </code> 80 </code>
@@ -82,8 +83,11 @@
82 <code> 83 <code>
83 $ cd ~/gnunet_installation/gnunet<br> 84 $ cd ~/gnunet_installation/gnunet<br>
84 $ ./bootstrap<br> 85 $ ./bootstrap<br>
86 $ export GNUNET_PREFIX=/usr/local # for example, other locations possible
85 $ export CFLAGS="-g -Wall -O0"<br> 87 $ export CFLAGS="-g -Wall -O0"<br>
86 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --enable-logging=verbose <br> 88 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --enable-logging=verbose <br>
89 $ sudo addgroup gnunet<br>
90 $ sudo usermod -aG gnunet $USER
87 $ make -j$(nproc || echo -n 1)<br> 91 $ make -j$(nproc || echo -n 1)<br>
88 $ sudo make install 92 $ sudo make install
89 </code> 93 </code>
@@ -93,7 +97,7 @@
93 So now it gets a bit nasty. It's not so bad. All we have to do is copy a file and edit another one. The file we need to copy is GNUnet's plugin for the Name Service Switch (NSS) in unix systems. Different unixes expect it in different locations and GNUnet's build system does not try to guess. On Ubuntu 18.04 we have to do 97 So now it gets a bit nasty. It's not so bad. All we have to do is copy a file and edit another one. The file we need to copy is GNUnet's plugin for the Name Service Switch (NSS) in unix systems. Different unixes expect it in different locations and GNUnet's build system does not try to guess. On Ubuntu 18.04 we have to do
94 98
95 <code> 99 <code>
96 $ sudo cp /usr/lib/gnunet/nss/libnss_gns.so.2 /lib/$(uname -m)-linux-gnu/ 100 $ sudo cp /usr/lib/gnunet/nss/libnss_gns.so.2 /lib/$(uname -m)-linux-gnu/
97 </code> 101 </code>
98 102
99 <p>The next step is activating the GNUnet plugin we just copied in the NSS 103 <p>The next step is activating the GNUnet plugin we just copied in the NSS
@@ -126,7 +130,7 @@
126 130
127 <p>That's it. It wasn't that nasty, was it?</p> 131 <p>That's it. It wasn't that nasty, was it?</p>
128--> 132-->
129 <h2>{{ _("Configuration") }}</h2> 133 <h2>{{ _("Create configuration file") }}</h2>
130 134
131 <p> 135 <p>
132 Congratulations! GNUnet is now installed! Before we start it we 136 Congratulations! GNUnet is now installed! Before we start it we
@@ -136,74 +140,23 @@
136 </p> 140 </p>
137 <br /> 141 <br />
138 <code> 142 <code>
143 $ mkdir -p ~/.config
139 $ touch ~/.config/gnunet.conf 144 $ touch ~/.config/gnunet.conf
140 </code> 145 </code>
141 <br /> 146 <br />
142 <p>
143 It's reccomended that you increase your bandwidth restrictions
144 from the acutely low defaults. The example below sets the WAN
145 and LAN limits to the value "unlimited".
146 </p>
147 <br />
148 <code>
149 $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
150 $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
151 $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
152 $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
153 </code>
154 <br />
155 <p>
156 Now we can start it with the command line tool `gnunet-arm`
157 (Automatic Restart Manager).
158 </p>
159
160 <code>
161 $ gnunet-arm -s
162 </code>
163 147
148
164 <p> 149 <p>
165 It starts the default GNUnet services. We can list them with the `-I` option: 150 Now we created the configuration file. Please check the handbook for a first <a href="https://docs.gnunet.org/handbook/gnunet.html#Minimal-configuration">minimal configuration</a>. But in general, we dont need to configure anything in particular for now.
166 </p> 151 </p>
167 152
168 <code> 153To go on, please <a href="https://gnunet.org/en/use.html">move over here</a>:
169 $ gnunet-arm -I<br>
170 Running services:<br>
171 ats (gnunet-service-ats)<br>
172 revocation (gnunet-service-revocation)<br>
173 set (gnunet-service-set)<br>
174 nat (gnunet-service-nat)<br>
175 transport (gnunet-service-transport)<br>
176 peerstore (gnunet-service-peerstore)<br>
177 hostlist (gnunet-daemon-hostlist)<br>
178 identity (gnunet-service-identity)<br>
179 namecache (gnunet-service-namecache)<br>
180 peerinfo (gnunet-service-peerinfo)<br>
181 datastore (gnunet-service-datastore)<br>
182 zonemaster (gnunet-service-zonemaster)<br>
183 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
184 nse (gnunet-service-nse)<br>
185 cadet (gnunet-service-cadet)<br>
186 dht (gnunet-service-dht)<br>
187 core (gnunet-service-core)<br>
188 gns (gnunet-service-gns)<br>
189 statistics (gnunet-service-statistics)<br>
190 topology (gnunet-daemon-topology)<br>
191 fs (gnunet-service-fs)<br>
192 namestore (gnunet-service-namestore)<br>
193 vpn (gnunet-service-vpn)
194 </code>
195 154
155 <h2>{{ _("Use GNUnet!") }}</h2>
156 <p>
157 Please head over here: <a href="https://gnunet.org/en/use.html">Use!</a>
196 <p> 158 <p>
197 For stopping GNUnet again we can use the `-e` option.
198 </p>
199 159
200 <code>
201 $ gnunet-arm -e
202 </code>
203 <h2>{{ _("Use GNUnet!") }}</h2>
204 <p>
205 Please head over here: <a href="https://gnunet.org/en/use.html">Use!</a>
206 <p>
207 160
208 <h2>{{ _("Uninstall GNUnet and its dependencies") }}</h2> 161 <h2>{{ _("Uninstall GNUnet and its dependencies") }}</h2>
209 162
@@ -221,46 +174,7 @@
221 $ sudo rm /lib/$(uname -m)-linux-gnu/libnss_gns.so.2 174 $ sudo rm /lib/$(uname -m)-linux-gnu/libnss_gns.so.2
222 </code> 175 </code>
223 176
224 <h2>{{ _("Troubleshooting") }}</h2>
225 <h3>{{ _("You can't reach other people's nodes") }}</h3>
226 177
227 <p>
228 Should our computer not have reached the open GNUnet network automatically,
229 we can manually instruct our node how to reach the nodes of our friends. This
230 works by exchanging HELLO strings. This is how we get a hello string for our
231 computer.
232 </p>
233
234 <code>
235 $ gnunet-peerinfo -gn
236 </code>
237
238 <p>
239 We can now pass this string to our friends "out of band" (using whatever
240 existing chat or messaging technology). If the string contains some private IP
241 networks we don't want to share, we can carefully edit them out.
242 </p>
243
244 <p>
245 Once we receive such strings from our friends, we can add them like
246 this:
247 </p>
248
249 <code>
250 gnunet-peerinfo -p <string>
251 </code>
252
253 <p>Now our GNUnet nodes can attempt reaching each other directly. This may
254 still fail due to NAT traversal issues.</p>
255
256 <!--<h3>{{ _("OMG you guys broke my internet") }}</h3>
257
258 <p>We can replace `/etc/nsswitch.conf` with the backup we made earlier
259 (`/etc/nsswitch.conf.original`). Now DNS resolution should work again without a
260 running GNUnet.</p>
261
262 <code>
263 $ cp /etc/nsswitch.conf.original /etc/nsswitch.conf
264 </code>-->
265</article> 178</article>
266{% endblock body_content %} 179{% endblock body_content %}
180