Skip to content

Update guide from i-doit 1.7.4 to 31

Important information before you start#

Here we you will find short instruction to Update your i-doit up to i-doit 31.
You may need to Upgrade your Operating System.
This instructions are valid for Debian and the commands used differ in other OS.Before you start, Download all updates you need to do and copy them in the i-doit root Folder.

Important things to note before hand

This Guide do not come with any warranty and may not work in your specific use case.
This depends on the configuration and installation type of your instance. Also needed Add-on updates are not mentioned.

Backup

Do a Backup or Snapshot before each Update step!

Release Notes

Read the Release Notes before you Update to a new Version

Hotfix note

Please use Hotfixes exclusively with the specified version. Hotfixes will be included in newer versions so that a renewed installation is not necessary. Should you use an older i-doit version it is essential to make an update to the latest version first. If a Hotfix is required to update an older version, it can be found in the Hotfix subchapters here in the Knowledge Base. As these are Hotfixes we recommend installing them only when the adjustments are necessary for a flawless operation of your installation or you are requested by the support team to use the. Please ensure that you made a backup of i-doit before you use any Hotfix. Please inform us about the use of Hotfixes, should you contact our support team afterwards.

i-doit Version 31 30 29 28 27 26 25 24 23, 22, 21, 20, 1.19 1.19 1.18 1.17 1.16 1.15 1.14 1.13 1.12 1.11 1.10 1.9 1.8 1.7
Release 2024-05 2024-04 2024-02 2023-12 2023-08 2023-08 2023-06 2023-05 2023-03 - 2022-09 2022-09 2022-01 2021-07 2021-01 2020-07 2020-01 2019-06 2018-12 2018-06 2017-12 2017-05 2016-10 2016-03
Apache Webserver 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.4 2.2, 2.4
PHP 8.0
8.1 (recommended)
8.2
7.4 (deprecated)
8.0
8.1 (recommended)
8.2
7.4 (deprecated)
8.0 (recommended)
8.1
8.2
7.4 (deprecated)
8.0 (recommended)
8.1
7.4 (deprecated)
8.0 (recommended)
8.1
7.4
8.0 (recommended)
8.1
7.4
8.0 (recommended)
7.4
8.0 (recommended)
7.4 (deprecated)
8.0 (recommended)
7.4 (deprecated)
8.0 (recommended)
7.3 (deprecated)
7.4 (recommended)
7.3
7.4 (recommended)
7.2.5 (deprecated)
7.3
7.4 (recommended)
7.1.8 (deprecated)
7.2
7.3 (recommended)
7.4
7.1.8 (deprecated)
7.2
7.3 (recommended)
7.4
7.0.8 (deprecated)
7.1
7.2
7.3 (recommended)
5.6 (deprecated)
7.0
7.1
7.2 (recommended)
5.6
7.0
7.1
5.6
7.0
5.4
5.5
5.6
7.0
5.4
5.5
5.6
5.4
5.5
5.6
MySQL 5.7
8.0
5.7
8.0
5.7
8.0
5.7
8.0
5.7
8.0
5.7
8.0
5.7
8.0
5.7 5.7 5.7 5.7 5.7 5.6 (deprecated)
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
5.6
5.7
MariaDB 10.4 (deprecated)
10.5 (deprecated)
10.6 (recommended)
10.11
10.4 (deprecated)
10.5 (deprecated)
10.6 (recommended)
10.11
10.2
10.3
10.4
10.5
10.6 (recommended)
10.2
10.3
10.4
10.5
10.6 (recommended)
10.2
10.3
10.4
10.5
10.6 (recommended)
10.2
10.3
10.4
10.5
10.6 (recommended)
10.2
10.3
10.4
10.5
10.6 (recommended)
10.2
10.3
10.4
10.5 (recommended)
10.2
10.3
10.4
10.5 (recommended)
10.2
10.3
10.4
10.5 (recommended)
10.2
10.3
10.4
10.5 (recommended)
10.2
10.3
10.4
10.5 (recommended)
10.1 (deprecated)
10.2
10.3
10.4 (recommended)
10.5
10.1
10.2
10.3
10.4 (recommended)
10.1
10.2
10.3
10.4 (recommended)
10.0 (deprecated)
10.1
10.2
10.3 (recommended)
10.0
10.1
10.0
10.1
10.0
10.1
10.0
10.1
10.0
10.1
10.0
10.1
Legend
¹ With the help of third-party repositories
² Not recommended for productive use

