Operating System-Specific Notes

FreeBSD

At Operating System installation

  • Choose ZFS filesystem and encryption

  • Create the gnuhealth user at installation time

  • Select SSHD and NTP services at boot time

Install requirements

# pkg install python
# pkg install postgresql16-server
# pkg install wget bash patch rust
# pkg install cmake gmake libxml2 libxslt jpeg-turbo
# pkg install py39-pip

Manually install lxml

To avoid errors building lxml, run the following command (as gnuhealth admin)

# su - gnuhealth
$ CFLAGS="-Wno-error=incompatible-function-pointer-types" pip install --user --upgrade lxml
$ exit

Initialize PostgreSQL

# /usr/local/etc/rc.d/postgresql initdb
# sysrc postgresql_enable=yes
# service postgresql start

Change /bin/bash to /usr/local/bin/bash

The first line of script that starts gnuhealth (start_gnuhealth.sh) is pointing to /bin/bash. On FreeBSD you have to change that to /usr/local/bin/bash.

# pw usermod -s /usr/local/bin/bash -n gnuhealth

Next step: Creating the Operating System User

Debian

Download and install the Operating System

  • Download the Debian OS image

  • Check the partitioning and FS options (we use ext4 filesystem)

  • Choose XFCE (optional)

  • Enable SSHD server

  • Create the user “gnuhealth” when prompted at installation time.

Install the requirements

$ sudo apt-get install postgresql patch python3-pip unoconv

Allow local pip installation

$ export PIP_BREAK_SYSTEM_PACKAGES=1

If you want this change to be permanent, you can add this environment variable at your $HOME/.gnuhealthrc file.

Next step: Creating the Operating System User

Void Linux

# xbps-install postgresql-16_1 postgresql16-client-16.1_1
# ln -s /etc/sv/postgresql16/ /var/service
  • Check the status of the installation and running server

# sv status postgresql16

Allow local pip installation

$ export PIP_BREAK_SYSTEM_PACKAGES=1

PureOS

Download and install the Operating System

  • Download PureOS

  • Create the user “gnuhealth” when prompted at installation time.

Install the requirements

$ sudo apt-get install ssh apt-get install postgresql python3-pip

Check firewalld service

The standard GNUHealth / Tryton server listens in port 8000. The default firewall rules in PureOS blocks this port, so you need to customize it. You can temporarily stop the firewall service until you customize it to listen to the needed ports:

$ sudo systemctl stop firewalld

This only stops the service in the current session.

Next step: Creating the Operating System User

openSUSE

Note

This section provides the instructions for the official and standard (vanilla) installation on openSUSE. If you want to use the openSUSE package based installation, please refer to the Community Pages

Download and install the Operating System

  • Download the openSUSE Leap Network CD image

  • Check the partitioning and FS options (we use ext4 filesystem)

  • Select SERVER (text only) installation

  • Enable SSHD server

  • Create the user “gnuhealth” when prompted at installation time

Install the requirements

We need to use Python3.11

$ sudo zypper in patch python311

Replace default Python 3.6 with 3.11:

$ ln -si python3.11 python

Install the rest of dependencies

$ sudo zypper in patch postgresql15-server postgresql15-server-devel gcc python311-devel libreoffice

Initialize the PostgreSQL environment. The next systemctl start command will generate the initial pg cluster.

$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql

Next step: Creating the Operating System User

Ubuntu

  • Create the gnuhealth user at installation time

  • Enable SSH server

Update the Sources

$ sudo apt-get update

Install requirements

$ sudo apt-get install python3-pip postgresql libreoffice-nogui

Next step: Creating the Operating System User