Kurzanleitung für die Installation eines TYPO3 Webservers mittels openSUSE 10.x oder 11.x

Dieses Tutorial für die Installation eines TYPO3 Webservers ist eine Kurzanleitung, alle Eventualitäten können NICHT abgedeckt werden. Hauptziel dieser Dokumentation ist es, die oft wenig bis gar nicht dokumentierten Softwarepakete, welche für einen gut funktionierenden TYPO3 Server unabdingbar sind und nicht mit einem openSUSE System ausgeliefert werden zu erklären, und zum Download anzubieten.

Insbesondere das Paket catdoc zeichnet sich dadurch aus, dass eine lauffähige Version im Internet nicht leicht auffindbar ist! Zumindest seit einiger Zeit ist die offizielle Webseite des Autors (die unter www.45.free.net/ ~vitus/ice/catdoc/ gehostet wurde) leider nicht mehr erreichbar.

Wie aber eine Recherche ergeben hat, ist Vitus (der Autor von catdoc) übersiedelt:

http://ftp.wagner.pp.ru/~vitus/software/catdoc/

Wir hoffen, dass durch diesen Link die Seite auch mit dem Suchbegriff catdoc bei Google auffindbar wird!

Einleitung - Allgemeine Voraussetzungen & Erklärungen

Diese Kurzanleitung orientiert sich an einem openSUSE 10.2 Server mit 4 GB Arbeitsspeicher.

Auf die Vor- und Nachteile der Partitionierung, und insbesondere auf die Grundinstallation von openSUSE im minimalen Textmodus wird hier genauso wenig eingegangen, wie auf die Benutzung der Linux Konsole (bash bei uns) oder ähnliches! Diese Anleitung ist nicht für Linux Dummies gedacht, sondern für den interessierten Linux Administrator, der sich mit TYPO3 Hosting noch nicht so gut auskennt!

 

Die Angaben für die Vergabe von Arbeitsspeicher, insbesondere für PHP, MySQL und eAccelerator, entsprechen unseren eigenen Erfahrungswerten. Wir übernehmen keinerlei Gewähr für die Richtigkeit und Vollständigkeit aller Angaben! Diese Zahlen sind immer auch abhängig von Ihrer Hardware und der allgemeinen Systemkonfiguration!

Pakete, Downloads & Lizenzen

In der rechten Spalte finden Sie eine Informationsbox mit allen relevanten Downloads. Da jede Linux Distribution andere Softwarepakete von Haus aus mitliefert, kann es natürlich sein, daß Sie weitere Pakete benötigen. Selbst verschiedene Versionen einer einzigen Distribution weisen hier oft Unterschiede auf!

Falls Sie also beispielsweise die beliebte und nach wie vor verbreitete openSUSE Version 9.3 oder sogar eine andere Distribution wie beispielsweise Debian (auch sehr beliebt), Fedora, Mandriva (ehemals Mandrake) oder gar Ubuntu / KUbuntu verwenden, kann diese Anleitung maximal als Leitfaden verwendet werden, besser wäre es allerdings, eine für diese Distributionen geschriebene Anleitung zu suchen (Google makes it!).

 

Sämtliche Downloads wurden entweder nach der beliebten GNU/GPL oder einer ähnlichen Lizenz lizenziert.

Bitte beachten Sie dazu die jeweiligen Lizenzbestimmungen, die den Paketen beiligen!

Der Ausgangspunkt - Ein openSUSE 10.2 System mit minimaler Textmodus-Installation

Den Ausgangspunkt bildet ein frisch installiertes openSUSE 10.2 Gerät. Bei der Installation wurde der 'Textmodus' gewählt, dadurch ist gewährleistet, dass wir möglichst wenig Ballast in Form von Softwarepaketen, die wir auf einem Webserver nicht brauchen, mit installieren.

Das System hat von Haus aus alle Softwarepakete und Konfigurationen für einen Netzwerkbetrieb im Runlevel 3 (init 3), aber nicht mehr! Also kein Apache Webserver, keine MySQL Datenbank, geschweige denn PHP oder ähnliches.

 

