<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Installing</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>Recent changes to Installing</description><atom:link href="https://sourceforge.net/p/trinventum/wiki/Installing/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 16 May 2026 18:33:04 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/trinventum/wiki/Installing/feed" rel="self" type="application/rss+xml"/><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v11
+++ v12
@@ -81,18 +81,22 @@
 ```


-## Installation - web application (for manual installation) ##
+## Installation - web application (manual installation) ##

-To install:
-
-- copy the contents of the `webapp` directory (**including hidden files**) to a chosen location reachable by the web server and adjust the access modes accordingly so that the web server can actually run the files.
+To install, copy the contents of the `webapp` directory (**including hidden files**) to a chosen location reachable by the web server and adjust the access modes accordingly so that the web server can actually run the files.
 Alternatively, if you have the `make` program and some common Linux utilities, you can run `make install`, passing the prefix of the target directory. Trinventum will be installed in `$(PREFIX)/trinventum`. Examples:
 ```bash
    make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d
    make install PREFIX=/var/www/html SERVERCONF=/etc/httpd/conf.d

-   make install PREFIX=$HOME/public_html SERVERCONF=$HOME/tmp
 ```
 The `SERVERCONF` parameter specifies where to put the global web server configuration file. Can be ignored and set to any directory for local installations.
+
+For local installations, you can pass the `LOCALINSTALL` parameter with any non-empty value and the `SERVERCONF` parameter can be ignored or set to any
+  directory. Example:
+```bash
+   make install PREFIX=$HOME/public_html LOCALINSTALL=1
+```
+
 To install the documentation, you can add a chosen directory as the `DOCDIR` parameter to `make install`. Documentation will be installed in `$(DOCDIR)/trinventum`. Examples:
 ```bash
         make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d DOCDIR=/usr/share/doc
@@ -100,9 +104,9 @@
         make install PREFIX=$HOME/public_html DOCDIR=$HOME/tools/doc
 ```

-- the necessary database structures will be created by the application itself upon the first successful login of a user **with full access to the database schema** (like the schema owner `trinventum` created earlier). There is **NO NEED** to run any SQL scripts manually.
+The necessary database structures will be created by the application itself upon the first successful login of a user **with full access to the database schema** (like the schema owner `trinventum` created earlier). There is **NO NEED** to run any SQL scripts manually.

-## Installation - web application (for Docker installation) ##
+## Installation - web application (Docker installation) ##

 To install Trinventum as a Docker container for testing, execute **one** of (as `root`):
 ```bash
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Sat, 16 May 2026 18:33:04 -0000</pubDate><guid>https://sourceforge.net6c7b028055916828d6dd18a2a35aab0186901a88</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v10
+++ v11
@@ -111,9 +111,9 @@
 ```
 in the Trinventum source code top directory (**NOT** the `docker` subdirectory).

-The default configuration has no permanent storage for the database. In order to have a persistent, working setup, you **must add permanent storage** to the configuration files.
+**WARNING:** The default configuration has no permanent storage for the database. In order to have a persistent, working setup, you **must add permanent storage** to the configuration files.

-The default `docker-compose.yaml` file has hardcoded simple passwords. If you wish to use this file and have a secure setup, you **must change those passwords** in the file.
+**WARNING:** The default `docker-compose.yaml` file has hardcoded simple passwords. If you wish to use this file and have a secure setup, you **must change those passwords** in the file.

 ## Optional - create roles and other users ##

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Thu, 30 May 2024 21:32:41 -0000</pubDate><guid>https://sourceforge.nete0d8728055e22ffabbe3d6f06babe12c1e57643b</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v9
+++ v10
@@ -88,13 +88,14 @@
 - copy the contents of the `webapp` directory (**including hidden files**) to a chosen location reachable by the web server and adjust the access modes accordingly so that the web server can actually run the files.
 Alternatively, if you have the `make` program and some common Linux utilities, you can run `make install`, passing the prefix of the target directory. Trinventum will be installed in `$(PREFIX)/trinventum`. Examples:
 ```bash
