Installation des The eZ Publish CMS auf einem Ubuntu 7.10 Server

Version 1.0
Author: Falko Timme


eZ Publish ist eines der bekanntesten und weit verbreitesten Web Content Management Systeme. Da dessen Setup nicht ganz alltäglich ist, veranschaulicht diese Anleitung wie man es auf einem Ubuntu 7.10 (Gutsy Gibbon) Server installiert.

Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

1 Vorbemerkung

Mein Ubuntu 7.10 Server hat in dieser Anleitung den Hostnamen server1.example.com und die IP Adresse 192.168.0.100. Ich verwende Ubuntus Standard Apache Dokumenten-Root /var/www hier - falls Du einen vhost mit einem anderen Dokumenten-Root eingerichtet hast, musst Du die Pfade an entsprechender Stelle anpassen.

Die Voraussetzungen für eine eZ Publish Installation sind hier aufgelistet; ich werde zeigen, wie man diese Voraussetzungen erfüllt und eZ Publish letztlich installiert.

Vergewissere Dich, dass Du als Rootanwender angemeldet bist (gib ein

sudo su

um Rootanwender zu werden), da wir alle Schritte dieser Anleitung als Rootanwender ausführen müssen.

2 Installation von MySQL 5.0

Um MySQL 5.0 zu installieren, führen wir einfach Folgendes aus:

apt-get install mysql-server mysql-client

Du wirst aufgefordert ein Passwort für den MySQL Rootbenutzer anzulegen - dieses Passwort sowie für den Benutzer root@localhost als auch für root@server1.example.com gülitg, wir müssen also später kein MySQL Root Passwort manuell einrichten (wie es der Fall bei vorherigen Ubuntu Versionen war):

New password for the MySQL "root" user: <-- yourrootsqlpassword


3 Installation von Apache2

eZ Publish funktioniert mit Apache 1.3 und Apache 2. Wenn wir Apache 2 verwenden, müssen wir den prefork variant wie folgt installieren:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert


4 Installation von PHP5

eZ Publish hängt von einer Vielzahl PHP Erweiterungen/Funktionen ab (siehe requirements page), z.B. MySQL, zlib, DOM, Session Support, PCRE Support, GD2 Support, CLI Support, mbstring, exif, curl, etc. die wir wie folgt installieren können:

apt-get install libapache2-mod-php5 php5 php5-common php5-gd php5-curl php5-dev php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-cli imagemagick

Folgende Frage wird Dir gestellt:

Continue installing libc-client without Maildir support? <-- Yes

Jetzt müssen wir einige Apache Module aktivieren (SSL, rewrite, suexec und include):

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Lade die Apache Konfiguration neu:

/etc/init.d/apache2 force-reload

Öffne nun die php.ini...

vi /etc/php5/apache2/php.ini