Leider fehlen auch ein paar feine Konsolentools die wir gerne verwenden, wie zum Beispiel den Editor "joe" oder den Dateimanager "mc", auch bekannt in der graphischen Version als "Midnight Commander", das Linux Pendant zum Norton Commander, bzw. dessen Nachfolger (nicht tatsächlich, fühlt sich aber so an ;) ) Total Commander.

Nachinstallation einiger allgemeiner Softwarepakete

Daher unser Vorschlag, als Erstes installieren wir via YAST2 (oder falls Sie z.B. Debian verwenden mittels apt-get) nach, was wir zum vernünftigen Arbeiten in der Konsole so brauchen:

  • joe
  • mc

 

Leider haben wir auch noch keinerlei Compiler und sonstige Tools um Softwarepakete aus deren Quellcode zu erstellen. Für verschiedene Pakete sind auch unterschiedliche Werkzeuge notwendig. Wir installieren hier lieber oft mehr als unbedingt nötig, da wir der Auffassung sind, dass es angenehm ist im Laufenden Betrieb im Notfall die notwendigen Compiler gleich zur Hand zu haben, als diese erst mühsam nachinstallieren zu müssen. Daher unser folgender Vorschlag für die Fraktion 'Compiler, Interpreter & Libraries':

  • gcc
  • gcc-c++
  • gcc-gij
  • gcc-java
  • gcc41
  • gcc41-c++
  • gcc41-gij
  • gcc41-java
  • libgcc41
  • libgcj41
  • make
  • cmake
  • automake
  • autoconf
  • libtool

Softwarepakete für den Webserver Betrieb

Für den eigentlichen Betrieb eines Webservers sind nun weitere Pakete notwendig:

  • Apache 2
  • MySQL 5
  • PHP5 (genaue Informationen zu den PHP5 Modulen finden Sie im Abschnitt PHP5 Konfigurieren)
  • Perl

 

Natürlich müssen Sie, je nachdem welche weiteren Applikationen Sie auf dem Webserver betreiben wollen, auch die entsprechenden Softwarepakete nachinstallieren. So benötigen Sie möglicherweise Python, oder auch Tomcat (für den Betrieb von Java Servlets).

Spezielle Software für TYPO3 Webserver

Um den vollen Funktionsumfang von TYPO3 und einiger Standard Extensions zu unterstützen benötigen Sie noch eine kleine Anzahl von Programmen, die teilweise leider nicht mit openSUSE 10.x ausgeliefert werden.

 

Hier eine Liste der wichtigsten Pakete. Prüfen sie mit der Suche im YAST, ob vielleicht einige der Programme bei Ihrer Distribution/Version mitgeliefert wurden. Den Rest müssen Sie händisch nachinstallieren. Die Anleitungen zum händischen Installieren der einzelnen Pakete aus dem Quellcode finden Sie weiter unten!

 

  • htmldoc (in openSUSE 10.1 noch dabei, in 10.2 leider nicht in 10.3 aber wieder an Bord, sowie auch in Version 11.0); Verantwortlich für die Erzeugung von pdf Dokumenten 'on-the-fly'. Achtung: Derzeit NICHT utf-8 fähig!
  • catdoc (in den openSUSE 9.x Versionen noch mit dabei, im 10.x Branch leider nicht und auch nicht in 11.0); Verantwortlich für die Extraktion von Plaintext aus Word-Dokumenten (indizierte Suche).
  • ImageMagick/GraphicsMagick (beinahe jede Distribution/Version liefert zumindest eines von beiden mit); Verantworlich für Bildoperationen (Skalierung, Kombinierung etc.)
  • Freetype (auch in beinahe jeder Distribution/Version enthalten); Verantwortlich für das Rendern von Grafiken mit Text, unter zu Hilfenahme von ttf Dateien
  • xlhtml (unseres Wissens zumindest bei Fedora Core 2 - 4 enthalten, in den openSUSE 10.1 und 10.2 Versionen leider nicht, in 10.3 und 11.0 wieder an Bord!); Verantwortlich für die Extraktion von Text aus Excel-Dateien (indizierte Suche).
  • ppthtml - Wird mit xlhtml installiert; Verantwortlich für die Extraktion von Text aus PowerPoint-Dateien (indizierte Suche).
  • unrtf ist ein Kommandozeilenprogramm um den Inhalt von Dateien im Rich Text Format in diverse andere Formate umzuwandeln. Benötigt wird auch dieses Programm von der TYPO3 Extension "Indexed Search".
  • unzip ist in openSUSE 10.1, 10.2, 10.3 und 11.0 enthalten (und vermutlich auch in beinahe jeder anderen Distribution) und wird von der indizierten Suche (TYPO3 Extension) benötigt um Inhalte in komprimierten Dateien zu indizieren. Suchen Sie einfach im YAST in der Software Installation nach 'zip'. Sie können dann auch gleich ein paar andere Komprimierungsprogramme installieren, unser Vorschlag wäre: bzip2, gzip (sollte von Haus aus installiert sein), unzip und zip. Auch das Paket php5-zip ist sicher sinnvoll, falls Sie es noch nicht installiert haben!
  • pdftotext wird mit openSUSE 10.1, 10.2, 10.3 und 11.0 ausgeliefert. Installieren Sie einfach das Paket xpdf mittels YAST nach, und lassen Sie natürlich die Abhängigkeiten auflösen.
  • pdfinfo ist ebenfalls im Paket xpdf enthalten. Sowohl pdftotext als auch pdfinfo sind für die indizierte Suche wichtig, um Inhalte von PDF Dokumenten indizieren zu können!