-   make install PREFIX=/srv/www/html
-   make install PREFIX=/var/www/html
-   make install PREFIX=$HOME/public_html
+   make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d
+   make install PREFIX=/var/www/html SERVERCONF=/etc/httpd/conf.d
+   make install PREFIX=$HOME/public_html SERVERCONF=$HOME/tmp
 ```
+The `SERVERCONF` parameter specifies where to put the global web server configuration file. Can be ignored and set to any directory for local installations.
 To install the documentation, you can add a chosen directory as the `DOCDIR` parameter to `make install`. Documentation will be installed in `$(DOCDIR)/trinventum`. Examples:
 ```bash
-        make install PREFIX=/srv/www/html DOCDIR=/usr/share/doc
+        make install PREFIX=/srv/www/html SERVERCONF=/etc/httpd/conf/webapps.d DOCDIR=/usr/share/doc
         make install PREFIX=/var/www/html DOCDIR=/usr/share/doc
         make install PREFIX=$HOME/public_html DOCDIR=$HOME/tools/doc
 ```
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Thu, 30 May 2024 20:30:59 -0000</pubDate><guid>https://sourceforge.net6eb812cb5027273391818f458fc7e951dea54a52</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v8
+++ v9
@@ -81,7 +81,7 @@
 ```


-## Installation ##
+## Installation - web application (for manual installation) ##

 To install:

@@ -101,6 +101,51 @@

 - the necessary database structures will be created by the application itself upon the first successful login of a user **with full access to the database schema** (like the schema owner `trinventum` created earlier). There is **NO NEED** to run any SQL scripts manually.

