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 py311-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
# sysrc postgresql_enable=yes
# /usr/local/etc/rc.d/postgresql initdb
# 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
Requirements for GTK client
You have to install some requirements as system packages before installing the client using pip:
# pkg install gcc py311-gobject3 py311-pip
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 wget libreoffice-nogui
Allow local pip installation
Starting with Python3.11 it is discouraged to install Python libraries system wide or user wide. Virtual environments will get introduced with next HIS release 5.0 to catch up with best practices. Until then we need to explicitly allow user wide pip installations with the following environment variable:
$ 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 in case of the gnuhealth user or e.g. in $HOME/.bashrc for other operating system users having BASH. Don’t forget to reload the file afterwards (happens automatically during future logins):
$ nano $HOME/.bashrc
<insert line 'export PIP_BREAK_SYSTEM_PACKAGES=1' on the bottom>
<close and save by pressing 'Ctrl+x' and 'y'>
$ source $HOME/.bashrc
Next step: Creating the Operating System User
Requirements for GTK client
You have to install some requirements as system packages before installing the client using pip:
$ sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 libcairo2-dev libgirepository1.0-dev python3-dev python3-pip gcc
Void Linux
Download Void https://voidlinux.org
Download PostgreSQL and activate the service
# 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
Requirements for GTK client
You have to install some requirements as system packages before installing the client using pip:
$ sudo zypper in python3-pip gcc python3-devel cairo-devel gobject-introspection-devel typelib-1_0-Gtk-3_0 python3-gobject-Gdk
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 wget
Next step: Creating the Operating System User
Requirements for GTK client
You have to install some requirements as system packages before installing the client using pip:
$ sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 libcairo2-dev libgirepository1.0-dev python3-dev python3-pip gcc