PHP5 Pakete - Weniger ist mehr!

Bei den PHP5 Paketen gilt es, eine Balance zwischen Komfort und Notwendigkeit einerseits und Sicherheit und Schlankheit andererseits zu finden. Schließlich ist jedes Programm und jedes Modul auf Ihrem Webserver ein potentieller Angriffspunkt. Und dies gilt besonders für PHP wie auch Perl, Python und ähnliche.

Hier ein Vorschlag, der uns zumindest für TYPO3 und häufig genutzte TYPO3 Extensions ausreichend erscheint, und auch einige andere beliebte OpenSource Webapplikation abdecken dürfte (alle verfügbaren PHP Module Ihrer Distribution können Sie am besten im YAST mit der Suche nach 'php' einsehen):

 

  • apache2-mod-php5
  • php5
  • php5-bcmath
  • php5-bz2
  • php5-ctype
  • php5-curl (benötigen Sie nur in Verbindung mit SSL)
  • php5-devel (benötigt für phpize, welches wiederum für die Kompilierung von eAccelerator benötigt wird)
  • php5-dom
  • php5-exif
  • php5-gd
  • php5-gettext
  • php5-iconv
  • php5_ldap (benötigen Sie nur, falls Sie ldap Authentifizierung am TYPO3 Backend oder Frontend benutzen!)
  • php5-mbstring
  • php5-mcrypt
  • php5-mhash
  • php-mysql
  • php5-openssl (für SSL benötigt)
  • php5-pspell (für die Wörterbuch Unterstützung in Rich Text Editoren)
  • php5-xmlrpc
  • php5-xsl
  • php5-zip
  • php5-zlib

catdoc - Indizierte Suche auch in Ihren Office Dokumenten

Catdoc ist ein Konsolenprogramm, mit dem sich die Inhalte von Dokumenten der Formate .doc, .ppt und .xls extrahieren lassen.

Im Zusammenhang mit TYPO3 wird das hauptsächlich für die indizierte Suche benötigt. Falls Sie also keine Volltextsuchen in besonderen Dokumenten realisieren möchten, können Sie auf catdoc theoretisch verzichten!

 

Grundsätzlich beinhaltet catdoc in der neuesten Version die eben beschriebenen Funktionen, leider verwendet die TYPO3 Extension 'Indexed Search' nur die Komponente um Word-Dokumente zu indizieren, für andere Formate werden aus historischen Gründen auch andere Konsolen-Programme zum Einsatz gebracht. Als Beispiel sind hier 'xlhtml' und 'ppthtml' zu nennen.

 

Die neueste Version von catdoc finden Sie in der rechten Spalte im Bereich 'Downloads'.

