avianex / Allgemein / ionCube Loader auf 1&1 Managed Server installieren

ionCube Loader auf 1&1 Managed Server installieren

Die Vorzüge eines günstigen Managed Servers bezahlt man naturgemäß mit Unflexibilität in Bezug auf individuelle Konfiguration der Serverdienste. Wie sich dennoch die für viele Applikationen wichtigen Module Zend Optimizer bzw. ionCube Loader installieren lassen, zeige ich nachfolgend am Beispiel eines 1&1 Homepage Servers.

Ein Managed Server kombiniert die Leistungsfähigkeit eines eigenen Servers mit professioneller Wartung und 24/7-Überwachung durch einen externen Dienstleister. Sofern man sich nicht für einen Premiumserver mit ggf. individuellem Ansprechpartner entschieden hat, ist der Preis dafür im Normalfall Unflexibilität in Bezug auf die individuelle Konfiguration des Servers.
Dennoch sind für einige kommerzielle Applikationen Module notwendig, die so nicht in der Server-Standardkonfiguration des Providers enthalten sind. Im konkreten Fall benötigte ich zur Ausführung einer kommerziellen Applikation das Modul ionCube Loader zusammen mit dem Zend Add-On Zend Optimizer. Im Falle des Zend Optimizers werden beispielsweise mit Zend Guard geschützte PHP-Applikationen ausführbar gemacht. Zend Guard schützt Anwendungen vor Verfälschung, nicht autorisierter Modifizierung, nicht lizenzierter Nutzung und Weiterverbreitung. Zusätzlich optimiert das Modul die Ausführungsgeschwindigkeit von PHP-Applikationen.

Beide Extensions müssen normalerweise auf dem Server installiert und in der php.ini entsprechend aktiviert werden. Auf einem 1&1 Managed Server hat man jedoch keine Root-Rechte, daher fällt eine eigene Installation aus. Zudem kann man aus dem gleichen Grund auch nicht auf die globale php.ini zugreifen. Es gibt dennoch eine Methode beide Dienste zu installieren.

So funktioniert´s:

Zend Optimizer Paket besorgen

Zunächst organisiert man sich auf der Zend Website das aktuelle Zend Optimizer Paket: http://www.zend.com/en/products/guard/zend-optimizer-zend-loader
Hier ist eine kostenlose Registrierung erforderlich. Wichtig ist darauf zu achten die richtige Distribution zu wählen, zur Zeit ist es bei 1&1 die 32Bit Variante (ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz).

Extension installieren

Das Paket jetzt auf dem Desktop entpacken (z.B. mit WinRAR) und im Verzeichnis /data das Verzeichnis mit der richtigen „ZendOptimizer.so“ wählen. Die Verzeichnisse sind nach PHP-Versionen sortiert. Wenn Sie nicht wissen welche PHP-Version auf dem Server installiert ist, können wir das mit einem einfachen Trick herausfinden. Dazu legt man auf dem Server ein neues Verzeichnis an und erstellt darin eine php-Datei „info.php“ mit folgendem Inhalt:

phpinfo(); 

Jetzt im Browser diese Datei z.B. via „http://xxx.xxx.xx.xx/verzeichnis/info.php“ aufrufen.

Es erscheint eine Liste mit der aktuellen Serverkonfiguration und ganz oben sollte die aktuelle PHP-Version stehen, bei 1&1 derzeit bei der Verwendung von PHP5 „PHP Version 5.2.6“.

Mit diesen Erkenntnissen wählen wir also die Datei „ZendOptimizer.so“ aus dem Verzeichnis „5_2_x_comp“ und kopieren sie auf den Server in ein weiteres, neues Verzeichnis, z.B. in /zend.

Um jetzt das Modul zu aktivieren, muss man eine eigene php.ini schreiben und zwar mit folgendem Inhalt:

zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so

Das Verzeichnis muss den absoluten Serverpfad zum Extension-File enthalten. Das Verzeichnis ist Serverindividuell, kann aber z.B. in der Shell durch Eingabe von „pwd“ angezeigt werden.

Diese php.ini Datei muss jetzt in das Verzeichnis kopiert werden, in dem die ZendOptimizer Funktionalität bestehen soll.

Im Prinzip ist damit der Zend Optimizer installiert, aber ich will wie gesagt noch den ionCube Loader dazu haben.

Zur Installation des ionCube Loader Paketes ist ein ähnliches Vorgehen notwendig.

ionCube Loader Paket besorgen

Die aktuelle Version erhalten wir auf der ionCube-Website: http://www.ioncube.com/loaders.php. Hier wieder darauf achten, die richtige Versionn zu wählen, d.h. im Moment „Linux (x86)“.

Man erhält nach Download das File „ioncube_loaders_lin_x86.tar.gz“, welches wieder z.B. mit WinRAR entpackt werden muss. Darin finden sich verschiedene Versionen.

Extension installieren

Auch hier können wir mit einem einfach Trick herausfinden welches die richtige ist. Dazu einfach die im Archiv enthaltene Datei „ioncube-loader-helper.php“ in das oben für die info.php Datei erstellte Verzeichnis kopieren.

Jetzt das File aufrufen z.B. mit

http://xxx.xxx.xx.xx/verzeichnis/ioncube-loader-helper.php

Dort lesen wir den den Satz „If you have permission to edit the php.ini configuration file for this server, please follow the php.ini installation instructions“.

Mit Klick auf den Link, erhält man unter „Required Loader“ die Version, die der Server benötigt. Diese Datei entpacken wir jetzt und kopieren sie wieder auf den Server, z.B. in das Verzeichnis /zend, in das wir schon die „ZendOptimizer.so“ kopiert haben. Gleichzeitig entnehmen wir dem Helper-File eine Zeile die jetzt wieder in die eigene php.ini übernommen werden muss, um das ionCube Modul zu aktivieren. Die neue, ergänze php.ini sollte jetzt also so aussehen:

zend_extension =/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ioncube_loader_lin_5.2.so
zend_optimizer.optimization_level=15
zend_extension=/kunden/homepages/x/dxxxxxxxxx/htdocs/zend/ZendOptimizer.so

Wichtig ist hier, dass die ionCube-Extension vor(!) den anderen beiden Einträgen erscheint.
Jetzt die php.ini wieder in das Verzeichnis schieben, indem die Funktionalität bestehen soll. That´s it! 😉

Funktion prüfen

Wenn wir jetzt eine info.php in das Projektverzeichnis mit der php.ini legen und entsprechend aufrufen, sollten die Erweiterungen als installiert erscheinen.

kommentieren