Updating 1.7.4 to 1.8#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.8-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.8 is displayed and selected, do the update.

Updating 1.7.4 to 1.8

Possible error

PHP Fatal error: Call to undefined method idoit\Component\ContainerFacade::has() in /var/www/html/src/idoit/Model/Summary/SystemSummary.php on line 185 Solution is to reload the page and go on.

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred Login and check your installation.

Updating 1.8 to 1.9#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.9-update.zip

If you are asked, overwrite everything by typing A. Now we open the Web Interface Updater and the Update to v1.9 is displayed and selected, do the update.

Updating 1.8 to 1.9

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred Login and check your installation.

Updating 1.9 to 1.10#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.10-update.zip

If you are asked, overwrite everything by typing A. Now we open the Web Interface Updater and the Update to v1.10 is displayed and selected, do the update.

Updating 1.9 to 1.10

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred Login and check your installation.

Updating 1.10 to 1.11#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.11-update.zip

If you are asked, overwrite everything by typing A. Now we open the Web Interface Updater and the Update to v1.11 is displayed and selected, do the update.

Possible error

Call of unknown method '_realpath'.

Solutions:

  • Reload the page and go on.
  • or use the following Hotfix if reloading do not work

Declaration of consent

By downloading a Hotfix you declare that you have read and understood the above mentioned note completely. Click here for the Hotfix

Continue with the update

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred

Login and check your installation.

Updating 1.11 to 1.12#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.12-update.zip

If you are asked, overwrite everything by typing A. Now we open the Web Interface Updater and the Update to v1.12 is displayed and selected, do the update.

Updating 1.11 to 1.12

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred Login and check your installation.

Upgrade Debian 8 to 9#

Warning

Before you start, please ensure that you have a full Backup which you have tested restoring on a clean server in case something goes wrong, because there is no going back! Read the Update Instructions for Debian 8 to 9 here

I have a working full Backup

Free up some space with

1
2
sudo apt-get autoremove
sudo apt-get clean

Alter the sources.list with your favorite editor

1
sudo nano /etc/apt/sources.list

Alter all entries to 'stretch' or delete all entries and insert

1
2
deb http://deb.debian.org/debian stretch main
deb http://deb.debian.org/debian stretch contrib

Now update the packages again

1
sudo apt-get update

If you get a message like this, you can ignore it or read here.

1
2
There is no public key available for the following key IDs:
112695A0E562B32A

Now stop mysql and cron

1
sudo systemctl stop mysql cron

Do the update to Debian 9

1
2
sudo apt-get upgrade
sudo apt-get full-upgrade

If you are asked 'Restart services during package upgrades without asking?' select 'Yes' and hit enter

Start the Services we stopped:

1
sudo systemctl start mysql cron

Errors? Read here

Check the System and i-doit

Check your system and i-doit!

Free up some space again

1
2
sudo apt-get autoremove
sudo apt-get clean

Check your sources.list, for more Info see here
You are now at Debian 9 with PHP 5.6 and MariaDB 10.

Upgrade Debian 9 to 10#

Warning

Before you start, please ensure that you have a full Backup which you have tested restoring on a clean server in case something goes wrong, because there is no going back! Read the Update Instructions for Debian 9 to 10 here

I have a working full Backup

Free up some space with

1
2
sudo apt-get autoremove
sudo apt-get clean

Alter the sources.list with your favorite editor

1
sudo nano /etc/apt/sources.list

Alter all entries to 'buster' or delete all entries and insert