+## Installation - web application (for Docker installation) ##
+
+To install Trinventum as a Docker container for testing, execute **one** of (as `root`):
+```bash
+   docker/docker.sh
+   docker-compose -p trinventum -f docker/docker-compose.yaml up -d
+```
+in the Trinventum source code top directory (**NOT** the `docker` subdirectory).
+
+The default configuration has no permanent storage for the database. In order to have a persistent, working setup, you **must add permanent storage** to the configuration files.
+
+The default `docker-compose.yaml` file has hardcoded simple passwords. If you wish to use this file and have a secure setup, you **must change those passwords** in the file.
+
+## Optional - create roles and other users ##
+
+Apart from the main database user (the database owner), you can have users with various privileges using the application:
+
+- product management,
+- seller management,
+- buyer management,
+- transaction management,
+- any mix of the above.
+
+To create the base roles, run the `scripts/create_roles.pgsql` file on the database as the database administration user (`postgres`):
+```bash
+   psql -U postgres -d trinventum -f scripts/create_roles.pgsql
+```
+
+Then, you can use the shell command `createuser` to create new users - login to the system as the database user `postgres` and run:
+```bash
+   createuser -P trin_mgr
+   createuser -P trin_sell
+   createuser -P trin_buy
+   createuser -P trin_tx
+```
+and grant the selected role(s), found in the `scripts/create_roles.pgsql` file, to the new user:
+```bash
+   psql -U postgres -d trinventum -c 'grant trinventum_product_manager to trin_mgr'
+   psql -U postgres -d trinventum -c 'grant trinventum_seller_manager to trin_sell'
+   psql -U postgres -d trinventum -c 'grant trinventum_buyer_manager to trin_buy'
+   psql -U postgres -d trinventum -c 'grant trinventum_transaction_manager to trin_tx'
+```
+Then, you can log in as the chosen user and have access to just the required functionalities.
+
+
 ## Uninstallation ##

 To uninstall, if needed:
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Thu, 30 May 2024 20:23:54 -0000</pubDate><guid>https://sourceforge.netf3bdb746e1d060a5f03039f3d6307e0751cbe401</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -3,7 +3,7 @@
 A supported database (currently: [PostgreSQL](https://www.postgresql.org/)) must be running.
 On a Linux system, you would do one of:

-- login to the system as the database user `postgres` (you can do `su - postgres` as `root` to login to that account on Linux) and run:
+- login to the system as the database user `postgres` (you can do `su - postgres` as `root` to log in to that account on Linux) and run:
 ```bash
     pg_ctl start
 ```
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Fri, 15 Jul 2022 13:52:17 -0000</pubDate><guid>https://sourceforge.netf662e5aa99d08a5fb60359122a0ea2bc0d3e950b</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -92,13 +92,20 @@
    make install PREFIX=/var/www/html
    make install PREFIX=$HOME/public_html
 ```
+To install the documentation, you can add a chosen directory as the `DOCDIR` parameter to `make install`. Documentation will be installed in `$(DOCDIR)/trinventum`. Examples:
+```bash
+        make install PREFIX=/srv/www/html DOCDIR=/usr/share/doc
+        make install PREFIX=/var/www/html DOCDIR=/usr/share/doc
+        make install PREFIX=$HOME/public_html DOCDIR=$HOME/tools/doc
+```
+
 - the necessary database structures will be created by the application itself upon the first successful login of a user **with full access to the database schema** (like the schema owner `trinventum` created earlier). There is **NO NEED** to run any SQL scripts manually.

 ## Uninstallation ##

 To uninstall, if needed:

-- remove the contents of the `webapp` directory from the location chosen during installation,
+- remove the contents of the `webapp` directory from the location chosen during installation (you can also run `make uninstall`, passing the same prefix as during the installation),

 - delete the application's database - run as `postgres`:
 ```bash
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Tue, 28 Jun 2022 20:04:32 -0000</pubDate><guid>https://sourceforge.net51d83c5693e7425c0ed02fc0b94cab6412bfef1d</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -42,11 +42,12 @@
 ```

 A procedural language suitable for the database must be installed in the logical database.
-On PostgreSQL, login to the system as the database user `postgres` and run:
+On PostgreSQL versions earlier than 9.0, login to the system as the database user `postgres` and run:
 ```bash
     createlang plpgsql trinventum
 ```
 (don't wory if it says that the language already exists).
+Later PostgreSQL have the language already built-in by default.

 Database access rules must be created within the database server unless you wish to leave the default rules.
 On PostgreSQL, you would do (as the database user `postgres` or `root`):
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Thu, 09 Jun 2022 19:58:13 -0000</pubDate><guid>https://sourceforge.net9beeb257c301cd8388b7f4671c48dc801815651f</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,4 +1,4 @@
-## Initial steps ##
+## Initial steps - most are one-time ##

 A supported database (currently: [PostgreSQL](https://www.postgresql.org/)) must be running.
 On a Linux system, you would do one of:
@@ -33,6 +33,7 @@
 ```bash
     createuser -P trinventum
 ```
+You can create other database users later, and give them full or less privileges so that those users can execute all the activities or just the ones they have access to. 

 Create the application's database.
 On PostgreSQL, login to the system as the database user `postgres` and run:
@@ -90,7 +91,7 @@
    make install PREFIX=/var/www/html
    make install PREFIX=$HOME/public_html
 ```
-- the necessary database structures will be created by the application itself upon the first successful login. There is **NO NEED** to run any SQL scripts manually.
+- the necessary database structures will be created by the application itself upon the first successful login of a user **with full access to the database schema** (like the schema owner `trinventum` created earlier). There is **NO NEED** to run any SQL scripts manually.

 ## Uninstallation ##

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Thu, 14 Apr 2022 18:04:24 -0000</pubDate><guid>https://sourceforge.net296c2d3831e2f413fe293f7711e687a21c346147</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -3,7 +3,7 @@
 A supported database (currently: [PostgreSQL](https://www.postgresql.org/)) must be running.
 On a Linux system, you would do one of:

-- login to the system as the database user `postgres` (you usually do `su - postgres` as `root`) and run:
+- login to the system as the database user `postgres` (you can do `su - postgres` as `root` to login to that account on Linux) and run:
 ```bash
     pg_ctl start
 ```
@@ -28,12 +28,14 @@
     service httpd start
 ```

-Create the database user to host the application's database, e.g. run as `postgres`:
+Create the database user to host the application's database.
+On PostgreSQL, login to the system as the database user `postgres` and run:
 ```bash
     createuser -P trinventum
 ```

-Create the application's database, e.g. run as `postgres`:
+Create the application's database.
+On PostgreSQL, login to the system as the database user `postgres` and run:
 ```bash
    createdb -O trinventum trinventum
 ```
@@ -45,10 +47,10 @@
 ```
 (don't wory if it says that the language already exists).

-Database access rules must be created within the database server.
-On PostgreSQL, you would do:
+Database access rules must be created within the database server unless you wish to leave the default rules.
+On PostgreSQL, you would do (as the database user `postgres` or `root`):
 ```bash
-    cp /var/lib/pgsql/data/pg_hba.conf ~
+    cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf-backup
     echo local trinventum trinventum scram-sha-256 &amp;gt;&amp;gt; /var/lib/pgsql/data/pg_hba.conf
     echo host all all 127.0.0.1/32 scram-sha-256 &amp;gt;&amp;gt; /var/lib/pgsql/data/pg_hba.conf
 ```
@@ -81,7 +83,8 @@

 To install:

-- copy the contents of the `webapp` directory (**including hidden files**) to a chosen location reachable by the web server. Alternatively, if you have the `make` program and some common Unix/Linux utilities, you can run `make install`, passing the prefix of the target directory. Trinventum will be installed in `$(PREFIX)/trinventum`. Examples:
+- copy the contents of the `webapp` directory (**including hidden files**) to a chosen location reachable by the web server and adjust the access modes accordingly so that the web server can actually run the files.
+Alternatively, if you have the `make` program and some common Linux utilities, you can run `make install`, passing the prefix of the target directory. Trinventum will be installed in `$(PREFIX)/trinventum`. Examples:
 ```bash
    make install PREFIX=/srv/www/html
    make install PREFIX=/var/www/html
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Tue, 29 Mar 2022 12:33:13 -0000</pubDate><guid>https://sourceforge.net2f1acd133145a71d2ac84bd7cda16a7509889d32</guid></item><item><title>Installing modified by Bogdan Drozdowski</title><link>https://sourceforge.net/p/trinventum/wiki/Installing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -3,15 +3,15 @@
 A supported database (currently: [PostgreSQL](https://www.postgresql.org/)) must be running.
 On a Linux system, you would do one of:

-- (login to the system as the database user `postgres`, usually do `su - postgres` as `root`) and run:
+- login to the system as the database user `postgres` (you usually do `su - postgres` as `root`) and run:
 ```bash
     pg_ctl start
 ```
-- (login as `root`) and run:
+- login as `root` and run:
 ```bash
     systemctl start postgresqlXX (XX being the version)
 ```
-- (login as `root`) and run:
+- login as `root` and run:
 ```bash
     service postgresql start
 ```
@@ -54,6 +54,7 @@
 ```
 (Note the double `&amp;gt;&amp;gt;`- it's **CRUCIAL** to use double `&amp;gt;&amp;gt;`,    a single `&amp;gt;` would **OVERWRITE** the target file).
 On older PostgreSQL versions replace `scram-sha-256` with `md5`.
+
 If you'll need to access the database from another computer:

 - a line similar to the `host all all 127.0.0.1/32 scram-sha-256` should be added to pg_hba.conf, containing the correct IP address
@@ -62,15 +63,15 @@

 After changing the access rules for the database server, restart it. On Linux with PostgreSQL, you would do one of:

-- (login to the system as the database user `postgres` and run:
+- login to the system as the database user `postgres` and run:
 ```bash
     pg_ctl restart
 ```
-- (login as `root`) and run:
+- login as `root` and run:
 ```bash
     systemctl restart postgresqlXX (XX being the version)
 ```
-- (login as `root`) and run:
+- login as `root` and run:
 ```bash
     service postgresql restart
 ```
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bogdan Drozdowski</dc:creator><pubDate>Mon, 28 Mar 2022 21:45:00 -0000</pubDate><guid>https://sourceforge.netf2d8e6e7bacf78274fe7c8c3b403c8ad74e037a6</guid></item></channel></rss>