From 559514aee334782face75959db91a148177e6e8a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 20 Feb 2023 16:36:17 +0100 Subject: update installation instructions --- frags/installing-taler-merchant.rst | 4 - frags/list-of-dependencies.rst | 30 +++++++- taler-exchange-manual.rst | 41 +++++++---- taler-merchant-manual.rst | 143 ++++-------------------------------- 4 files changed, 68 insertions(+), 150 deletions(-) diff --git a/frags/installing-taler-merchant.rst b/frags/installing-taler-merchant.rst index 249d5d77..f83e4aca 100644 --- a/frags/installing-taler-merchant.rst +++ b/frags/installing-taler-merchant.rst @@ -1,7 +1,3 @@ -GNU Taler merchant has these additional dependencies: - -- libqrencode >= 4.0.0 - The following steps assume all dependencies are installed. First, unpack the GNU Taler merchant tarball and change into diff --git a/frags/list-of-dependencies.rst b/frags/list-of-dependencies.rst index 4184e3c2..90710a31 100644 --- a/frags/list-of-dependencies.rst +++ b/frags/list-of-dependencies.rst @@ -8,9 +8,9 @@ - libcurl >= 7.26 (or libgnurl >= 7.26) -- libqrencode >= 4.0.0 +- libqrencode >= 4.0.0 (Taler merchant only) -- GNU libgcrypt >= 1.6 +- GNU libgcrypt >= 1.6 (1.10 or later highly recommended) - libsodium >= 1.0 @@ -22,4 +22,28 @@ - GNU libmicrohttpd >= 0.9.71 -- GNUnet >= 0.16 (from `source tarball `__) +- GNUnet >= 0.19 (from `source tarball `__) + +- Python3 with ``jinja2`` + + +If you are on Debian stable or later, the following command may help you +install these dependencies: + +.. code-block:: console + + # apt-get install \ + libqrencode-dev \ + libsqlite3-dev \ + libltdl-dev \ + libunistring-dev \ + libsodium-dev \ + libargon2-dev \ + libcurl4-gnutls-dev \ + libgcrypt20-dev \ + libjansson-dev \ + libpq-dev \ + libmicrohttpd-dev \ + python3-jinja2 \ + postgresql-13 + diff --git a/taler-exchange-manual.rst b/taler-exchange-manual.rst index fc06a8e3..bdbc3efa 100644 --- a/taler-exchange-manual.rst +++ b/taler-exchange-manual.rst @@ -288,20 +288,6 @@ Before installing a Taler exchange, please make sure that your system does not have swap space enabled. Swap space is a security risk that Taler does not try to mitigate against. -Please install the following packages before proceeding with the -exchange compilation. - -- Python3 module ``jinja2`` - -.. include:: frags/list-of-dependencies.rst - -- GNU Taler exchange (from `download directory `__, - see `release announcement `__) - -Except for the last two, these are available in most GNU/Linux -distributions and should just be installed using the respective package -manager. - Installing from source ---------------------- @@ -309,13 +295,36 @@ Installing from source The following instructions will show how to install libgnunetutil and the GNU Taler exchange from source. +The package sources can be find in our +`download directory `__. + +GNU Taler components version numbers follow the ``MAJOR.MINOR.MICRO`` format. +The general rule for compatibility is that ``MAJOR`` and ``MINOR`` must match. +Exceptions to this general rule are documented in the release notes. +For example, Taler merchant 1.3.0 should be compatible with Taler exchange 1.4.x +as the MAJOR version matches. A MAJOR version of 0 indicates experimental +development, and you are expected to always run all of the *latest* releases +together (no compatibility guarantees). + +First, the following packages need to be installed before we can compile the +backend: + +.. include:: frags/list-of-dependencies.rst + .. include:: frags/installing-gnunet.rst +.. include:: frags/install-before-check.rst + +There is no need to actually run a GNUnet peer to use the Taler merchant +backend -- all the merchant needs from GNUnet is a number of headers and +libraries! + .. include:: frags/installing-taler-exchange.rst .. include:: frags/install-before-check.rst + Installing the GNU Taler binary packages on Debian -------------------------------------------------- @@ -325,7 +334,7 @@ To install the Taler exchange, you can now simply run: .. code-block:: console - # apt install -t sid taler-exchange + # apt install taler-exchange Note that the package does not perform any configuration work except for setting up the various users and the systemd service scripts. You still must @@ -350,7 +359,7 @@ To install the Taler exchange, you can now simply run: .. code-block:: console - # apt install -t focal-fossa taler-exchange + # apt install taler-exchange Note that the package does not perform any configuration work except for setting up the various users and the systemd service scripts. You still must diff --git a/taler-merchant-manual.rst b/taler-merchant-manual.rst index f568ef15..f00f6b82 100644 --- a/taler-merchant-manual.rst +++ b/taler-merchant-manual.rst @@ -271,80 +271,43 @@ This chapter describes how to install the GNU Taler merchant backend. .. _Generic-instructions: -Generic instructions for installation from source -------------------------------------------------- +Installing from source +---------------------- -This section provides generic instructions for the merchant backend -installation independent of any particular operating system. Operating -system specific instructions are provided in the following sections. You -should follow the operating system specific instructions if those are -available, and only consult the generic instructions if no -system-specific instructions are provided for your specific operating -system. +The following instructions will show how to install a GNU Taler +merchant backend from source. -.. _Installation-of-dependencies: - -Installation of dependencies -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The following packages need to be installed before we can compile the -backend: - -.. include:: frags/list-of-dependencies.rst - -- GNU Taler exchange (see `release announcement `__) - -Except for the last two, these are available in most GNU/Linux distributions -and should just be installed using the respective package manager. Be careful -with GNU libmicrohttpd; here, some distributions only include an older version -that will not work. - -While you are in the GNU Taler exchange -`download directory `__, -you might as well also download the tarball for GNU Taler merchant. +The package sources can be find in our +`download directory `__. GNU Taler components version numbers follow the ``MAJOR.MINOR.MICRO`` format. The general rule for compatibility is that ``MAJOR`` and ``MINOR`` must match. Exceptions to this general rule are documented in the release notes. -For example, Taler merchant 0.8.0 is compatible with Taler exchange 0.8.1. - -The following sections will provide detailed instructions for installing -the ``libgnunetutil`` and GNU Taler exchange dependencies. - -.. _Installing-libgnunetutil: +For example, Taler merchant 1.3.0 should be compatible with Taler exchange 1.4.x +as the MAJOR version matches. A MAJOR version of 0 indicates experimental +development, and you are expected to always run all of the *latest* releases +together (no compatibility guarantees). -Installing GNUnet -^^^^^^^^^^^^^^^^^ +First, the following packages need to be installed before we can compile the +backend: -.. index:: GNUnet +.. include:: frags/list-of-dependencies.rst .. include:: frags/installing-gnunet.rst +.. include:: frags/install-before-check.rst + There is no need to actually run a GNUnet peer to use the Taler merchant backend -- all the merchant needs from GNUnet is a number of headers and libraries! - -.. _Installing-the-GNU-Taler-exchange: - -Installing the GNU Taler exchange -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. index:: exchange - .. include:: frags/installing-taler-exchange.rst There is no need to actually run a Taler exchange to use the Taler merchant backend -- all the merchant needs from the Taler exchange is a few headers and libraries! - -.. _Installing-the-GNU-Taler-merchant-backend: - -Installing the GNU Taler merchant backend -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. index:: backend +.. include:: frags/install-before-check.rst .. include:: frags/installing-taler-merchant.rst @@ -373,80 +336,6 @@ Installing the GNU Taler binary packages on Ubuntu .. include:: frags/apt-install-taler-merchant.rst -.. _Installing-Taler-on-Debian-GNU_002fLinux: - -Installing Taler on Debian GNU/Linux from source ------------------------------------------------- - -.. index:: Wheezy -.. index:: Jessie -.. index:: Stretch -.. index:: Buster -.. index:: Bullseye -.. index:: Debian - -Debian Wheezy is too old and lacks most of the packages required. -Debian Jessie, Stretch, and Buster are better, but still lack PostgreSQL 12. - -.. note:: - - When compiling PostgreSQL 12, make sure to - do ``make world`` to build the ``contrib/`` modules, and - ``cd contrib && make install`` to install them, as well. - -On Debian Stretch and Buster, only GNU libmicrohttpd needs to be compiled from -source. To install dependencies on Debian Stretch, run the following -commands: - -.. code-block:: console - - # apt-get install \ - libqrencode-dev \ - libsqlite3-dev \ - libltdl-dev \ - libunistring-dev \ - libsodium-dev \ - libargon2-0-dev \ - libcurl4-gnutls-dev \ - libgcrypt20-dev \ - libjansson-dev \ - libpq-dev \ - postgresql-9.6 - # wget https://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-latest.tar.gz - # wget https://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-latest.tar.gz.sig - # gpg -v libmicrohttpd-latest.tar.gz # Should show signed by 939E6BE1E29FC3CC - # tar xf libmicrohttpd-latest.tar.gz - # cd libmicrohttpd-0* - # ./configure - # make install - -For more recent versions of Debian, you should instead run: - -.. code-block:: console - - # apt-get install \ - libqrencode-dev \ - libsqlite3-dev \ - libltdl-dev \ - libunistring-dev \ - libsodium-dev \ - libargon2-dev \ - libcurl4-gnutls-dev \ - libgcrypt20-dev \ - libjansson-dev \ - libpq-dev \ - postgresql-9.6 \ - libmicrohttpd-dev - -Note that Stretch requires ``libargon2-0-dev``, -while later versions of Debian require ``libargon2-dev``. - -For the rest of the installation, follow the generic installation -instructions starting with the installation of libgnunetutil. Note that -if you used the Debian Stretch instructions above, you need to pass -``--with-microhttpd=/usr/local/`` to all ``configure`` invocations. - - How to configure the merchant’s backend ======================================= -- cgit v1.2.3