1
2
deb http://deb.debian.org/debian buster main
deb http://deb.debian.org/debian buster contrib

Now stop mysql and cron

1
sudo systemctl stop mysql cron

Do the update to Debian 10

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get full-upgrade

Start the Services we stopped

1
sudo systemctl start mysql cron

Errors? Check Debian Website

Check the System and i-doit

Check your system and i-doit!

Free up some space again

1
2
sudo apt-get autoremove
sudo apt-get clean

Check your sources.list, for more Info see here
You are now at Debian 10 with PHP 5.6 and MariaDB 10.3.

Update PHP 5.6 to PHP 7.3#

Backup

Create a Backup or Snapshot!

Update packages and install all needed packages

1
2
sudo apt update
sudo apt install apache2 libapache2-mod-php mariadb-client mariadb-server php php-bcmath php-cli php-common php-curl php-gd php-imagick php-json php-ldap php-mbstring php-memcached php-mysql php-pgsql php-soap php-xml php-zip memcached unzip sudo moreutils

Create PHP config file

1
sudo nano /etc/php/7.3/mods-available/i-doit.ini

insert

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
allow_url_fopen = Yes
file_uploads = On
magic_quotes_gpc = Off
max_execution_time = 300
max_file_uploads = 42
max_input_time = 60
max_input_vars = 10000
memory_limit = 256M
post_max_size = 128M
register_argc_argv = On
register_globals = Off
short_open_tag = On
upload_max_filesize = 128M
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
log_errors = On
default_charset = "UTF-8"
default_socket_timeout = 60
date.timezone = Europe/Berlin
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock

Activate changes

1
2
3
4
5
sudo a2dismod php5
sudo a2enmod php7.3
sudo phpenmod i-doit
sudo phpenmod memcached
sudo systemctl restart apache2.service

i-doit should now display via Administration > [Tenant Name] management > System config check the new PHP Version 7.3.31-1~deb10u1

Create MariaDB config file if not exist#

Create or update a MariaDB config file

1
sudo nano /etc/mysql/mariadb.conf.d/99-i-doit.cnf

insert or update your MariaDB configuration

 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
[mysqld]

# This is the number 1 setting to look at for any performance optimization
# It is where the data and indexes are cached: having it as large as possible will
# ensure MySQL uses memory and not disks for most read operations.
#
# Typical values are 1G (1-2GB RAM), 5-6G (8GB RAM), 20-25G (32GB RAM), 100-120G (128GB RAM).
innodb_buffer_pool_size = 1G

# Use multiple instances if you have innodb_buffer_pool_size > 10G, 1 every 4GB
innodb_buffer_pool_instances = 1

# Redo log file size, the higher the better.
# MySQL/MariaDB writes two of these log files in a default installation.
innodb_log_file_size = 512M

innodb_sort_buffer_size = 64M
sort_buffer_size = 262144 # default
join_buffer_size = 262144 # default

max_allowed_packet = 128M
max_heap_table_size = 32M
query_cache_min_res_unit = 4096
query_cache_type = 1
query_cache_limit = 5M
query_cache_size = 80M

tmp_table_size = 32M
max_connections = 200
innodb_file_per_table = 1

# Disable this (= 0) if you have only one to two CPU cores, change it to 4 for a quad core.
innodb_thread_concurrency = 0

# Disable this (= 0) if you have slow hard disks
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT

innodb_lru_scan_depth = 2048
table_definition_cache = 1024
table_open_cache = 2048
#Only if your have MySQL 5.6 or higher, do not use with MariaDB!
#table_open_cache_instances = 4

innodb_stats_on_metadata = 0

sql-mode = ""

Restart MariaDB afterwards

1
sudo systemctl start mysql.service

Updating 1.12 to 1.13#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.13-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.13 is displayed and selected, do the update.

Updating 1.12 to 1.13

Probably you will get this error:

Possible error