ACHTUNG: Nicht alle im Netz gefundenen Versionen lassen sich auch tatsächlich kompilieren bzw. installieren.

Unsere Version haben wir von der catdoc Webseite heruntergeladen, und diese Version ist auf openSUSE 10.2 sowohl kompilierbar als auch anschließend installierbar!

 

Dazu gehen Sie vor wie folgt:

  1. Laden Sie das tar.gz File auf Ihren Server
  2. Entpacken Sie die Datei mit dem Programm tar (siehe auch Archive und Komprimierung)
  3. Wechseln Sie in das Verzeichnis (wenn Sie die Version von unserer Webseite benutzen sollte dies 'catdoc-0.94.2' sein) von catdoc.
  4. Führen Sie die Konfiguration des Quellcodes mit folgendem Befehl aus: ./configure --disable-wordview
  5. Nun können Sie mittels make die Binärdateien erstellen lassen (auch bekannt als 'kompilieren')
  6. Falls sowohl die Konfiguration als auch die Kompilierung erfolgreich verlaufen sind, können Sie nun das Programm mit make install installieren.

 

Bitte beachten Sie: Bei der Konfiguration können Sie als Wert für den Parameter --prefix= den Pfad (vom Wurzelverzeichnis '/' ausgehend!) an, unter dem Sie catdoc installieren möchten. Der standardmäßig voreingestellte Pfad ist /usr/local/. Am Besten Sie lassen diesen Pfad unberührt. Ansonsten können Sie natürlich je nach Distribution einen eigenen Pfad angeben. Auf einem openSUSE 10.2 Server ist dies allerdings nicht notwendig!

Falls Sie sich nicht sicher sind, wohin Sie catdoc installiert haben, führen Sie in der Shell (mit root-Rechten) folgenden Befehl aus: find -name catdoc

xlhtml - Extraktion von Inhalten aus .xls (Excel) und .ppt (PowerPoint) Dateien

Das xlhtml Paket auf auf dieser Seite ist die offiziell neueste Version, unseres Wissens nach. Dabei kommt xlhtml auch gleich mit ppthtml einher. Sie installieren also gleich zwei Programme mit einem Arbeitsschritt.

xlhtml und ppthtml sind beide für die indizierte Suche in den Dateiformaten für Excel und PowerPoint zuständig.

Dieses Paket kann in openSUSE 10.3 und 11.0 einfach über YAST installiert werden! Falls Sie allerdings openSUSE 10.2 installiert haben, gehen Sie nach untenstehender Anleitung vor!

 

Und so gehen Sie bei der Installation vor:

  1. Laden Sie das Paket xlhtml-0.5.tar.gz auf Ihren Server
  2. Entpacken Sie das Paket und wechseln Sie in das Verzeichnis xlhtml-0.5
  3. Führen Sie ./configure aus; Falls Sie hier eine Fehlermeldung bekommen, haben Sie höchstwahrscheinlich 'automake' und 'autoconf' nicht installiert. Diese können Sie über den YAST (oder apt-get, wie oben bereits beschrieben) nachinstallieren. Anschließend sollten Sie ./configure nochmals ausführen!
  4. Falls ./configure fehlerfrei durchlaufen wurde, können Sie nun make ausführen! Hier kommt es höchstwahrscheinlich zur Fehlermeldung 'cole/Makefile.am: required file `./depcomp' not found'. Diese Fehlermeldung können Sie mit folgenden Kommandos beheben: aclocal; autoconf; automake --add-missing
  5. Falls nun alles fehlerfrei durchlaufen wurde können Sie mit make die Binärdateien erstellen lassen, und diese anschließend wie bei catdoc weiter oben mittels make install unter /usr/local/bin/ installieren lassen.

unrtf - Rich Text Inhalte extrahieren

Unrtf ist ebenfalls ein Kommandozeilenprogramm, das Dokumente im Rich Text Format umwandeln kann in etliche andere Formate, darunter auch HTML und PlainText.

Unrtf wird ebenfalls für die TYPO3 Extension "Indexed Search" benötigt, um auch Inhalte in RTF Dokumenten indizieren zu können.

 

