aboutsummaryrefslogtreecommitdiff
path: root/taler-exchange/README
blob: de731fe20ab7711a2e8d9da6374f6aac0b513301 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
The exchange for the Taler payment system.

Building this package on Slackware 15.0 requires:

  - Postgres 15.x or greater, slackbuilds.org has version 14.x.
  - Build a newer version of llvm, by setting CC=clang, and installing llvm from Slackware Current.
  - The pre-release version of Gnunet.

Installing this package automatically creates a number of supporting system
users for the exchange.  All are listed in the 'taler-exchange' user group.

The taler exchange runs in a system of services, and a postgres database must
be configured to service them.  The setup described here assumes postgres was
installed with using 'Peer authentication' by default (omitting '-A md5' when
running 'initdb' after postgres installation).

Create the database and its users for system users which require it:

```
sudo -u postgres -- createuser taler-exchange-httpd
sudo -u postgres -- createuser taler-exchange-aggregator
sudo -u postgres -- createuser taler-exchange-closer
sudo -u postgres -- createuser taler-exchange-transfer
sudo -u postgres -- createuser taler-exchange-wirewatch
sudo -u postgres -- createdb taler-exchange --owner taler-exchange-httpd
```

Initialize the database schema, which should also be done after upgrades:

```
sudo -u taler-exchange-httpd -- taler-exchange-dbinit
```

Grant the user access to their tables in the database:

```
sudo -u taler-exchange-httpd psql taler-exchange << EOF
  GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-aggregator";
  GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-closer";
  GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-transfer";
  GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-wirewatch";
  GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-aggregator";
  GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-closer";
  GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-transfer";
  GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-wirewatch";
EOF
```

To have the taler system start and stop with your host, add to /etc/rc.d/rc.local:

  if [ -x /etc/rc.d/rc.taler-exchange ]; then
    /etc/rc.d/rc.taler-exchange start
  fi

And to /etc/rc.d/rc.local_shutdown (creating if needed):

  if [ -x /etc/rc.d/rc.taler-exchange ]; then
    /etc/rc.d/rc.taler-exchange stop
  fi