Setting up the ARM4FS development environment: Difference between revisions

From
Jump to navigation Jump to search
(short install)
(Crypto to M2Crypto move)
Line 5: Line 5:
which will get you an <code>arm4fs</code> directory with two subdirectories: <code>sns-al</code> (the Anonymization Layer Server and Client) and <code>sns-rs</code> (the Reputation System). To run the programs at least Python 2.3 and some additional libraries are required:
which will get you an <code>arm4fs</code> directory with two subdirectories: <code>sns-al</code> (the Anonymization Layer Server and Client) and <code>sns-rs</code> (the Reputation System). To run the programs at least Python 2.3 and some additional libraries are required:
; <code>sns-rs</code> : You need numarray (package <code>python-numarray</code> under Debian, <code>numarray</code> under Gentoo)
; <code>sns-rs</code> : You need numarray (package <code>python-numarray</code> under Debian, <code>numarray</code> under Gentoo)
; <code>sns-al</code> : You need pyopenssl (Debian: <code>python-pyopenssl</code>, Gentoo: <code>pyopenssl</code>), pycrypto (Debian: <code>python-crypto</code>, Gentoo: <code>pycrypto</code>), SQLObject (Debian: <code>python-sqlobject</code>, Gentoo: <code>sqlobject</code>), sqlite (Debian: <code>python-sqlite</code>, Gentoo: <code>pysqlite</code> but it suffices to have the <code>sqlite</code> USE flag set when emerging <code>sqlobject</code>)
; <code>sns-al</code> : You need pyopenssl (Debian: <code>python-pyopenssl</code>, Gentoo: <code>pyopenssl</code>), a recent SVN version of [http://sandbox.rulemaker.net/ngps/m2/ M2Crypto], SQLObject (Debian: <code>python-sqlobject</code>, Gentoo: <code>sqlobject</code>), sqlite (Debian: <code>python-sqlite</code>, Gentoo: <code>pysqlite</code> but it suffices to have the <code>sqlite</code> USE flag set when emerging <code>sqlobject</code>)


In short:
In short:
; Debian : <code>apt-get install python-numarray python-pyopenssl python-crypto python-sqlobject python-sqlite</code>
; Debian : <code>apt-get install python-numarray python-pyopenssl python-sqlobject python-sqlite</code>
; Gentoo : <code>echo "dev-python/sqlobject sqlite" >> /etc/portage/package.use</code><br/><code>emerge -avt numarray pyopenssl pycrypto sqlobject</code>
; Gentoo : <code>echo "dev-python/sqlobject sqlite" >> /etc/portage/package.use</code><br/><code>emerge -avt numarray pyopenssl sqlobject</code>

Then: Check out [http://sandbox.rulemaker.net/ngps/m2/ M2Crypto] from their SVN and install it.


== Bootstrapping ==
== Bootstrapping ==

Revision as of 10:55, 6 June 2006


The ARM4FS proof of concept programs are written in Python and kept in a SVN repository. You can check them out with

svn checkout svn://brn-svn.sar.informatik.hu-berlin.de/arm4sns/arm4fs

which will get you an arm4fs directory with two subdirectories: sns-al (the Anonymization Layer Server and Client) and sns-rs (the Reputation System). To run the programs at least Python 2.3 and some additional libraries are required:

sns-rs
You need numarray (package python-numarray under Debian, numarray under Gentoo)
sns-al
You need pyopenssl (Debian: python-pyopenssl, Gentoo: pyopenssl), a recent SVN version of M2Crypto, SQLObject (Debian: python-sqlobject, Gentoo: sqlobject), sqlite (Debian: python-sqlite, Gentoo: pysqlite but it suffices to have the sqlite USE flag set when emerging sqlobject)

In short:

Debian
apt-get install python-numarray python-pyopenssl python-sqlobject python-sqlite
Gentoo
echo "dev-python/sqlobject sqlite" >> /etc/portage/package.use
emerge -avt numarray pyopenssl sqlobject

Then: Check out M2Crypto from their SVN and install it.

Bootstrapping

Run the Reputation System:

  1. cd sns-rs
  2. ./reputation-provider.py 4444

Set up the database tables and create the first user. In another window:

  1. cd sns-al
  2. python init.py
  3. init.py prompts you to run the server. In another window do: cd sns-al; python Server.py; then press enter in the window that has init.py

Starting

Alway first start the reputation system, then the anonymization layer server. Then you can run python Client.py (the anonymization layer client) at will.