Fatal error: Uncaught Error: Class 'idoit\Module\License\LicenseServiceFactory' not found in /var/www/html/updates/versions/v1.13/migration/license_migration.php:50 Stack trace: #0 /var/www/html/updates/classes/isys_update_migration.class.php(98): include() #1 /var/www/html/updates/update.inc.php(911): isys_update_migration->migrate('/var/www/html/u...') #2 /var/www/html/src/hypergate.inc.php(152): include_once('/var/www/html/u...') #3 /var/www/html/index.php(231): include_once('/var/www/html/s...') #4 {main} thrown in /var/www/html/updates/versions/v1.13/migration/license_migration.php on line 50

Then you need to restart the update again.
If you now get a HTTP 500, do the update again.

Check the System and i-doit

Check your system and i-doit!

Updating 1.13 to 1.14#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.14-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.14 is displayed and selected, do the update.

Updating 1.13 to 1.14

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred

If you see this error:

Possible error

Database error : Query error: 'ALTER TABLE isys_cats_person_list ADD isys_cats_person_list__disabled_login TINYINT(1) UNSIGNED DEFAULT 0':Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

The Solution is documented here

Check the System and i-doit

Check your system and i-doit!

Updating 1.14 to 1.15#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.15-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.15 is displayed and selected, do the update.

Updating 1.14 to 1.15

Check the System and i-doit

Check your system and i-doit!

Updating 1.15 to 1.16#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.16-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.16 is displayed and selected, do the update.

Updating 1.15 to 1.16

Check the System and i-doit

Check your system and i-doit!

Updating 1.16 to 1.17#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.17-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.17 is displayed and selected, do the update.

Updating 1.16 to 1.17

Check the System and i-doit

Check your system and i-doit!

Updating 1.17 to 1.18#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.18-update.zip

If you are asked, overwrite everything by typing A.

Now we open the Web Interface Updater and the Update to v1.18 is displayed and selected, do the update.

Updating 1.17 to 1.18

Check the System and i-doit

Check your system and i-doit!

Upgrade Debian 10 to 11#

Warning

Before you start, please ensure that you have a full Backup which you have tested restoring on a clean server in case something goes wrong, because there is no going back!
Read the Update Instructions for Debian 10 to 11 here

I have a working full Backup

Free up some space with

1
2
sudo apt-get autoremove
sudo apt-get clean

Alter the sources.list with your favorite editor

1
sudo nano /etc/apt/sources.list

Alter all entries to 'buster' or delete all entries and insert

1
2
deb http://deb.debian.org/debian bullseye main
deb http://deb.debian.org/debian bullseye contrib

Now stop mysql and cron

1
sudo systemctl stop mysql cron

Do the update to Debian 11

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get full-upgrade

Start the Services we stopped

1
sudo systemctl start mysql cron

Errors? Check Debian Website

Check the System and i-doit

Check your system and i-doit!

Free up some space again

1
2
sudo apt-get autoremove
sudo apt-get clean

Check your sources.list, for more Info see here

You are now at Debian 11 with PHP 7.4.30 and MariaDB 10.5.

Configure PHP 7.4#

Create PHP config file

1
sudo nano /etc/php/7.4/mods-available/i-doit.ini

insert

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
allow_url_fopen = Yes
file_uploads = On
magic_quotes_gpc = Off
max_execution_time = 300
max_file_uploads = 42
max_input_time = 60
max_input_vars = 10000
memory_limit = 256M
post_max_size = 128M
register_argc_argv = On
register_globals = Off
short_open_tag = On
upload_max_filesize = 128M
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
log_errors = On
default_charset = "UTF-8"
default_socket_timeout = 60
date.timezone = Europe/Berlin
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock

Activate changes

1
2
3
4
5
sudo a2dismod php7.3
sudo a2enmod php7.4
sudo phpenmod i-doit
sudo phpenmod memcached
sudo systemctl restart apache2.service

Possible error

(38)Function not implemented: AH00141: Could not initialize random number generator

If the apache2 is not restarting and you get the above error, restart the server.

