System ist ein Windows 7 x64 auf dem der Webserver von Microsoft, der Internet Information Service, kurz IIS, mit PHP installiert werden soll. Nachfolgend eine Möglichkeit, bzw. wie es bei mir funktioniert hat:
1. Installation von PHP 5.5 von http://php.net . Achtung die Entwickler von Cacti empfehlen nicht PHP 5.6 zu verwenden, da es hier bekannte Probleme mit Cacti gibt. Für Windows mit IIS sind die None Thread Safe Binaries und Sourcen empfohlen: http://windows.php.net/download/
- ich lade die .zip zur Version 5.2.22 als x86 VC11 herunter: http://windows.php.net/downloads/releases/php-5.5.22-nts-Win32-VC11-x86.zip
- und extrahiere es in C:\php\
1.1 Konfiguration von PHP
Im PHP Verzeichnis liegen die Konfigurationsdateien „php.ini-development“ und „php.ini-production“. Ich will nur testen, benenne also die „php.ini-development“ in „php.ini“ um.
Nun erfolgt eine einfache, erste Konfigurtion in dem zuerst die php.ini in z.B. Notepad++ geöffnet wird und folgendes aktiviert bzw. geändert wird:
- cgi.fix_pathinfo=1
- fastcgi.impersonate = 1
- fastcgi.logging = 0
- cgi.force_redirect = 0
- extension_dir = „ext“
- doc_root = c:\Inetpub\wwwroot
- session.save_path = „c:\php\Session“ (Verzeichnis muss von Hand erstellt werden)
- error_log = C:\php\php_errors.txt oder error_log = syslog
- date.timezone = Europe/Berlin
- ; open_basedir = c:\inetpub\wwwroot\ <- deaktiviert oder Tools ins www Dir verlegen, ansonsten open_basedir restriction Fehler
Noch Extension aktivieren:
- extension=php_gd2.dll
- extension=php_mbstring.dll
- extension=php_mysql.dll
- extension=php_mysqli.dll
- extension=php_sockets.dll
Noch Ressourcen ändern:
- max_execution_time = 60
- max_input_time = 120
- memory_limit = 128M
Speichern und die php.ini zusätzlich in das c:\windows\ verzeichnis kopieren.
1.2 PHP Umgebungsvariable in Windows 7 setzen
Start -> rechte Maustaste auf Computer -> Eigenschaften
Nun unter Einstellungen für Computernamen, Domäne und Arbeitsgruppe, rechts auf Einstellungen ändern klicken
Im Reiter Erweitert unten auf den Button Umgebungsvariable klicken
Nun wird Unter Benutzervariable die Variable PHP mit dem Wert c:\php und unter Systemvariable die bestehende Path Variable um ;c:\php\; ergänzt
1. Installation Internet Information Service
Installation der WWW-Dienste und hier der .NET-Erweiterbarkeit und CGI Anwendungsentwicklungsfeatures
Nachdem die Installation beendet wurde, es ist keine Bestätigung zu sehen, kann geprüft werden ob der Aufruf der Willkommens Seite des IIS funktioniert. Hierfür einfach im Browser „localhost“ eingeben, wenn es funktioniert ist folgendes zu sehen:
Der Dokumentenpfad ist unter „C:\inetpub\wwwroot“
2.1 Internet Information Service – Standard Document index.php setzen
Host auswählen und im Abschnitt IIS auf Standarddokument doppel klicken.
Nun auf der rechten Seite unter Aktion Hinzufügen klicken und index.php als Standarddokument hinzufügen.
2.1 Internet Information Service IIS konfigurieren
Start-> inetmgr eingeben und ausführen, falls er fehlt liegt es an den nicht installierten Verwaltungstools für den IIS <- siehe Punkt1
Nun wird ein neues Modul in der Handlerzuordnung hinzugefügt. Hierfür links unter Verbindungen auf die auf den Hostnamen klicken, Ansicht unten sollte Features sein, dann Doppelklick auf Handlerzuordnung und rechts auf Modulzuordnung hinzufügen.
Hier wird nun der Anforderungspfad *.php, das Modul FastCgiModul, die Ausführbare Datei c:\php\php-cgi.exe und ein Name wie PHP FastCGI eingetragen. Danach noch unter Einschränkungen den Handler nur bei folgender Zuordnung aufrufen: Datei und Ordner
noch bestätigen
So sollte es dann fertig ausehen und PHP FastCGI ist für alle Webseiten aktiviert:
Nun noch den IIS neustarten. Entweder per Befehl iisreset oder über den Manager nach Auswahl des Hosts und rechts unter Aktion -> Neu starten
3. Testen von PHP im IIS
Hierfür in das Verzeichnis „c:\inetpub\wwwroot“ eine Datei wie „phpinfo.php“ erstellen und folgendes eintragen: <?php phpinfo(); ?> <- speichern und im Browser aufrufen „localhost/phpinfo.php“
4. Datenbank Oracle MySQL 5.6 installieren
Dies geht relativ schnell und einfach. Die Community Edition kann unter http://www.mysql.com/downloads/ herunter geladen werden. Der 32bit Installer der auch den x64 für Windows installiert ist hier zu finden: http://dev.mysql.com/downloads/windows/installer/ . Aktuell in Version 5.6.23.0 mit ca. 280Mb, eine Registrierung ist nicht notwendig, Link ist unten auf der Seite zu finden. Doppelklick auf die .msi startet die Installation. Nachfolgende Schritte im Schnelldurchlauf als Gallerie:
4.1 MySQL Datenbank cacti erstellen
Hierfür starte ich den mit installierte MySQL Command Line Client, der das zuvor festgelegte Passwort für root benötigt:
Anlegen der Datenbank mittels: mysql >create database cacti; -> Query Ok, 1 row affected (0.00 sec)
5. RRDTool unter Windows7 installieren
Cacti empfiehlt eine Version größer 1.2.15, da diese Cygwin nicht mehr benötigen. Download unter: http://oss.oetiker.ch/rrdtool/download.en.html Ich habe die Version 1.5.0-RC2 heruntergeladen und den Inhalt in c:\RRDTool entpackt.
Ich hatte jedoch Probleme, Kompilieren wollte ich nicht auch noch und so habe ich folgendes gemacht:
Download rrdtool-1.2.15-cygwin-1.5.20.zip -> Inhalt nach c:\rrdtool\
Download rrdtool-1.2.30-win32-perl510.zzip -> Inhalt nach c:\rrdtool\
Ich habe zusätzlich den IIS_IUSRS, also den für den IIS auf den c:\rrdtool Ordner mit Schreibrechten, berechtigt.
6. Net-SNMP unter Windows7 für Cacti installieren
Der Windowsdienst SNMP soll funktionieren – brauche ich jedoch vorerst nicht.
7. Cacti im IIS unter Windows7 installieren
Als nächstes lade ich die aktuelleste Version von Cacti 0.8.8c vom 23.11.2014 von http://www.cacti.net/downloads/cacti-0.8.8c.zip herunter und extrahiere es nach „C:\inetpub\wwwroot\cacti\“
Nun die Tabellenstruktur in die Datenbank importieren, der MySQL Command Line Client wird gestartet:
mysql>use database cacti;
mysql>source c:/inetpub/wwwroot/cacti/cacti.sql
Nun noch einen User „cactiuser“ für die Datenbank cacti mit dem Passwort cactiuser anlegen und ihm alle Rechte auf dieser geben. Achtung cactiuser ist Default und sollte auf jeden Fall geändert werden.
mysql>GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‚cactiuser‘;
mysql>Flush Privileges;
Kontrolle ob der Benutzer angelegt wurde:
mysql>Select user From mysql.user;
+———–+
| user |
+———–+
| cactiuser |
| root |
+———–+
2 rows in set (0.00 sec)
Kontrolle ob die Berechtigungen gesetz wurden:
mysql> show grants for cactiuser@localhost;
+——————————————————————————————————————+
| Grants for cactiuser@localhost
+——————————————————————————————————————+
| GRANT USAGE ON *.* TO ‚cactiuser’@’localhost‘ IDENTIFIED BY PASSWORD ‚xxxxx‘ |
| GRANT ALL PRIVILEGES ON `cacti`.* TO ‚cactiuser’@’localhost‘
+——————————————————————————————————————+
2 rows in set (0.00 sec)
Der Benutzer ist ebenso in der Konfiguration von Cacti hinterlegt und muss entsprechend angepasst werden, wenn ihr einen anderen als den Default cactiuser, verwendet. „C:\inetpub\wwwroot\cacti\include\config.php“ Hier auch die Default URL eintragen:
$url_path = „/cacti/“;
7.1 Cacti Installer unter Windows7 und IIS ausführen: im Browser: http://localhost/cacti/install/index.php
Hierfür die Schritte wie angezeigt durchlaufen. Es werden die erkannten Tools, RRDTool.exe,PHP.exe und der Cacti Log Pfad erkannt. Version hatte ich 1.2x gelassen.
8. Windows7 Aufgabenplanung für Cacti Poller
Windows -> Start -> Aufgabenplanung -> Aktionen -> Aufgabe erstellen
Nun wird ein Task für den Start des Cacti Poller angelegt. Name und Benutzer entsprechend den eigenen Anforderungen und mit höchsten Privilegien ausführen eintragen.
Reiter Trigger – hier den Zeitplan für die Ausführung des Poller ausfüllen. Ich habe täglich, jede Minute für die Dauer von einer Minute eingetragen.
Reiter Aktionen – hier wird der Programm start ausgewhält um dann im Anschluss als Skript „c:\php\php.exe“ mit dem Pfad zum Cacti Poller als Argument „c:\inetpub\wwwroot\cacti\poller.php“ und als Start „den Pfad zum Cacti Verzeichnis“c:\inetpub\wwwroot\cacti\“
Das wars. Alle Schritte waren erfolgreich, dauerten etwas, aber nun läuft auf meiner Windows 7 x64 Maschine der Internet Information Service mit PHP, MySQL, Cacti und dem RRDTool. Fragen Anregungen gerne an mich. Demnächst folgen dann Anleitungen zur Abfrage von Performancedaten und der Erstellung von Graphen 😉
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.