DE:Systemkonfiguration

From i-doit documentation

Jump to: navigation, search
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.

E-Mail

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
Personal tools