i-doit should now display via Administration > [Tenant Name] management > System config check the new PHP Version 7.4.30

Updating 1.18 to 1.19#

First, we prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-1.19-update.zip

If you are asked, overwrite everything by typing A.

If you try the update without PHP 7.3 you will see this message:

Possible error

You have PHP 7.3.31. For updating i-doit to the next version you need at least PHP 7.4!

Now we open the Web Interface Updater and the Update to v1.19 is displayed and selected, do the update.

Updating 1.18 to 1.19

Check the System and i-doit

Updating 1.19 to 20#

First open the Web Interface Updater.
By clicking Check for a new version you can check whether a newer package is available. For this purpose, you require an internet connection.
If a new version is available the update package can be downloaded and extracted with a click on Download

If you're not connected to the internet, you can prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-20-update.zip

If you are asked, overwrite everything by typing A.

In the Web Interface check if the Update to Version 20 is displayed and selected, then do the update.

Updating 1.19 to 20

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred

Check the System and i-doit

Updating 20 to 29#

First, you need to prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-29-update.zip

If you are asked, overwrite everything by typing A.

In the Web Interface Updater check if the Update to Version 29 is displayed and selected, then do the update.

Updating 20 to 29

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred

Check the System and i-doit

Upgrade Debian 11 to 12#

Warning

Before you start, please ensure that you have a full Backup which you have tested restoring on a clean server in case something goes wrong, because there is no going back! Read the Update Instructions for Debian 11 to 12 here

I have a working full Backup

Free up some space with

1
2
sudo apt-get autoremove
sudo apt-get clean

Alter the sources.list with your favorite editor

1
sudo nano /etc/apt/sources.list

Alter all entries to 'bookworm' or delete all entries and insert

1
2
deb http://deb.debian.org/debian bookworm main
deb http://deb.debian.org/debian bookworm contrib

Now stop mysql and cron

1
sudo systemctl stop mysql cron

Do the update to Debian 12

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get full-upgrade

Start the Services we stopped

1
sudo systemctl start mysql cron

Errors? Read here

Check the System and i-doit

Check your system and i-doit!

Free up some space again

1
2
sudo apt-get autoremove
sudo apt-get clean

Check your sources.list, for more Info see here

You are now at Debian 12 with PHP 8.2.18 and MariaDB 10.11.

Configure PHP 8.2#

Create PHP config file

1
sudo nano /etc/php/8.2/mods-available/i-doit.ini

insert

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
allow_url_fopen = Yes
file_uploads = On
magic_quotes_gpc = Off
max_execution_time = 300
max_file_uploads = 42
max_input_time = 60
max_input_vars = 10000
memory_limit = 256M
post_max_size = 128M
register_argc_argv = On
register_globals = Off
short_open_tag = On
upload_max_filesize = 128M
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
log_errors = On
default_charset = "UTF-8"
default_socket_timeout = 60
date.timezone = Europe/Berlin
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock

Activate changes

1
2
3
4
5
sudo a2dismod php7.4
sudo a2enmod php8.2
sudo phpenmod i-doit
sudo phpenmod memcached
sudo systemctl restart apache2.service

If the apache2 is not restarting, restart the server.

i-doit should now display the new PHP Version 8.2.18 at Administration → [Tenant-Name] management → System Config Check.

MariaDB 10.11 Upgrade#

Now we need to check and update the tables to the last version using

1
sudo mariadb-upgrade -p

Enter your password and check if everything went well

Restart MariaDB afterwards

1
sudo systemctl start mysql.service

Updating 29 to 31#

First, you need to prepare the update via CLI by open the i-doit Folder at /var/www/html/ and unzip the idoit update package with

1
sudo -u www-data unzip idoit-31-update.zip

If you are asked, overwrite everything by typing A.

In the Web Interface Updater check if the Update to Version 31 is displayed and selected, then do the update.

Updating 29 to 31

Check the update Logs

Please take the time to Scroll down the logs and check if a error occurred

Check the System and i-doit

Sources#