We are committed to provide service 24 X 7

Deals, Shopping, Training, Tools

Learn how to – Install i-doit Asset Management on Ubuntu 22.04|20.04|18.04

Learn how to – Install i-doit Asset Management on Ubuntu 22.04|20.04|18.04.

This guide will walk you through the steps to install i-doit Professional IT documentation and CMDB system on Ubuntu 22.04|20.04|18.04. i-doit offers you a professional IT-documentation solution based on ITIL guidelines. With this tool, you can easily document entire IT systems and their changes, define emergency plans, display vital information and ensure stable and efficient operation of IT networks.

Its technical IT-documentation enables you to create a detailed overview of the entire IT-infrastructure for all kinds of assets from the spatial situation, including graphical rack views, servers, and appliances to complex systems such as clusters, SAN, virtualization or blade/chassis systems.

i-doit system requirements

Below are the Minimum Requirements for installing i-doit Open Source CMDB on Ubuntu22.04|20.04|18.04 system.

  • 2 vCPUs
  • 2 GB RAM
  • 10 GB free disc space

We will do our installation on a dedicated Virtual Machine. On the software end, LAMP Stack is required. This LAMP stack comprises of the following packages.

  • Apache Web server 2.4
  • MariaDB 10.x or MySQL 5.6, 5.7+
  • PHP 5.6 (deprecated), 7.x
  • PHP extensions: bcmath, ctype, curl, fileinfo, gd, imagick, json, ldap, mbstring, memcached, mysqli, mysqlnd, pgsql, session, soap, xml, zip

The next steps will cover the complete procedure of installing i-doit Open Source CMDB on Ubuntu 22.04|20.04|18.04.

Step 1: Install Apache and PHP on Ubuntu

Install Apache web server and required PHP extensions.

sudo apt update
sudo apt -y install apache2 libapache2-mod-php
sudo apt -y install php-{bcmath,cli,common,curl,gd,json,ldap,mbstring,mysql,pgsql,soap,xml,zip,imagick,memcached}
sudo apt -y install memcached unzip moreutils

Create new PHP configuration file for i-doit.

Ubuntu 22.04:

sudo tee /etc/php/8.1/mods-available/i-doit.ini<<EOF
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 = Africa/Nairobi
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock
EOF

Ubuntu 20.04:

sudo tee /etc/php/7.4/mods-available/i-doit.ini<<EOF
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 = Africa/Nairobi
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock
EOF

Ubuntu 18.04:

sudo tee /etc/php/7.2/mods-available/i-doit.ini<<EOF
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 = Africa/Nairobi
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock
EOF

The value (in seconds) of session.gc_maxlifetime should be the same or greater than the Session Timeout in the system settings of i-doit.

The date.timezone parameter should be adjusted to the local time zone (see List of supported time zones).

Afterwards, the required PHP modules are activated and the Apache web server is restarted:

sudo phpenmod i-doit
sudo phpenmod memcached
sudo systemctl restart apache2.service

Step 2: Install MariaDB Database Server

A database server is an essential dependency. Use our guide below to install and configure MariaDB on Ubuntu22.04|20.04|18.04.

sudo apt install unzip mariadb-server

Tune your MariaDB server for optimal performance.

sudo tee /etc/mysql/mariadb.conf.d/99-i-doit.cnf<<EOF
[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 harddisks
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 = ""
EOF

When done, restart mariadb service.

sudo systemctl restart mariadb

Confirm the DB service is in a running state:

$ systemctl status mariadb
 mariadb.service - MariaDB 10.3.22 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-05-05 08:16:35 UTC; 32s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 29530 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 29540 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 29542 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl s>
    Process: 29696 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 29698 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 29665 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2344)
     Memory: 129.4M
     CGroup: /system.slice/mariadb.service
             └─29665 /usr/sbin/mysqld

