Server2Go

Teil 2: Portabler Apache: Lösung für webbasierte PHP-Anwendungen

  1. Portabler Apache: Lösung für webbasierte PHP-Anwendungen
  2. Teil 2: Portabler Apache: Lösung für webbasierte PHP-Anwendungen

Fallstricke

Einige Dinge müssen allerdings berücksichtigt werden, damit Webanwendungen auch von CD lauffähig sind. So lassen sich naturgemäß keine Daten auf CD zur Laufzeit der Anwendung verändern, erstellen oder löschen, was natürlich auch für Datenbankinhalte und Ausgaben des Apache-Webservers gilt. Server2Go bietet verschiedene Hilfestellungen, um dieses Problem zu umgehen. Ein schreibender Zugriff ist prinzipiell nur auf dem lokalen Rechner möglich, auf dem der Webserver gestartet wurde.

Portabler Apache

© Archiv

Katalog-CDs oder Firmenpräsentationen können mit Server2Go auf CD-ROM erstellt werden.

Aus diesem Grund wird beim Start des Servers ein temporäres Verzeichnis angelegt, dass dazu genutzt wird Operationen durchzuführen, die Schreibzugriffe benötigen.

Hier werden Log-Dateien, Session-Informationen und andere zwingend notwendige Dateien hinterlegt. Auf Wunsch wird dieses Verzeichnis von Server2Go beim Beenden der Anwendung auch wieder gelöscht. Da Datenbanken vom selben Problem betroffen sind, kann Server2Go so konfiguriert werden, dass die Datenbank beim Start der Anwendung auf die lokale Festplatte des Benutzers kopiert und von dort aus verwendet wird. Bei größeren Datenbanken, kann das Kopieren einige Zeit in Anspruch nehmen. Daher kann in der Konfiguration auch definiert werden, ob die Datenbank bei einem erneuten Starten der Anwendung überschrieben werden soll oder nicht.

Das kann dazu genutzt werden, um die Zeit zu sparen, die sonst notwendig wäre die Datenbank-Dateien jedes Mal von CD-ROM zu kopieren. Darüber hinaus können Sie damit aber auch Anwendungen entwickeln, die es erlauben, Daten persistent auf dem Benutzerrechner zu speichern. Diese Daten stehen bei einem erneuten Start der Anwendung wieder zur Verfügung. Einige Webanwendungen benötigen selbst dann schreibenden Zugriff auf die Datenbank, wenn eigentlich nur lesende Operationen durchgeführt werden.

So auch das Content-Management-System Joomla, das entsprechende Log-Einträge in die Datenbank schreibt. Ist dies der Fall, müssen die Datenbankdateien auf jeden Fall auf den lokalen Rechner kopiert werden. Da die Umgebung, in welcher der CD-ROM-Server gestartet wird, von Rechner zu Rechner unterschiedlich ist, stellt Server2Go der Webanwendung über die Environment-Variablen von PHP Informationen zur Verfügung, die von dieser genutzt werden können, um zur Laufzeit der Anwendung entsprechend auf die geänderten Gegebenheiten zu reagieren.

$_ENV['S2G_SERVER_SOFTWARE']: Hier ist die Versionsnummer der Serversoftware hinterlegt (beispielsweise Server2Go V.1.7.0) $_ENV['S2G_SERVER_APPROOT']: Der aktuelle Pfad der Server2Go-Software (zum Beispiel der Pfad auf CD-ROM) $_ENV['S2G_SERVER_DOCROOT']: Das Wurzelverzeichnis der Webanwendung (htdocs) als absoluter Pfad $_ENV['S2G_DB_PATH']: Der Pfad der Datenbank-Dateien. Dies kann entweder der Pfad auf CD-ROM sein oder der Datenbankpfad auf der lokalen Maschine, falls die Funktion MirrorDatabase in der Konfiguration aktiviert wurde $_ENV['S2G_TEMP_FOLDER']: Ab der Version 1.2.1 von Server2Go wird hier der absolute Pfad eingetragen, der für tempräre Dateien verwendet wird (siehe oben).

Mit diesen Informationen können Webanwendungen auch Dateien auf der lokalen Platte eines Benutzers ablegen oder Daten aus bestimmten Verzeichnissen nachladen. Die meisten Webanwendungen wie CMS, Galerie-Skripte und dergleichen benötigen diese Informationen, um korrekt arbeiten zu können. In diesem Fall müssen meist in einer Konfigurationsdatei verschiedene Pfade angegeben werden. Statt wie bisher gewohnt absolute Pfadangaben zu verwenden, wird einfach die entsprechende Environment-Variable eingesetzt.

<?php
// Aus
$application_root_path = 'C:\Server\htdocs\\';
// wird
$application_root_path = $_ENV['S2G_SERVER_DOCROOT'];
?>

Konfiguration

Server2Go konfiguriert zwar die Serverkomponenten automatisch, nichtsdestotrotz kann man über eine Konfigurationsdatei auf gewisse Parameter des Systems Einfluss nehmen. Alle Einstellungen sind in der Datei pms_config.ini untergebracht. Viele der Einstellungen sind selbsterklärend oder müssen selten geändert werden. Wir beschränken uns deshalb auf die Parameter, die am häufigsten geändert werden.

Portabler Apache

© Archiv

Die Konfiguration von Server2Go erfolgt über nur eine einzige Ini-Datei.

HostName: Hier kann der Hostname eingetragen werden, der in der Apache-Konfiguration und in der Browser-URL genutzt wird. Für den Einsatz auf CD-ROM machen hier nur drei Werte Sinn: 127.0.0.1 beziehungsweise localhost oder der Platzhalter {local_ip}, der von Server2Go automatisch mit der IP-Adresse des aktuellen Rechners ersetzt wird.Port: Wunsch-Port des Webservers. Der Standard ist 4001, damit sich Server2Go nicht mit anderen Webservern in Konflikt gerät. Ist dieser Port bereits belegt, ermittelt Server2Go automatisch einen freien Port.

BrowserType: Hier kann definiert werden, mit welchem Browser Server2Go starten soll. Der Wert NONE bewirkt, dass kein Browser gestartet wird.

BrowserPath: Wird als BrowserType EXTERNAL eingetragen, so kann hier der Pfad zu einem mitgelieferten Browser angegeben werden.

KeepRunningAfterBrowserClose: Normalerweise werden der Web- und Datenbank-Server beim Beenden der Anwendung (Browser) kontrolliert heruntergefahren. Wird dieser Parameter auf 1 gesetzt, läuft der Server trotz Anwendungsende weiter.

Viele Möglichkeiten

Sie sehen, wie einfach es ist, PHP-Anwendungen nicht nur im Internet, sondern auch auf CD-ROM zu betreiben. Dies eröffnet für viele Programme ganz neue Perspektiven. Letztendlich bleibt es Ihrem Einfallsreichtum überlassen, welche neuen Anwendungen Sie für diese Technik finden. Mit Server2Go steht eine ausgereifte WAMP-Plattform zur Verfügung, die alle wichtigen Funktionen bietet, die für die Verwendung einer Software auf CD oder als installierbares Produkt von Festplatte notwendig sind. Auch der Einsatz von Optimierern, Opcode-Caches oder Obfuscator-Erweiterungen wie Sourceguardian, APC oder Zend Optimizer sind kein Problem, sodass der Quellcode unter anderem auch verschlüsselt ausgeliefert werden kann. Natürlich ist das Serverpaket nicht auf den Einsatz von CD beschränkt, es kann somit auch als einfach zu installierende Test- und Entwicklungsplattform eingesetzt werden.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".