Die Installation ist denkbar einfach:

  1. Laden Sie die Datei unrtf-0.20.4.tar.gz oder die neuere Version unrtf-0.21.0.tar.gz auf Ihren Server und entpacken Sie sie dort mittels tar.
  2. Wechseln Sie in das soeben entpackte Verzeichnis.
  3. Wenn Sie alle vorhergehenden Schritte auf dieser Seite befolgt haben, sollten Sie alle Werkzeuge zur Kompilierung und Installation von unrtf zur Verfügung haben. Also führen Sie als erstes ./configure aus.
  4. Nun können Sie mit make die Binärdateien erstellen lassen, und mit make install ins entsprechend Verzeichnis installieren. Wenn Sie keine besonderen Parameter bei ./configure angegeben haben, sollte dies auf einem openSUSE 10.2, 10.3 oder 11.0 System ebenfalls wieder /usr/local/bin sein.

htmldoc - PDF Dokumente 'on-the-fly' aus Ihren Webseiten erstellen

Zur Zeit unterstützt htmldoc leider KEIN UFT-8. Daher ist dieses Paket auch nicht mehr unbedingt sinnvoll. Der Vollständigkeit halber kann man das Paket aber trotzdem installieren. Schließlich wird ja auch noch nicht jede Webseite mit dem UTF-8 Charset ausgegeben.

Mit TYPO3 Version 4.5.0 ist allerdings geplant, die Standard Einstellungen bei der Installation auf UTF-8 zu setzen.

 

Angenehmer Weise ist htmldoc auf einem openSuSE 11.0 System via YAST installierbar, da im Repository wieder vorhanden!

 

Als weiteren Punkt sollte man beachten, dass dieses Softwarepaket bei Verwendung der TYPO3-Extension pdf_generator2 ohnehin obsolet ist, da in dieser Version bereits die html2pdf Klasse zum Einsatz kommt! Diese Klasse, quasi ein 100% PHP-basierter PDF-Renderer, kommt gänzlich ohne zusätzliche Werkzeuge aus!

Einer der Vorteile an pdf_generator2 ist, dass wir damit die UTF-8 Unterstützung zurück bekommen, und obendrein werden HTML-Templates und in erstaunlichem Umfang auch CSS-Anweisungen unterstützt!

Somit können Sie für die PDF-Version und die Druck-Version nahzu die gleichen Vorlagen verwenden!

eAccelerator - PHP beschleunigen

Ein absolutes MUSS ist der eAccelerator, in früheren Versionen auch bekannt als TurckMMCache. Über bestimmte Caching Funktionen werden PHP Skripten in kompilierter (oder besser eigentlich interpretierter) und optimierter Form abgelegt. TYPO3 Server können so um den Faktor 3-5 beschleunigt werden. Laut eAccelerator Webseite kann eine bis zu 10fache Beschleunigung von PHP Skripten erreicht werden.

Der eAccelerator ist somit eine OpenSource Alternative zum Zend Optimizer.

 

Die von uns hier zum Download angebotene Version ist die Version 0.9.5.2. Theoretisch sollte diese Version sowohl PHP4 als auch PHP5 unterstützen, wir verwenden diese Version allerdings ausschließlich mit PHP5!

 

UPDATE: Die neuere Version des eAccelerators (0.9.5.3) enthält eine Fehlerkorrektur. Wir empfehlen Ihnen die neueste Version zu verwenden.

 

UPDATE: Mit TYPO3 Version 4.3 muss der eaccelerator gegebenenfalls neu kompiliert werden. Es sollte vor der Kompilierung unbedingt der Parameter --with-eaccelerator-doc-comment-inclusion mit angegeben werden! Das entsprechende Kommando wurde unten ebenfalls bereits aktualisiert.
ACHTUNG: Vergessen Sie bei einer erneuten Kompilierung nicht, dass Sie vor dem 'make' Befehl ein 'make clean' absetzen sollten!

 

UPDATE: Offensichtlich kommt es mit der neuesten Version des eaccelerators (Version 0.9.6) im Zusammenspiel mit open_basedir_restrictions in PHP 5.2.x zu einem Problem. Es wird die Fehlermeldung 'PHP Fatal error:  Can’t load *, open_basedir restriction. in Unknown on line 0.' ausgegeben.

