Freitag, 9. März 2012

Lazy man's way to track user logon/logoff

I always like to find easy ways to do things. Mick recently shared in the public newsgroup how he maintains a log file of user's logons and logoffs.

Step 1: Create the following two files using Notepad or your favorite text editor:

------logon.cmd----
echo logon %username% %computername% %date% %time% >> \\sbs\share\logon.log

-----logoff.cmd-----
echo logoff %username% %computername% %date% %time% >> \\sbs\share\logon.log

Step 2: Update Group Policy to run the appropriate batch file. In Group Policy, go to:
User Configuration-> Windows Settings-> Scripts (Logon/Logoff)-> Logon

Step 3: As users log on and off, your log file should look something like this:

logon June VSXP Tue 22/02/2005 10:39:51.12
logoff June VSXP Tue 22/02/2005 10:41:08.45
logon MickM VSXP Tue 22/02/2005 10:42:01.07
logoff MickM VSXP Tue 22/02/2005 10:42:46.81

Sonntag, 4. März 2012

So installieren Sie PHP 5 auf einem IIS Webserver (Kurzanleitung)

Weblication® Konfigurationshilfe bzw. Kurzanleitung für PHP 5 auf einem IIS Webserver

1. Installieren Sie die aktuelle PHP 5 Version, die Sie über PHP.NET
herunterladen können (siehe weiterführende Links).
Empfehlung: PHP ISAPI (z.B. wegen Performance besser als CGI Version)

2. Erweitern Sie die Windows Pfadvariable um den Pfad zu Ihrem PHP

Verzeichnis.

3. Kopieren Sie den folgenden Quelltext über einen Texteditor, (z. B. Notepad) in

eine Datei (z. B. root.php) im PHP Verzeichnis.

//php 5
$pathInfo = $_SERVER["ORIG_PATH_INFO"];
$pathTranslated = $_SERVER["ORIG_PATH_TRANSLATED"];
$pathInfo = preg_replace("/\//", "\/", $pathInfo);
$pathTranslated = str_replace("\\", "/", $pathTranslated);
$_SERVER["DOCUMENT_ROOT"] = preg_replace("/$pathInfo/i", "", $pathTranslated);
?>


4. Ergänzen bzw. ändern Sie in der PHP.INI die folgenden Einträge. Wenn diese bereits vorhanden sind, ändern Sie die Einträge entsprechend ab. Ändern Sie den Pfad der root.php gegebenenfalls auf Ihre

Umgebung ab.

Meist ist es erforderlich, auch die Angaben zum upload_tmp_dir und session.save_path abzuändern, da diese nach einer Installation unverständlicherweise auf die Pfadangaben des aktuellen Windows-Benutzers gesetzt werden. Die Verzeichnisse, die Sie hier angeben, müssen bestehen, bzw. neu angelegt werden (Pfade auf Ihre Umgebung anpassen).

extension_dir = "./ext"

auto_prepend_file = c:\php\root.php
auto_append_file =

; evtl. Pfadanpassungen wie oben beschrieben, z.B.:
upload_tmp_dir="E:\PHP\uploadtemp"
session.save_path="E:\PHP\sessiontemp"

(Name und Pfad zur "root.php" sind frei wählbar!)

5. Aktivieren Sie die gewünschten PHP Erweiterungen in der PHP Konfiguration (php.ini),

z. B.:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension_dir="E:\PHP\ext"

6. Starten Sie den IIS Webserver neu!
Hinweis zur Installation von PHP 5.2.6
Die PHP Version 5.2.3 für Windows enthält sowohl in der gezippten, als auch in der Installer Version fehlerhafte DLLs, die dazu führen, dass PHP Aufrufe mit einer weißen Seite beantwortet werden. Der Fehler tritt unabhängig davon auf, ob die DLLs in der PHP.INI freigeschaltet sind oder nicht.

Um diesen Fehler zu vermeiden, installieren Sie PHP zunächst mit allen DLLs. Verschieben Sie aber anschließend alle DLLs aus dem Ordner ~/ext (z.B. C:\PHP\ext) in einen temporären Ordner, um anschließend nur die DLLS wieder zurückzulegen, die Sie tatsächlich benötigen. Schalten Sie diese in der PHP.INI frei.

Die Beispielkonfiguration geht derzeit von folgenden DLLs im ext-Verzeichnis aus, die auch über die php.ini aktiviert sind:
php_curl.dll
php_gd2.dll
php_mysql.dll
php_xsl.dll

Nach jeder Änderung in der PHP.INI muss der Webserver neu gestartet werden!