diff options
Diffstat (limited to 'template/install-on-ubuntu1804.html.j2')
-rw-r--r-- | template/install-on-ubuntu1804.html.j2 | 122 |
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> | 153 | To 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 | |||