Dieser Fehler kann behoben werden, indem man bei der Konfiguration des eaccelerators (vor dem Kompilieren) den Parameter '--without-eaccelerator-use-inode' anhängt!

Demzufolge lautet unserer Meinung nach der beste Konfigurationsbefehl:

./configure --with-eaccelerator-doc-comment-inclusion --without-eaccelerator-use-inode --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

 

 

ACHTUNG: Um den eAccelerator kompilieren zu können, benötigen Sie das PHP Modul 'phpize' welches mit dem Paket 'php5_devel' installiert wird. Das Paket php5_devel können Sie mittels YAST nachinstallieren! Selbiges gilt auch für PHP4! Außerdem sollte das Programm 'libtool' installiert sein welches ebenfalls benötigt wird!

 

Und so gehen Sie vor um eAccelerator zu installieren:

  1. Laden Sie die komprimierte eAccelerator Datei auf Ihren Server. Die Datei beinhaltet den Quellcode von eAccelerator! Der Einfachheit halber haben wir das Original, welches als tar.bz2 verfügbar ist in ein tar.gz 'umgepackt'.
  2. Entpacken Sie die Datei wie gewohnt mit dem Programm tar und wechseln Sie in das soeben entpackte Verzeichnis.
  3. Als nächstes müssen Sie folgenden Befehl ausführen: export PHP_PREFIX="/usr", wobei das Prefix natürlich nur gilt, wenn Sie PHP tatsächlich unter /usr installiert haben, was aber standardmäßig der Fall sein sollte.
  4. Nach einem fehlerfreien Durchlaufen des Exports müssen Sie folgenden Befehl ausführen: $PHP_PREFIX/bin/phpize. Zu diesem Zweck benötigen Sie auch das Programm phpize.
  5. Anschließend führen Sie folgende Befehlsfolge aus: ./configure --with-eaccelerator-doc-comment-inclusion --without-eaccelerator-use-inode --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
  6. Falls auch hierbei keinerlei Fehler auftreten, können Sie nun wie gewohnt mit make und make install diese PHP Extension installieren!

 

Sie haben den eAccelerator also erfolgreich installiert. Merken Sie sich die Ausgabe von "make install", denn dies gibt an, unter welchem Pfad Sie den eAccelerator installiert haben. Auf einem Standard openSUSE 10.2 System mit PHP5 sollte das /usr/lib/php5/extensions/ sein!

Auf 64bit Systemen mit openSUSE 64bit kann das auch /usr/lib64/php5/extensions/ sein!

 

Der eAccelerator macht bis jetzt allerdings noch gar nichts. Sie müssen erst PHP5 so konfigurieren, dass der eAccelerator als Extension eingebunden wird. Dazu müssen wir zuerst ein Verzeichnis für das Caching auf die Festplatte anlegen, und anschließend noch einige Zeilen in der Datei php.ini hinzufügen!

Je nach Partitionierung und Konfiguration Ihres Gesamtsystems können Sie den Ordner für das Caching entweder unter /tmp oder unter /var/cache anlegen. Wir legen den Ordner auf einem openSUSE System unter /var/cache  mit md eaccelerator an. Die Rechte sollten Sie so abändern: chmod 0777 eaccelerator.

 

Nun folgt die Konfiguration von PHP5 zur Verwendung des eAccelerators. Dazu suchen Sie bitte die für Ihr System relevante php.ini Datei. Auf einem Standard openSUSE 10.2 oder 10.3 System sollte diese Datei in /etc/php5/apache2 liegen.

Öffnen Sie die Datei php.ini mit einem Editor Ihrer Wahl. Wir bevorzugen in diesem Fall den Editor joe, aus zwei Gründen:

  1. joe legt automatisch eine Backup Datei an, die durch eine abschließende Tilde gekennzeichnet ist (php.ini~). Falls also bei der Konfiguration etwas schief läuft, haben wir immer noch eine funktionierende PHP Konfiguration in peto.
  2. Über einen Shell Client wie zum Beispiel putty können wir mit einem rechten Mausklick Text aus der Zwischenablage hineinkopieren, was bei dem von mc mitgebrachten Editor nicht möglich ist.


