|
@@ -0,0 +1,83 @@
|
|
1
|
+#+TITLE:
|
|
2
|
+#+AUTHOR: Bob Mottram
|
|
3
|
+#+EMAIL: bob@robotics.uk.to
|
|
4
|
+#+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber
|
|
5
|
+#+DESCRIPTION: Turn the Beaglebone Black into a personal communications server
|
|
6
|
+#+OPTIONS: ^:nil
|
|
7
|
+#+BEGIN_CENTER
|
|
8
|
+[[./images/logo.png]]
|
|
9
|
+#+END_CENTER
|
|
10
|
+
|
|
11
|
+* On a Beaglebone Black
|
|
12
|
+To get started you will need:
|
|
13
|
+
|
|
14
|
+ - A Beaglebone Black
|
|
15
|
+ - A MicroSD card
|
|
16
|
+ - Ethernet cable
|
|
17
|
+ - Optionally a 5V 2A power supply for the Beaglebone Black
|
|
18
|
+ - Access to the internet via a router with ethernet sockets
|
|
19
|
+ - USB thumb drive (for backups or storing media)
|
|
20
|
+ - One or more subdomains created on https://freedns.afraid.org
|
|
21
|
+ - A purchased domain name and SSL certificate (only needed for Red Matrix)
|
|
22
|
+ - A laptop or desktop machine with the ability to write to a microSD card (might need an adaptor)
|
|
23
|
+
|
|
24
|
+You will also need to know, or find out, the IP address of your internet router and have a suitable static IP address for the Beaglebone on your local network. The router should allow you to forward ports to the Beaglebone (often this is under firewall or "advanced" settings).
|
|
25
|
+
|
|
26
|
+Check that within *initial_setup.sh* the router IP address and static IP for the Beaglebone are set correctly.
|
|
27
|
+
|
|
28
|
+Plug the microSD card into your laptop/desktop and then run the *initial_setup.sh* script. For example:
|
|
29
|
+
|
|
30
|
+#+BEGIN_SRC bash
|
|
31
|
+./initial_setup.sh /dev/sdX
|
|
32
|
+#+END_SRC
|
|
33
|
+
|
|
34
|
+where */dev/sdX* is the device name for the microSD card. Often it's */dev/sdb* or */dev/sdc*, depending upon how many drives there are on your system. The script will download the Debian installer and update the microSD card. It can take a while, so be patient.
|
|
35
|
+
|
|
36
|
+When the initial setup is done follow the instructions on screen to run the main Freedombone script. You can either edit the variables within the *install-freedombone.sh* script directly, or create a separate configuration file called *freedombone.cfg* which contains those variables. Variables which you might want to put into a *freedombone.cfg* file are:
|
|
37
|
+
|
|
38
|
+#+BEGIN_SRC bash
|
|
39
|
+MY_EMAIL_ADDRESS=
|
|
40
|
+MY_NAME=
|
|
41
|
+MY_BLOG_TITLE=
|
|
42
|
+MY_BLOG_SUBTITLE=
|
|
43
|
+SSH_PORT=
|
|
44
|
+FULLBLOG_DOMAIN_NAME=
|
|
45
|
+FULLBLOG_FREEDNS_SUBDOMAIN_CODE=
|
|
46
|
+MICROBLOG_DOMAIN_NAME=
|
|
47
|
+MICROBLOG_FREEDNS_SUBDOMAIN_CODE=
|
|
48
|
+REDMATRIX_DOMAIN_NAME=
|
|
49
|
+OWNCLOUD_DOMAIN_NAME=
|
|
50
|
+OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=
|
|
51
|
+WIKI_TITLE=
|
|
52
|
+WIKI_DOMAIN_NAME=
|
|
53
|
+WIKI_FREEDNS_SUBDOMAIN_CODE=
|
|
54
|
+MY_GPG_PUBLIC_KEY=
|
|
55
|
+MY_GPG_PRIVATE_KEY=
|
|
56
|
+ROUTE_THROUGH_TOR=no
|
|
57
|
+LOCAL_NETWORK_STATIC_IP_ADDRESS=192.168.1.60
|
|
58
|
+#+END_SRC
|
|
59
|
+
|
|
60
|
+The GPG public/private key variables are for the filenames of exported GPG keys, and if a private key filename is given then it will be automatically shredded after import.
|
|
61
|
+
|
|
62
|
+The FreeDNS subdomain codes can be found under "Dynamic DNS" and "quick cron example". On the last line it will be the string located between the '?' and the '==' characters.
|
|
63
|
+
|
|
64
|
+The syntax of the *install-freedombone.sh* script is:
|
|
65
|
+
|
|
66
|
+#+BEGIN_SRC bash
|
|
67
|
+./install-freedombone.sh [domain name] [username] [FreeDNS subdomain code] [optional variant type]
|
|
68
|
+#+END_SRC
|
|
69
|
+
|
|
70
|
+If you don't specify a variant type with the final option then everything will be installed. If you have a *freedombone.cfg* file then it should be in the same directory as *install-freedombone.sh*.
|
|
71
|
+
|
|
72
|
+Installation is not quick, and depends upon which variant you choose and your internet bandwidth. Allow about three hours for a full installation on the Beaglebone Black. On the Beaglebone installation is in two parts, since a reboot is needed to enable the hardware random number generator and zram.
|
|
73
|
+
|
|
74
|
+When done you can ssh into the Freedombone with:
|
|
75
|
+
|
|
76
|
+#+BEGIN_SRC bash
|
|
77
|
+ssh username@domain -p 2222
|
|
78
|
+#+END_SRC
|
|
79
|
+
|
|
80
|
+Any manual post-installation setup instructions or passwords can be found in */home/username/README*. You should remove any passwords from that file and store them within a password manager such as KeepassX.
|
|
81
|
+
|
|
82
|
+* On other hardware
|
|
83
|
+It's also possible to install Freedombone onto other hardware, such as an old laptop or other type of single board computer. Any system with a fresh installation of Debian Jessie will do. Just make sure that you change the variable INSTALLING_ON_BBB to "no" within *freedombone.cfg* or the *install-freedombone.sh* script. Obviously, you don't need to run the *initial_setup.sh* script on non-Beaglebone systems.
|