... und stelle sicher, dass PHP genug Speicherplatz hat um eZ Publish ausführen zu können. Es werden mindestens 64MB (je mehr umso besser) benötigt, also solltest Du etwas in der Art in Deiner php.ini haben:
[...]
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB) [...]
Wir müssen in der gleichen Datei die richtige Zeitzone für den Server definieren (hier findest Du eine Liste aller Zeitzonen: http://de3.php.net/timezones), z.B. wie folgt:
[...]
[Date] ; Defines the default timezone used by the date functions date.timezone = Europe/Berlin [...]
Danach starten wir Apache neu:

/etc/init.d/apache2 restart

Erstelle als Nächstes folgende Datei...

vi /var/www/info.php


<?php
phpinfo(); ?>
... und rufe sie in einem Browser auf (z.B. http://192.168.0.100/info.php). In der Ausgabe solltest Du nun alle benötigten PHP Erweiterunen finden:













5 Installation von eZ Components

eZ Components ist eine PHP Komponenten-Bibliothek, die eZ Publish benötigt. Wir können sie wie folgt installieren:

pear channel-discover components.ez.no

pear install -a ezc/eZComponents


6 MySQL vorbereiten

Nun erstellen wir eine Datenbank für eZ Publish (wir nennen die Datenbank ezpublish) und einen Datenbankbenutzer (den wir ebenfalls ezpublish nennen). Melde Dich zunächst in MySQL an:

mysql --host=localhost --port=3306 -u root -p

Führe in der MySQL Kommandozeile folgende Befehle aus:

CREATE DATABASE ezpublish CHARACTER SET utf8;
GRANT ALL ON ezpublish.* TO ezpublish@localhost IDENTIFIED BY 'ezpublishsqlpassword';
FLUSH PRIVILEGES;

Pass auf, dass Du ezpublishsqlpassword mit einem Passwort Deiner Wahl ersetzt.

Gib dann dies ein

quit

um die MySQL Kommandozeile zu verlassen.

7 Installation von eZ Publish

Als Nächstes laden wir eZ Publish von http://ez.no/content/download runter, z.B. wie folgt:

cd /tmp
wget http://ez.no/content/download/218812/1467959/file/ezpublish-4.0.0-gpl.tar.gz

Dann dekomprimieren wir eZ Publish:

tar zxvf ezpublish-4.0.0-gpl.tar.gz -C /var/www

Dies erstellt das Verzeichnis ezpublish-4.0.0 in /var/www, was wir zu ezpublish umbenennen:

mv /var/www/ezpublish-4.0.0 /var/www/ezpublish

(Wenn Du eZ Publish nicht in einem Unterverzeichnis von /var/www verwenden möchtest, kannst Du die Inhalte vom ezpublish Verzeichnis nach /var/www kopieren:

cd /var/www/ezpublish
cp -pfr * ../
cd ../
rm -fr ezpublish

)

Jetzt können wir eZ Publishs web-basierten Installer ausführen. Rufe http://192.168.0.100/ezpublish/ in einem Browser auf und der Installer erscheint.

Wähle die Sprache für die Installation aus:


Auf der zweiten Seite überprüft der Installer Dein System. Falls der Installer meint, Du müsstest ein paar Änderungen vornehmen, solltest Du diese in der Kommandozeile ausführen:


Ich musste zum Beispiel folgende Änderungen vornehmen:

cd /var/www/ezpublish
chmod -R ug+rwx design extension settings settings/override settings/siteaccess settings/siteaccess/admin var var/cache var/storage
chown -R www-data:www-data design extension settings settings/override settings/siteaccess settings/siteaccess/admin var var/cache var/storage

cd /var/www/ezpublish
mkdir -p var/cache/codepages
var/cache/content
var/cache/ini
var/cache/override
var/cache/template
var/cache/template/process
var/cache/template/tree
var/cache/texttoimage
var/cache/translation
var/log
var/storage/original
var/storage/reference
var/storage/variations

Lade die Seite in Deinem Browser neu. In meinem Fall wurde mir mitgeteilt auch diese Befehle auszuführen:

cd /var/www/ezpublish
chmod -R ug+rwx var/cache/codepages var/cache/content var/cache/ini var/cache/override var/cache/template var/cache/template/process var/cache/template/tree var/cache/texttoimage var/cache/translation var/log var/storage/original var/storage/reference var/storage/variations
chown -R www-data:www-data var/cache/codepages var/cache/content var/cache/ini var/cache/override var/cache/template var/cache/template/process var/cache/template/tree var/cache/texttoimage var/cache/translation var/log var/storage/original var/storage/reference var/storage/variations

Lade die Seite neu bis alles in Ordnung ist und klicke dann auf Next >.

Auf der nächsten Seite musst Du die Methode angeben, wie Du Mails senden möchtest. Wenn Du Postfix, Sendmail, Exim, oder andere MTA installiert hast, kannst Du die erste Option verwenden, bestimme ansonsten einen Mail Server, der verwendet werden kann, um Mails zu versenden:



Auf der nächsten Seite habe ich MySQL... gewählt


... und dann die MySQL Einstellungen eingegeben:


Wähle die benötigten Sprachen, die eZ Publish unterstützen soll:


Wähle das Standard Layout Deiner Webseite (das kann später geändert werden):



Das Template, das ich ausgewählt habe, unterstützt Englisch (United Kingdom) und Französisch (Frankreich), jedoch wurde nur Englisch (American) installiert, also musste ich Englisch (United Kingdom) auf Englisch (American) abbilden und Französisch wegfallen lassen:


Wähle URL als Methode um auf Deine Seite zugreifen zu können:


Auf der folgenden Seite kannst Du die Standardeinstellungen akzeptieren:


Gib dann die Angaben für den Site Administrator ein:


Falls Du etwas in der Art siehst...


... solltest Du den angegebenen Befehl ausführen, z.B.:

cd /var/www/ezpublish
cp .htaccess_root .htaccess

Nun kannst Du auswählen, ob Du Angaben über Deine eZ Publish Installation an eZ Systems senden möchtest oder nicht:


Das war's. Deine eZ Publish Installation ist nun abgeschlossen:

8 Links