DE:Systemkonfiguration
From i-doit documentation
| i-doit Benutzerhandbuch 0.9.x: |
Hauptseite | Vorwort | Über dieses Handbuch | Release Notes | Nützliche Links | Installation | Systemkonfiguration | Grundlagen | Empfehlungen zum Vorgehen | Das CMDB-Modul | Allgemeine Kategorien | Spezifische Kategorien | Browser | Objekttypen | Verbindungen | Dateien | Lizenzen | Workflows | my-doit | Kontakte | Einstellungen | Nagios Integration | Report Manager | OCS Inventory NG |
Contents |
Einleitung
i-doit, dessen Komponenten und Module wurden in PHP entwickelt und sind somit an eine entsprechend vorbereitete Umgebung gebunden. Für einen fehlerfreien Betrieb müssen die im folgenden beschriebenen Parameter und Einstellungen vorhanden sein.
Nach erfolgreicher Installation sollten folgende Parameter vorhanden sein:
Windows
Apache (C:\Programme\Apache Software Foundation\Apache2.2\conf\httpd.conf):
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
<Directory C:/Programme/Apache Software Foundation/Apache2.2/htdocs/i-doit>
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
Änderungen an der Apache-Konfiguration sind erst nach einem Neustart des Webservers aktiv.
Linux
Apache (/etc/apache2/apache2.conf):
<Directory /var/www/i-doit/> Options None AllowOverride AuthConfig Order allow,deny allow from all </Directory>
Optionale Konfiguration als VirtualHost (/etc/apache2/sites-enabled/i-doit):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/i-doit
Alias /i-doit "/var/www/i-doit"
<Directory /var/www/i-doit>
Options None
Allowoverride AuthConfig
Order allow,deny
Allow from all
</Directory>
ServerName idoit
LogLevel warn
CustomLog /var/log/apache2/i-doit.log combined
</VirtualHost>
MySQL (Standardpfad Linux: /etc/mysql/my.cnf, Windows: ...)
Aktivierung der InnoDB Unterstützung durch Auskommentieren der skip-innodb Anweisung:
[mysqld] #skip-innodb
PHP
Empfohlene Einstellungen (Ausschnitt aus php.ini):
short_open_tag = Off output_buffering = Off memory_limit = 32M max_execution_time = 60 max_input_time = 60 display_errors = On display_startup_errors = Off register_argc_argv = On register_globals = Off register_long_arrays = On post_max_size = 32M file_uploads = On upload_max_filesize = 32M
Extensions Windows:
extension=php_mysql.dll extension=php_ldap.dll extension=php_xmlrpc.dll extension=php_gd2.dll extension=php_soap.dll
Extensions Linux:
extension=php_mysql.so extension=php_ldap.so extension=php_xmlrpc.so extension=php_gd2.so extension=php_soap.so
Bei manchen Installationen muss die MySQL Library von C:/Programme/PHP/libmysql.dll in das bin Verzeichnis des Apaches (C:/Programme/Apache Software Foundation/Apache2.2/bin) kopiert werden - ansonsten streikt die PHP Extension: php_mysql.
Nach erfolgreicher Installation und Konfiguration können Web- und MySQL-Server (neu)-gestartet und die automatische i-doit Installation unter http://i-doit-server-ip/i-doit/ ausgeführt werden.
Für eine saubere E-Mail Unterstützung empfehlen wir ihren lokalen SMTP-Server zu verwenden. Dazu müssen die entsprechenden Daten in der config.inc.php im i-doit Root unter src/ eingegeben werden.
Beispiel: src/config.inc.php
/**
* @desc Mail configuration
*
* smtp-host: Your smtp hostname
* port: The port of your smtp server
* from: E-Mail address of the sender
* name: Name of the sender
* sub-prefix: Subject prefix of all messages
*
*/
$g_mail = array (
"smtp-host" => "mail.i-doit.org",
"port" => 25,
"from" => "system@i-doit",
"name" => "i-doit",
"sub-prefix" => "[i-doit] ");
Handler
Um automatisierte Abläufe zu steuern, gibt es in i-doit die so genannten [Handler]-Klassen, welche über die Commandline Umgebung von PHP gestartet werden. Dazu benötigen Sie unter Windows eine php.exe und unter Linux das php-cli interface. Unter Linux startet man die Handler über das mitgelieferte script "controller" im i-doit Hauptverzeichnis. Unter Windows muss die controller.php mit der PHP Umgebung aufgerufen werden.
Um eine Liste der vorhandenen Handler zu erhalten, startet man den controller ohne weitere Parameter:
Linux:
cd /var/www/i-doit ./controller
Windows:
cd C:\Programme\i-doit\htdocs\ C:\Programme\PHP5\bin\php.exe controller.php
Folgende Parameter sind zur Übergabe möglich:
Auszug "usage"
i-doit 0.9.7 cl-controller Usage: controller.php [OPTION] Beispiel: controller.php -m workflow Optionen: -m HANDLER HANDLER laden. -h Dieser Hilfetext -u user Login User (i-doit) -p pass Login Pass (i-doit) -i m-id Mandanten ID -v Verbose modus -d Alle debug Meldungen anzeigen [HANDLER] kann für einen dieser momentan installierten Handler stehen: archivelog, ldap, licence, maintenance, mandator, nagios, category, syslog, workflow
Manche handler müssen und können sich automatisiert einloggen, um bestimmte aktionen in i-doit auszuführen. Um die nötigen Berechtigungen zu gewährleisten, ist es erforderlich die entsprechenden Login Informationen zu konfigurieren, oder über die Parameter zu übergeben. Automatisch geschieht dies über die so genannten Handler configs. Sie liegen im Verzeichnis src/handler/config und heissen "handlerklasse.inc.php". Beispiele solcher Handlerconfigs befinden sich im Verzeichnis src/handler/config/examples. Manuelle Logins finden über die Parameter -u -p und -i statt.
Im folgenden Beispiel wird eine automatisierte Steuerung der Workflows erklärt
Cron (am Beispiel: Workflow Management)
Handler Konfiguration anpassen:
1. Konfigurationsbeispiel von src/handler/config/examples/isys_handler_workflow.inc.php nach src/handler/config kopieren. 2. Datei editieren, so dass die Konfiguration einen Login fähigen Admin Benutzer für den entsprechenden i-doit Mandanten enthält:
define("C__HANDLER__WORKFLOW", 1);
$g_userconf = array(
"user" => "admin",
"pass" => "admin",
"mandator_id" => 1
);
3. Das Handler Modul kann nun testweise aus dem i-doit Root ausgeführt werden (Pfade entsprechend anpassen):
Unix:
./controller -v -m workflow
Windows:
C:\Programme\PHP\php.exe "C:/Programme/Apache Software Foundation/Apache2.2/htdocs/i-doit/controller.php" -m workflow
Um automatische Workflow Benachrichtigungen und eine automatisierte Generierung der Checklisten Tasks zu ermöglichen, ist ein Eintrag im crontab nötig.
Konfiguration Linux
>> chmod +x /var/www/i-doit/controller >> cp /var/www/i-doit/cron/crontab /etc/cron.d/i-doit >> mkdir /var/log/i-doit >> vi /etc/cron.d/i-doit
Das i-doit crontab sollte die folgende Zeile enthalten:
0,10,20,30,40,50 * * * * /var/www/i-doit/crontroller -v -m workflow > /var/log/i-doit/cron-workflows
Bei Verwendung eines anderen i-doit Verzeichnisses muss der i-doit Pfad ebenfalls in der Datei ./i-doit-root/controller angeglichen werden.
Note: Der PHP-Client Interpreter (php-cli) ist hierfür erforderlich
Konfiguration Windows
Ein Windows-äquivalent zum crond liegt unter cron/ im i-doit Verzeinis. Dieser Dienst lässt sich über folgende Befehle in der Windows Eingabeaufforderung installieren.
>> c: >> "C:\Programme\Apache Software Foundation\Apache2.2\htdocs\i-doit\cron\crons.exe /install"
Die crontab-Datei unter c:\windows\system32 sollte folgende Zeile enthalten:
0,10,20,30,40,50 * * * * C:\Programme\PHP\php.exe "C:/Programme/Apache Software Foundation/Apache2.2/htdocs/i-doit/controller.php" -m workflow