May 05 08:16:34 ubuntu20 systemd[1]: Stopped MariaDB 10.3.22 database server.
May 05 08:16:34 ubuntu20 systemd[1]: Starting MariaDB 10.3.22 database server...
May 05 08:16:35 ubuntu20 mysqld[29665]: 2020-05-05  8:16:35 0 [Note] /usr/sbin/mysqld (mysqld 10.3.22-MariaDB-1ubuntu1) starting as process 29665 ...
May 05 08:16:35 ubuntu20 /etc/mysql/debian-start[29700]: Upgrading MySQL tables if necessary.
May 05 08:16:35 ubuntu20 systemd[1]: Started MariaDB 10.3.22 database server.
May 05 08:16:35 ubuntu20 /etc/mysql/debian-start[29703]: Looking for 'mysql' as: /usr/bin/mysql
May 05 08:16:35 ubuntu20 /etc/mysql/debian-start[29703]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck

Step 3: Download i-doit on Ubuntu 22.04|20.04|18.04

We need to download and extract the open source version of i-doit.

export LATEST="1.17.1"
wget https://sourceforge.net/projects/i-doit/files/i-doit/$LATEST/idoit-open-$LATEST.zip
sudo unzip idoit-open-$LATEST.zip -d /var/www/html/i-doit

Set permissions for the created directory to apache user.

cd /var/www/html/i-doit
sudo chown www-data:www-data -R .
sudo find . -type d -name * -exec chmod 775 {} ;
sudo find . -type f -exec chmod 664 {} ;
sudo chmod 774 controller *.sh setup/*.sh

Create Apache configuration file for i-doit.

sudo tee /etc/apache2/sites-available/i-doit.conf<<EOF
<VirtualHost *:80>
        ServerAdmin admin@example.com
 
        DirectoryIndex index.php
        DocumentRoot /var/www/html/
        <Directory /var/www/html/>
                AllowOverride All
                Require all granted
        </Directory>
 
        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF

You can open and edit the file to tune it further:

sudo vim /etc/apache2/sites-available/i-doit.conf

Enable site and rewrite module.

sudo chown www-data:www-data -R /var/www/html/
sudo chmod   755 /var/log/apache2
sudo chmod -R 664 /var/log/apache2/*
sudo a2ensite i-doit
sudo a2enmod rewrite
sudo systemctl restart apache2.service

Step 4: Run i-doit Setup on Ubuntu 22.04|20.04|18.04

We are close to the end of our setup. Launch the Web GUI setup by opening server URL, example, http://idoit.example.com/i-doit/.

All system checks should show a pass.

Directory Configuration

Here the paths are requested where the installation files or user specific files are going to be stored. You can accept the suggested options.

Database Configuration

Important credentials and settings need to be entered for the database connection. At least two databases and one special user are created for i-doit.

  • Connection settings
    • Host: Generally the host itself, so localhost or 127.0.0.1
    • Port: Generally the default port of MySQL/MariaDB, so 3306
    • Username: User name of the database system user, usually root
    • Password: Password of the user
  • MySQL user settings
    • Username: User name of the i-doit databases owner, usually idoit
    • Password: Password of the user
  • Database settings
    • System Database Name: Name of the system database, usually idoit_system
    • Mandator Database Name: Name of the database for the first tenant, usually idoit_data
    • Mandator title: Title of the tenant, usually the name of the organization that is focused on
    • Start value for object/configuration item IDs: Normally 1

Framework Configuration

There are separate credentials in i-doit to access the i-doit Admin Center. They can be specified here and we recommend using this option.

Config Check

In this step, all prior steps are reviewed and checked to see if the setup can take place.

Installation

The installation of i-doit on the system is carried out in this step.

Login as user admin and password admin set.

You now have i-doit Open Source CMDB installed on Ubuntu22.04|20.04|18.04.

Further steps

Refer to i-doit Documentation for advanced configurations and usage.

Similar guides:

Cart

Your Cart is Empty

Back To Shop