Sie haben also die Datei php.ini geöffnet. Suchen Sie die Stelle, an der Ihre Extensions konfiguriert werden. Falls Sie die Stelle nicht finden können Sie auch einfach an das Ende der Datei gehen.

 

Dort schreiben Sie folgende Zeilen:

extension="eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="60"
eaccelerator.shm_prune_period="60"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys="shm_and_disk"
eaccelerator.sessions="shm_and_disk"
eaccelerator.content="shm_and_disk"

 

Sie müssen selbstverständlich einige Werte an Ihre Bedürfnisse anpassen: shm_size ist die Größe des Shared Memories, das dem eAccelerator zugewiesen wird. Das cache_dir sollten Sie natürlich auch an Ihr Verzeichnis anpassen, und der Wert von debug kann in der Testphase ohne weiteres auf 1 gesetzt werden, Sie sollten nur nicht vergessen den Wert später im Produktiveinsatz unbedingt auf 0 zu setzen! Ansonsten werden Ihre Logfiles relativ schnell eine unangenehme Größe erreichen!!

 

UPDATE: In einigen Versionen des eaccelerators (0.9.5.x und 0.9.6) kommt es offensichtlich zu Problemen mit dem Disk-Cache in Verbindung mit sogenannten 'soft-restarts' oder 'soft-resets' des Apache Webservers.

So konnten wir auf einem frischen openSUSE 11.0 64bit mit PHP 5.2.x und eaccelerator 0.9.6 feststellen, dass nach einem Softresest des Webservers PHP-Skripte nur mehr als 'Download' ausgeliefert werden. Anderen Berichten zufolge kam es in verschiedenen 0.9.5.x Versionen zu Segmentation faults im Apache bei besagten Softresets.

Ein manuelles Leeren des eaccelerator Cache-Verzeichnisses und ein anschließender Hardreset ("rcapache2 restart" in unserem Fall) des Apache löst das Problem, allerdings nur bis zum nächsten Soft-Reset.
Man kann das Problem umgehen indem man den Festplattencache des eaccelerators deaktiviert mittels der Einstellung eaccelerator.shm_only="1", obwohl das auf lange Sicht auch eine wenig befriedigende Lösung darstellt!

 

UPDATE 27.04.2010

Offensichtlich kommt es mit der neuesten Version des eaccelerators (Version 0.9.6) im Zusammenspiel mit open_basedir_restrictions in PHP 5.2.x zu einem Problem. Es wird die Fehlermeldung 'PHP Fatal error:  Can’t load *, open_basedir restriction. in Unknown on line 0.' ausgegeben.

Dieser Fehler kann behoben werden, indem man bei der Konfiguration des eaccelerators (vor dem Kompilieren) den Parameter '--without-eaccelerator-use-inode' anhängt!

Demzufolge lautet unserer Meinung nach der derzeit beste Konfigurationsbefehl:

./configure --with-eaccelerator-doc-comment-inclusion --without-eaccelerator-use-inode --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

UPDATE 28.10.2009

ACHTUNG beim eAccelerator!

Wenn Sie TYPO3 Extensions verwenden, die extbase als Grundlage verwenden, dann müssen Sie eAccelerator mit der option --with-eaccelerator-doc-comment-inclusion kompilieren!

Falls Sie den eAccelerator bereits installiert haben, und Sie ihn mit der option für doc-comments erneut installieren müssen, dann vergessen Sie nicht den alten eAccelerator Cache zu leeren (typischerweise in /tmp/eaccelerator)! Andernfalls werden Ihre Seiten nicht erreichbar sein!

 
 
 
 
 

Sehr geehrter Besucher! Leider verwenden Sie einen veralteten Browser. Sie können einen sehr guten, sicheren, stabilen und zeitgemässen Browser kostenlos unter dem folgenden Link herunterladen: Firefox Browser auf www.mozilla.org Dieser Browser ist erhältlich für: Windows, MacOS (Apple), iPhone, Android und Linux.