diff options
author | xrs <xrs@mail36.net> | 2018-10-30 20:18:54 +0100 |
---|---|---|
committer | xrs <xrs@mail36.net> | 2018-10-30 20:18:54 +0100 |
commit | 0d99fe30fbb959baa1a121b7b9001bae227ab3ce (patch) | |
tree | 509299fcc50d5fcc1cfcf033452d23d8a23216c9 | |
parent | 32a5a499b4a6944d0020de01df928f6c1cba2880 (diff) | |
download | www-0d99fe30fbb959baa1a121b7b9001bae227ab3ce.tar.gz www-0d99fe30fbb959baa1a121b7b9001bae227ab3ce.zip |
add tutorial section to website; add tutorial for archpi
-rw-r--r-- | common/navigation.j2.inc | 1 | ||||
-rw-r--r-- | tutorial-archpi.html.j2 | 148 | ||||
-rw-r--r-- | tutorial.html.j2 | 26 |
3 files changed, 175 insertions, 0 deletions
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc index 2df4814c..d7c9a7e5 100644 --- a/common/navigation.j2.inc +++ b/common/navigation.j2.inc | |||
@@ -26,6 +26,7 @@ | |||
26 | <li class="dropdown"> | 26 | <li class="dropdown"> |
27 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ _("Documentation") }} <span class="caret"></span></a> | 27 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ _("Documentation") }} <span class="caret"></span></a> |
28 | <ul class="dropdown-menu"> | 28 | <ul class="dropdown-menu"> |
29 | <li><a href="tutorial.html">{{ _("Tutorial") }}</a></li> | ||
29 | <li><a href="glossary.html">{{ _("Glossary") }}</a></li> | 30 | <li><a href="glossary.html">{{ _("Glossary") }}</a></li> |
30 | <li><a href="https://docs.gnunet.org">{{ _("Handbook") }}</a></li> | 31 | <li><a href="https://docs.gnunet.org">{{ _("Handbook") }}</a></li> |
31 | <li><a href="faq.html">{{ _("FAQ") }}</a></li> | 32 | <li><a href="faq.html">{{ _("FAQ") }}</a></li> |
diff --git a/tutorial-archpi.html.j2 b/tutorial-archpi.html.j2 new file mode 100644 index 00000000..44df06fc --- /dev/null +++ b/tutorial-archpi.html.j2 | |||
@@ -0,0 +1,148 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="container"> | ||
4 | |||
5 | <h2>{{ _("Tutorial: GNUnet on Archlinux/Pi") }}</h2> | ||
6 | |||
7 | Welcome to this GNUnet tutorial for Archlinux on a Raspberry Pi 3. If you want | ||
8 | to run a GNUnet node on a separte System, permanently online, with low energy | ||
9 | consumption, this might be the thing for you. This tutorial shows you how to | ||
10 | install, run, and operate it. | ||
11 | |||
12 | <h3>{{ _("Requirements") }}</h3> | ||
13 | |||
14 | <p>First you need the hardware. This tutorial works with a Raspberry Pi 3. The | ||
15 | other Pi versions I haven't tested, but they should probably work, too. To | ||
16 | install Archlinux on the Pi3, follow the instructions from <a | ||
17 | href="https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3">archlinuxarm.org</a>.</p> | ||
18 | |||
19 | <p>That was easy, right? Our goal now is to build GNUnet from source. So, let's | ||
20 | install the tools for building new software.</p> | ||
21 | |||
22 | <p><code> | ||
23 | > sudo pacman -S base-devel | ||
24 | </code></p> | ||
25 | |||
26 | <p>Now we can continue to install the following Archlinux dependencies to | ||
27 | compile GNUnet on our Pi.</p> | ||
28 | |||
29 | <p><code>$ pacman -Su libmicrohttpd libgcrypt gnurl libunistring gnutls libidn | ||
30 | libextractor openssl libltdl sqlite texinfo which gettext zlib | ||
31 | pkg-config git miniupnpc libextractor jansson nim</code></p> | ||
32 | |||
33 | <h3>{{ _("Get the Source Code") }}</h3> | ||
34 | |||
35 | <p>We are getting closer. Download the GNUnet source code which we will build | ||
36 | in the next step:<p> | ||
37 | |||
38 | <p><code> | ||
39 | > git clone https://gnunet.org/git/gnunet.git<br> | ||
40 | </code></p> | ||
41 | |||
42 | <p>Now it's time to compile GNUnet.</p> | ||
43 | |||
44 | <p><code> | ||
45 | > cd gnunet<br> | ||
46 | > ./bootstrap # Run this to generate the configure files.<br> | ||
47 | > ./configure # Use --help to see the various flags available to you.<br> | ||
48 | > make -j$(nproc || echo -n 1)<br> | ||
49 | > sudo make install<br> | ||
50 | </code></p> | ||
51 | |||
52 | <p>Congrats! GNUnet is now installed!</p> | ||
53 | |||
54 | <h3>{{ _("Run") }}</h3> | ||
55 | |||
56 | <p>By default GNUnet looks in our home directory for the file | ||
57 | ~/.gnunet/gnunet.conf. We can start with an empty file for now:</p> | ||
58 | |||
59 | <p><code> | ||
60 | > touch ~/.config/gnunet.conf | ||
61 | </code></p> | ||
62 | |||
63 | <p>Now we can start it with the commandline tool gnunet-arm (Automatic Restart | ||
64 | Manager).</p> | ||
65 | |||
66 | <p><code> | ||
67 | > gnunet-arm -s | ||
68 | </code></p> | ||
69 | |||
70 | <p>It starts the default GNUnet services. We can list them with the -I option:</p> | ||
71 | |||
72 | <p><code> | ||
73 | > gnunet-arm -I<br> | ||
74 | Running services:<br> | ||
75 | ats (gnunet-service-ats)<br> | ||
76 | revocation (gnunet-service-revocation)<br> | ||
77 | set (gnunet-service-set)<br> | ||
78 | nat (gnunet-service-nat)<br> | ||
79 | transport (gnunet-service-transport)<br> | ||
80 | peerstore (gnunet-service-peerstore)<br> | ||
81 | hostlist (gnunet-daemon-hostlist)<br> | ||
82 | identity (gnunet-service-identity)<br> | ||
83 | namecache (gnunet-service-namecache)<br> | ||
84 | peerinfo (gnunet-service-peerinfo)<br> | ||
85 | datastore (gnunet-service-datastore)<br> | ||
86 | zonemaster (gnunet-service-zonemaster)<br> | ||
87 | zonemaster-monitor (gnunet-service-zonemaster-monitor)<br> | ||
88 | nse (gnunet-service-nse)<br> | ||
89 | cadet (gnunet-service-cadet)<br> | ||
90 | dht (gnunet-service-dht)<br> | ||
91 | core (gnunet-service-core)<br> | ||
92 | gns (gnunet-service-gns)<br> | ||
93 | statistics (gnunet-service-statistics)<br> | ||
94 | topology (gnunet-daemon-topology)<br> | ||
95 | fs (gnunet-service-fs)<br> | ||
96 | namestore (gnunet-service-namestore)<br> | ||
97 | vpn (gnunet-service-vpn)<br> | ||
98 | </code></p> | ||
99 | |||
100 | <p>For stopping GNUnet again we can use the -e option.</p> | ||
101 | |||
102 | <p><code> | ||
103 | > gnunet-arm -e | ||
104 | </code></p> | ||
105 | |||
106 | <h3>{{ _("Make sure, it works!") }}</h3> | ||
107 | |||
108 | After starting GNUnet you should make sure, that your peer is connecting to the | ||
109 | P2P-network. By typing gnunet-core you should see something like this: | ||
110 | |||
111 | <p><code> | ||
112 | > gnunet-core<br> | ||
113 | Tue Oct 30 19:58:48 2018: connection established DSTJ (timeout in 293 s)<br> | ||
114 | Tue Oct 30 19:58:48 2018: connection established A4MK (timeout in 292 s)<br> | ||
115 | Tue Oct 30 19:58:48 2018: connection established 7WRD (timeout in 299 s)<br> | ||
116 | Tue Oct 30 19:58:48 2018: connection established 5WBG (timeout in 299 s)<br> | ||
117 | </code></p> | ||
118 | |||
119 | <h3>{{ _("Chat the cat") }}</h3> | ||
120 | |||
121 | <p>To be able to chat, we need to install and compile additional | ||
122 | software.</p> | ||
123 | |||
124 | <p><code> | ||
125 | > git clone https://gnunet.org/git/gnunet-nim.git | ||
126 | > cd gnunet-nim/examples | ||
127 | > nim c groupchat.nim | ||
128 | </code></p> | ||
129 | |||
130 | <p>Fine! We can now try to enter a chat server running on another GNUnet node. | ||
131 | |||
132 | <p><code> | ||
133 | > LD_LIBRARY_PATH=/path/to/gnunetlibs ./groupchat --config=/path/to/gnunet.conf --server=YV6G9EP9K3X41BM3FJ3D29BDZR6358XNZ6KDZVV7DFW729YB0KCG --port=welcome --nick=YOURNICK | ||
134 | </code></p> | ||
135 | |||
136 | <p>You should now see something like this:</p> | ||
137 | |||
138 | <p><code> | ||
139 | > 2018-10-30 19:50:10 Welcome 8Q2T! participants: @[] <br> | ||
140 | Hello GNUnet!<br> | ||
141 | 2018-10-30 19:52:53 [8Q2T] Hello GNUnet! | ||
142 | </code></p> | ||
143 | |||
144 | <p>Here we have typed "Hello gnunet!" to standard in which is then written out | ||
145 | to standard out after having been sent back from GNUnet.</p> | ||
146 | |||
147 | </div> | ||
148 | {% endblock body_content %} | ||
diff --git a/tutorial.html.j2 b/tutorial.html.j2 new file mode 100644 index 00000000..ad4f078c --- /dev/null +++ b/tutorial.html.j2 | |||
@@ -0,0 +1,26 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="container"> | ||
4 | |||
5 | <h2>{{ _("Tutorial") }}</h2> | ||
6 | |||
7 | |||
8 | <div class="container-fluid adorn_h3_bracket c_acronym"> | ||
9 | <div class="container"> | ||
10 | <div class="row"> | ||
11 | <div class="col-lg-3"> | ||
12 | <a href="">GNUnet on Ubuntu</a> | ||
13 | </div> | ||
14 | <div class="col-lg-3"> | ||
15 | <a href="tutorial-archpi.html">GNUnet on Arch-Pi</a> | ||
16 | </div> | ||
17 | <div class="col-lg-3"> | ||
18 | GNUnet on Debian | ||
19 | </div> | ||
20 | </div> | ||
21 | </div> | ||
22 | </div> | ||
23 | |||
24 | |||
25 | </div> | ||
26 | {% endblock body_content %} | ||