In diesem Artikel zeige ich euch, wie man i-doit unter Ubuntu 16.04 Xenial Xerus richtig installiert. Voraussetzung dafür ist eine Ubuntu Xenial Xerus Installation.
Hierbei sei erwähnt, dass i-doit zur Zeit nur für Ubuntu 14.04 freigegeben ist. Dies liegt u.A. daran, dass in der neuen Version als Standard php7 verwendet wird.
Schritt 1: System updaten
Bevor wir mit der Installation beginnen, bringen wir das System auf einen aktuellen Stand.
1 2 | apt-get update apt-get dist-upgrade |
Schritt 2: Paket Installation
Zuerst installieren wir ein paar Pakete für Apache 2 und php.
1 | sudo apt install apache2 libapache2-mod-php php php-cli php-common php-curl php-gd php-json php-ldap php-mcrypt php-mysqlnd unzip |
Jetzt noch eine Datenbank.
1 | sudo apt install mysql-server mysql-client |
Während der Installation muss ein root Passwort gesetzt werden. Dieses sollten wir nicht verlieren.
Bevor wir uns als nächstes die php Einstellungen anschauen, aktivieren mir noch php mcrypt.
1 | sudo php5enmod mcrypt && sudo service apache2 restart |
Schritt 3: php Einstellungen
Wir legen nun eine php Konfigurationsdatei für i-doit an. (/etc/php5/mods-available/i-doit.ini). Diese wird mit den folgenden Inhalt befüllt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | allow_url_fopen = Yesfile_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 ;; Wert (in Sekunden) sollte größer gleich dem Session Timeout in den Systemeinstellungen von i-doit sein: session.gc_maxlifetime = 604800 session.cookie_lifetime = 0 |
Die Konfiguration laden wir nun im Apache2.
1 2 3 | sudo php5enmod i-doit sudo service apache2 restart sudo ln -s /etc/php5/mods-available/i-doit.ini /etc/php5/conf.d/ |
Schritt 4: php Caching (optional)
Ich installiere nun noch ein Caching für php. Dies ist aber nicht notwendig, um i-doit zum Laufen zu bekommen.
1 2 | sudo apt install php5-memcache memcached sudo php5enmod memcache |
Schritt 5: Apache2 Konfiguration
Für i-doit legen wir nun einen eigenen vhost an. Dafür wird als erste eine Datei unter /etc/apache2/conf-available/idoit.conf angelegt. Diese bekommt jetzt den folgenden Inhalt:
1 2 3 4 5 6 7 8 9 10 11 | ServerAdmin i-doit@example.net DocumentRoot /var/www/html/ AllowOverride All # Siehe .htaccess im Installationsverzeichnis von i-doit Require all granted LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined |
(An den Anfang des CodesBlocks gehört noch ein und an das Ende . Das wird aus irgendeinem Grund nicht angezeigt =)
Diesen vhost müssen wir jetzt noch im Apache2 laden.
1 2 3 | sudo a2enconf i-doit sudo a2enmod rewrite sudo service apache2 restart |
Schritt 6: Konfiguration MySQL
Auch für MySQL legen wir uns eine eigene Konfigurationsdatei an. Diese liegt unter /etc/mysql/conf.d/i-doit.cnf und enthält:
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 | [mysqld] innodb_buffer_pool_size = 6G #Typical values are 1G (1-2GB RAM), 5-6G (8GB RAM), 20-25G (32GB RAM), 100-120G (128GB RAM). innodb_buffer_pool_instances = 1 # use multiple instances if you have # innodb_buffer_pool_size > 10G, 1 every 4GB # Redo log file size, the higher the better. # MySQL 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 = 16M 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 if you have only one to two CPU cores ( = 0), change it to 4 for a Quad Core. innodb_thread_concurrency = 0 # disable this if you have slow harddisks ( = 0) 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 #table_open_cache_instances = 4 # Only if your have MySQL 5.6 or higher, do not use with MariaDB! sql-mode = "" |
Anschließend muss der MySQL Dienst einmal neugestartet werden.
1 | sudo service mysql restart |
Schritt 7: i-doit Installationspaket
Um die Ressourcen für die Installation zu erhalten, braucht man einen Account bei i-doit.
Habt ihr diese könnt ihr eine .zip Datei herunterladen und auf den Server verschieben. Dies getan werden die Daten in das richtige Verzeichnis geschoben
1 2 3 4 5 | sudo mkdir /var/www/html/i-doit sudo cp /pfad/zu/i-doit.zip /var/www/html/i-doit/ cd /var/www/html/i-doit/ unzip i-doit.zip rm i-doit.zip |
Nun passen wir noch die Rechte an.
1 2 3 4 5 | 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 tenants import updatecheck *.sh |
Jetzt kann es mit der Installation im Frontend weitergehen. Diesen sollte nun im Browser aufgerufen werden. (Beispiel http://i-doit-host/i-doit/)
Im ersten Fenster das sich öffnet, wird geprüft ob alle Module und Konfigurationen für i-doit zur Verfügung stehen. Wenn hier alles grün ist, kann auf Next geklickt werden.
Wir werden nun nach den Upload Verzeichnissen gefragt. Ich lasse diese auf Standard.
Jetzt müssen wir den Zugang für die Datenbank hinterlegen. Die notwendigen Datenbanken und Tabellen werden automatisch angelegt.
i-doit bietet noch ein extra Admin Center, in dem zum Beispiel Module aktiviert werden und Lizenzen eingespielt. Für dieses müssen wir nun einen Usernamen und ein Passwort festlegen.
Bevor die eigentliche Installation nun startet, wird noch einmal eine Übersicht über alle Einstellungen gegeben.
Die eigentliche Installation kann dann einige Minuten dauern.
Dann kommt ein Login Fenster. Damit ist die Installation abgeschlossen.
Quellen:
https://i-doit.atlassian.net/wiki/display/KB/Systemeinstellungen
https://i-doit.atlassian.net/wiki/display/KB/Ubuntu+Linux
Hallo Christian,
vielen Dank für den Artikel! Zwei Dinge als Ergänzung:
Zum Einen wäre es schön, wenn du noch auf die Quellen verlinkst, woher du die Befehle und Einstellungen her hast, nämlich Artikel aus der i-doit Knowledge Base:
https://i-doit.atlassian.net/wiki/display/KB/Systemeinstellungen
https://i-doit.atlassian.net/wiki/display/KB/Ubuntu+Linux
Zum Anderen schreibst du über Ubuntu 16.04 LTS, das laut Knowledge Base derzeit nicht unterstützt wird, siehe: https://i-doit.atlassian.net/wiki/display/KB/Systemvoraussetzungen
Der Grund: Ubuntu 16.04 LTS enthält in den Standard-Quellen PHP 7. Die Installation von i-doit unter PHP 7 wird vom Hersteller synetics derzeit nicht empfohlen. Es können diverse Fehler auftreten, die im schlimmsten Fall zu Datenverlusten führen können. Für eine CMDB/IT-Dokumentation sicherlich ein No-Go ;-)
Viel Spaß und Erfolg weiterhin mit i-doit!
Viele Grüße aus Düsseldorf
Ben
Hallo Ben,
Ich habe was du angesprochen hast geändert =)
Entschuldige bitte das ich hier vergessen habe die Quellen aufzuführen.
Gruß
Christian