diff --git a/beaglebone.txt b/beaglebone.txt index d8b8e6d1..5bc1fa34 100644 --- a/beaglebone.txt +++ b/beaglebone.txt @@ -6900,480 +6900,6 @@ Now visit your web site at https://mydomainname.com and you should notice that t The following items have been deprecated until such time as a successful installation is achieved. -** Install a VoIP server - -#+BEGIN_VERSE -/Our core principles, whether in software or sovereignty, have always been about freedom and dignity, for all people, on an equal basis/ - --- David Sugar, GNU Telephony -#+END_VERSE - -*** The server -Sipwitch is like an introduction service or phone book for SIP VoIP clients. Once introduced the clients can then talk directly, and this means that sipwitch is very lightweight and can run on low power systems such as the BBB. - -Edit your package sources: - -#+BEGIN_SRC: bash -editor /etc/apt/sources.list -#+END_SRC - -Append the following line: - -#+BEGIN_SRC: bash -deb http://dev.gnutelephony.org/archive/ wheezy/ -#+END_SRC - -Save and exit. - -To load the repository the first time after adding it to the sources.list, since you do not have the verification keys already installed yet. Then do - -#+BEGIN_SRC: bash -apt-get install gnutelephony-keyring -#+END_SRC - -After that it will be happy to accept it as a signed repository. The verification keys can also be directly fetched with - -#+BEGIN_SRC: bash -cd /tmp -wget http://dev.gnutelephony.org/archive/wheezy/public.key -#+END_SRC - -and manually added instead with - -#+BEGIN_SRC: bash -apt-key add public.key -#+END_SRC - -To make sure you have all dependencies, do - -#+BEGIN_SRC: bash -apt-get update;apt-get dist-upgrade -#+END_SRC - -Before we install anything, let's inspect what is available to us by using - -#+BEGIN_SRC: bash -dpkg -l sipwitch -#+END_SRC - -To see the main application. The columns will indicate if the package is installed, which version and a description of the package. Then do - -#+BEGIN_SRC: bash -dpkg -l sipwitch-* -#+END_SRC - -to see available supporting applications and plugins. Again, the columns will indicate if the package is installed, which version and a description of each of these. - -To install only the main application, do - -#+BEGIN_SRC: bash -apt-get install sipwitch -#+END_SRC - -and to install all supporting plugins: - -#+BEGIN_SRC: bash -apt-get install sipwitch-plugin-scripting sipwitch-plugin-subscriber sipwitch-plugin-forward sipwitch-plugin-zeroconf -#+END_SRC - -Add your user into the sipwitch group - -#+BEGIN_SRC: bash -groupadd sipwitch -groupadd sipusers -usermod -aG sipwitch myusername -usermod -aG sipusers myusername -#+END_SRC - -Then edit the configuration - -#+BEGIN_SRC: bash -editor /etc/sipwitch.conf -#+END_SRC - -Change the *mapped* value from 200 to 20, since we don't want to be serving huge numbers of calls. - -Alter the *range* value to 10, since we don't need a large number of extensions. This will mean that exension numbers 200 to 209 are available. - -Do not set the *realm* value, as doing so seems to prevent the server from working. - -Save and exit. - -Create a digest string for your username: - -#+BEGIN_SRC: bash -sipwitch digest myusername -#+END_SRC - -Make a note of the resulting string because you're going to use it in the users file you'll now create. - -#+BEGIN_SRC: bash -export HOSTNAME=mydomainname.com -touch /etc/sipwitch.d/$HOSTNAME.xml -chmod 600 /etc/sipwitch.d/$HOSTNAME.xml -editor /etc/sipwitch.d/$HOSTNAME.xml -#+END_SRC - -It should look something like the following: - -#+BEGIN_SRC: bash - - - yourdigeststring - 201 - Your full name - - -#+END_SRC - -Save and exit. Now edit the configuration. - -#+BEGIN_SRC: bash -editor /etc/default/sipwitch -#+END_SRC - -Change "desktop" to "server", then save and exit. - -Update the IP settings: - -#+BEGIN_SRC: bash -iptables -A INPUT -p tcp --dport 5060 -j ACCEPT -iptables -A INPUT -p udp --dport 5060 -j ACCEPT -iptables -A INPUT -p tcp --dport 5061 -j ACCEPT -iptables -A INPUT -p udp --dport 5061 -j ACCEPT -iptables-save -#+END_SRC - -Test that it's working: - -#+BEGIN_SRC: bash -pkill -9 sipw -sipw -x9 -f -#+END_SRC - -Then try to register with the server using a SIP client (such as Jitsi). If everything worked then use CTRL-C to exit. Then start the service. - -#+BEGIN_SRC: bash -service sipwitch start -#+END_SRC - -*** Clients -**** Jitsi -Download the latst version from https://jitsi.org/index.php/Main/Download - -TODO -**** Twinkle client - -The client should have a user profile as following: - -The "user name" is the xxx id used in the entry of /etc/sipwitch.conf - -The "domain" is the yyy domain in the main config yyy entry of /etc/sipwitch.conf - -The SIP Authentication should have: - -realm = realm as set in of /etc/sipwitch.conf - -authentication name = entry, same as "User Name" field. - -password = value of zzz in entry of /etc/sipwitch.conf - -Under security tab, set "Enable ZRTP/SRTP encryption" -**** Android -TODO - -CSipSimple? -** Kune -Kune is a collaboration tool aimed at not just socialising but also getting stuff done within a community. It's based upon Apache Wave (formerly Google Wave). - -#+BEGIN_SRC: bash -apt-get install openjdk-6-jdk openjdk-7-jre mysql-server adduser dbconfig-common libjmagick6-jni -#+END_SRC - -Add the Kune repository: - -#+BEGIN_SRC: bash -editor /etc/apt/sources.list -#+END_SRC - -Append the following: - -#+BEGIN_SRC: bash -deb ftp://ftp.kune.ourproject.org/pub/kune/debian/ stable/ -#+END_SRC - -Save and exit, then install the Kune package. - -#+BEGIN_SRC: bash -gpg --keyserver pgp.mit.edu --recv-keys 9E358A05 -gpg --armor --export 9E358A05 | apt-key add - -apt-get update -apt-get install kune -#+END_SRC - -You will be asked for the MySql root password and another password to be used with the Kune database. - -Allow the system to start automatically at boot. - -#+BEGIN_SRC: bash -editor /etc/default/kune -#+END_SRC - -Set /START=yes/, then save and exit. - -#+BEGIN_SRC: bash -service kune start -#+END_SRC - -Now configure Apache. - -#+BEGIN_SRC: bash -a2enmod expires -a2enmod proxy -a2enmod proxy_connect -a2enmod proxy_http -#+END_SRC - -Upgrade the database. - -#+BEGIN_SRC: bash -mysql -p kune_prod < /usr/share/dbconfig-common/data/kune/upgrade/mysql/0.1.0+b5 -mysql -p kune_prod < /usr/share/dbconfig-common/data/kune/upgrade/mysql/0.1.0+b6 -mysql -p kune_prod < /usr/share/dbconfig-common/data/kune/upgrade/mysql/0.2.0+b12 -mysql -p kune_prod < /usr/share/dbconfig-common/data/kune/upgrade/mysql/0.2.0+b23 -mysql -p kune_prod < /usr/share/dbconfig-common/data/kune/upgrade/mysql/0.2.0+b25 -#+END_SRC - -Edit the Apache configuration. - -#+BEGIN_SRC: bash -editor /etc/apache2/sites-available/$HOSTNAME -#+END_SRC - - - ServerName YOURSERVERNAME - - ProxyRequests Off - - Order deny,allow - Allow from all - - - - ExpiresActive On - ExpiresDefault "modification plus 2 years" - - - - ExpiresActive Off - - - ProxyPass /kune/ http://localhost:8888/ - ProxyPassReverse /kune/ http://localhost:8888/ - - Order allow,deny - Allow from all - - - - -Within a browser open https://mydomainname.com:8888 - -See documentation in /usr/share/doc/kune/INSTALL.gz - -** Loomio - -#+BEGIN_SRC: bash -apt-get install imagemagick libmagickcore-dev postgresql libmagickwand-dev -#+END_SRC - -psql -d postgres -postgres=# create role postgres login createdb; -postgres=# \q - - -#+BEGIN_SRC: bash -cd /srv -git clone https://github.com/loomio/loomio.git -cd /srv/loomio -bundle install -cp config/database.example.yml config/database.yml -cp .example-env .env -bundle exec rake db:create -bundle exec rake db:schema:load -bundle exec rake db:schema:load RAILS_ENV=test -bundle exec rake db:seed -#+END_SRC - -foreman start - -Edit the Apache configuration for your mediagoblin site. - -#+BEGIN_SRC: bash -editor /etc/apache2/sites-available/myloomiodomain -#+END_SRC - -Delete the existing configuration (in Emacs it's CTRL-x h then CTRL-w) and paste the following, replacing /myloomiodomain/ with your mediagoblin domain name and /myusername@mydomainname.com/ with your email address. - -#+BEGIN_SRC: bash - - ServerAdmin myusername@mydomainname.com - - DocumentRoot /srv/myloomiodomain - ServerName myloomiodomain - - - Options FollowSymLinks - AllowOverride None - - - Options Indexes FollowSymLinks MultiViews - AllowOverride All - Order allow,deny - allow from all - - - LogLevel warn - - ProxyVia On - - ProxyRequests off - ProxyPreserveHost on - - ProxyPass / http://localhost:3000/ - - ErrorLog "/var/log/apache2/error.log" - CustomLog "/var/log/apache2/access.log" combined - - RewriteEngine On - RewriteOptions Inherit - -#+END_SRC - -Save and exit. - -Now in a browser visit http://myloomiodomain and create a user. - -** Connect Bitmessage to Email - -TODO: how to connect Bitmessage to an email client. - -#+BEGIN_SRC: bash -cd /tmp -wget http://freedombone.uk.to/notbit.tar.gz -#+END_SRC - -Verify it. - -#+BEGIN_SRC: bash -sha256sum notbit.tar.gz -972fdc9cbb8034141282337dcd5e557bce57969ff6bd1d607da89bd93cc7bb68 -#+END_SRC - -Extract and install it. - -#+BEGIN_SRC: bash -tar -xzvf notbit.tar.gz -cd notbit -apt-get install dh-autoreconf -./autogen.sh --prefix=/home/myusername -make -make install -#+END_SRC - -** Add a Convergenge notary -Convergence is a secure replacement for the Certificate Authority System. Rather than employing a traditionally hard-coded list of immutable and largely untrusted CAs, Convergence allows you to configure a dynamic set of Notaries which use network perspective to validate your communication. For more details see [[http://convergence.io][convergence.io]] or [[http://www.youtube.com/watch?v=Z7Wl2FW2TcA][this talk which explains the concepts]]. - -*** Installation - -#+BEGIN_SRC: bash -apt-get install python python-twisted-web python-twisted-names python-m2crypto python-openssl -cd /tmp -git clone https://github.com/fuzzgun/convergence -cd convergence/server -python ./setup.py install -#+END_SRC - -Generate a key pair: - -#+BEGIN_SRC: bash -convergence gencert -#+END_SRC - -When asked for a challenge password just hit *Enter* a couple of times. Then move the key pair to the appropriate directories as follows. - -#+BEGIN_SRC: bash -mv mynotary.key /etc/ssl/private -chmod 400 /etc/ssl/private/mynotary.key -mv mynotary.pem /etc/ssl/certs -#+END_SRC - -Now create the database: - -#+BEGIN_SRC: bash -rm /var/lib/convergence/convergence.db -convergence createdb -#+END_SRC - -Create an initialisation script: - -#+BEGIN_SRC: bash -editor /etc/init.d/convergence -#+END_SRC - -Add the following: - -#+BEGIN_SRC: bash -#+END_SRC - -Save and exit. - -#+BEGIN_SRC: bash -adduser converg -#+END_SRC - -The details for the user don't especially matter, but give them a long random password. - -#+BEGIN_SRC: bash -chown -R converg:converg /home/converg -chmod +x /etc/init.d/convergence -update-rc.d convergence defaults -service convergence start -#+END_SRC - -Generate a notary bundle: - -#+BEGIN_SRC: bash -convergence bundle -#+END_SRC - -Enter your name, nickname, handle or whatever. - -For the bundle location enter https://mydomainname.com/convergence.notary - -For the Hostname enter your domain name - -For SSL port enter *8433* and for HTTP port nter *8432* - -For the pem file enter */etc/ssl/certs/mynotary.pem* - -#+BEGIN_SRC: bash -export HOSTNAME=mydomainname.com -mv mynotarybundle.notary /var/www/$HOSTNAME/htdocs/convergence.notary -chown www-data:www-data /var/www/$HOSTNAME/htdocs/convergence.notary -#+END_SRC - -Now open ports 8432 and 8433 on your internet router or firewall and direct it to the BBB. - -*** Using Convergence -On a computer which is not the BBB (your laptop, etc): - -Install the browser plugin by navigating to https://addons.mozilla.org/en-us/firefox/addon/convergence-extra/ - -After installation restart your browser. - -You will notice that an icon appears in the top right corner of the browser, which resembles a lock and two plus signs. Click on the down arrow to the right of it and select *options*. - ** Gitlab Install some dependencies: