Webserver Setup · 8 min read · Jan 03, 2026

Grundlegender Webserver auf Ubuntu 9.04 mit Zend Framework

Grundlegender Webserver auf Ubuntu 9.04 mit Zend Framework

Dies ist eine kurze Beschreibung der Schritte, die erforderlich sind, um einen grundlegenden Webserver mit installiertem Zend Framework einzurichten.

Wie immer werde ich einem von Falkos hervorragenden Leitfäden folgen, da es keinen Sinn macht, das Rad neu zu erfinden, sozusagen. Ich werde dem perfekten Server - Ubuntu 9.04 [ISPConfig 3] folgen. Da ich jedoch einen Webanwendungsserver für Tests in der Vorproduktion benötige, benötige ich kein Mail oder ISPConfig, also werde ich dem ISPConfig-3-Leitfaden von Schritt 1 - 11 folgen und von dort aus meine eigene Version beginnen.

Ich werde Postfix, Courier (keine Notwendigkeit für Mail oder IMAP), Saslauthd (Authentifizierung) nicht installieren, ich werde auch keinen Rootkit Hunter oder binäre Dienstprogramme installieren, also lasse ich diese ebenfalls weg:

12 MySQL installieren

Wir können MySQL mit dem folgenden Befehl installieren:

apt-get install mysql-client mysql-server

Sie werden nach den folgenden Fragen gefragt:

Neues Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL “root”-Benutzer: <– yourrootsqlpassword

Wir möchten, dass MySQL auf allen Schnittstellen hört, nicht nur auf localhost, daher bearbeiten wir /etc/mysql/my.cnf und kommentieren die Zeile bind-address = 127.0.0.1 aus:

nano /etc/mysql/my.cnf
[...]  

# Anstelle von skip-networking hört der Standard jetzt nur auf  

# localhost, was kompatibler ist und nicht weniger sicher.  

#bind-address           = 127.0.0.1  

[...]  

Dann starten wir MySQL neu:

/etc/init.d/mysql restart

Überprüfen Sie nun, ob das Networking aktiviert ist. Führen Sie aus

netstat -tap | grep mysql

Die Ausgabe sollte so aussehen:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      8474/mysqld  
root@server1:~#

13 Apache2, Java und phpMyAdmin installieren

Ich installiere PHP5 zu diesem Zeitpunkt nicht, da ich ein paar verschiedene Möglichkeiten habe, es im nächsten Abschnitt zu installieren. Wissen Sie einfach, dass Sie, wenn Sie aus dem Quellcode kompilieren möchten, den nächsten Abschnitt lesen und darüber nachdenken sollten, Apache zu diesem Zeitpunkt nicht zu installieren. Andernfalls wird alles wie folgt installiert:

sudo su  
apt-get install apache2 sun-java6-bin phpmyadmin

Sie werden die folgende Frage sehen:

Webserver, der automatisch neu konfiguriert werden soll: <– apache2
Java EULA <– Tab, um die EULA zu lesen, dann OK
Stimmen Sie den Lizenzbedingungen von DLJ zu? <– Ja
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <– Ja
Passwort des Administrators Ihrer Datenbank: <– yourrootsqlpassword
MySQL-Anwendungspasswort für phpmyadmin: <– [leer]

14 PHP5-Installationen:

Wir haben eine Reihe von Möglichkeiten, PHP zu installieren, je nachdem, was Sie benötigen. Ich hatte unterschiedliche Erfolge bei der Installation der Module, die ich benötige, also werde ich Ihnen alle Möglichkeiten geben, die ich ausprobiert habe, um PHP zu installieren, und Sie können wählen, welche Sie benötigen.

apt-get install aus dem Ubuntu-Repository

Wir können einfach Apt verwenden, um die PHP-Version aus den Ubuntu-Repositories zu beziehen. Dies wird der einfachste Weg sein und den einfachsten Erfolg bringen und sollte verwendet werden, wenn Sie keine spezifischen Anforderungen an PHP haben.

apt-get install php5 php5-common php5-cli

apt-get install aus einer Debian-Quelle

Debian hat ihr Repository auf die neueste PHP5-Version aktualisiert und ich glaube, es enthält die vollständige PHP5 GD-Bibliothek, sodass dies ein einfacherer Weg zum Erfolg sein könnte als das Kompilieren aus dem Quellcode, aber das bedeutet, dass Sie eine Quelle verwenden, die keine von Ubuntu anerkannte Quelle ist, und Sie müssen entscheiden, ob Sie damit einverstanden sind.

Diese Entscheidung getroffen, müssen Sie die Debian-Repositories zu Ihrer Quellenliste hinzufügen, was Sie tun können, indem Sie Ihre Quellenliste wie zuvor bearbeiten.

Wir können einfach Apt verwenden, um die PHP-Version aus den Ubuntu-Repositories zu beziehen.

echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.list

Führen Sie dann aus

apt-get update

Nach diesem können Sie wählen, um alle anderen Installationen zu aktualisieren, die Debian ebenfalls aktualisiert hat.

apt-get upgrade  
apt-get install php5 php5-common php5-cli  
reboot

Aus dem Repository-Quellcode kompilieren

Während erfolgreich, installierte es die Ubuntu-Version von PHP5, was für die meisten Installationen in Ordnung ist, dies ermöglicht Ihnen, einige zusätzliche Dinge zu aktivieren, die nicht in der Aptitude-Installation enthalten sind. Sie können ./configure –help verwenden, um zu sehen, was verfügbar ist, um es zu aktivieren, während Sie kompilieren.

aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev

Dies ermöglicht Ihnen, die sichere Ubuntu-Version mit Extras zu installieren, die möglicherweise nicht in der Standardversion enthalten sind.

cd /usr/src  
apt-get install build-essential debhelper fakeroot  
apt-get source php5  
apt-get install build-dep php5  
cd php5-5.2.6.dfsg.1/  
nano debian/rules

Suchen und ersetzen Sie

[...]  
--with-gd=shared,/usr --enable-gd-native-ttf \  
[...]  

mit

[...]  
--with-gd=shared, --enable-gd-native-ttf \  
[...]  
dpkg-buildpackage -rfakeroot  
cd ..  
# Installieren Sie das neue php5-gd-Paket  
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb

Vollständige Kompilierung aus externem Quellcode

Als ich dies zuletzt ausführte, musste ich auch Apache2 neu kompilieren, damit meine neue Version von PHP5 erkannt wurde. Ich bin mir nicht sicher, warum oder ob es nur ich war, also werde ich ein paar Mal mehr testen und diesen Beitrag bearbeiten, um die Methoden zu aktualisieren, wenn ich Erfolg ohne die Apache2-Installation erzielen kann.

aptitude install php5-dev libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev bzip2 libcurl3 curl libpng12-dev libfreetype6-dev libmcrypt4 libmcrypt-dev libmhash2 libxslt1-dev apache2-prefork-dev libjpeg62-dev freetype2 libxft libxft-dev libcurl4-gnutls-dev
cd /usr/src  
wget http://apache.mirror.anlx.net/httpd/httpd-2.0.63.tar.gz  
tar -zxvf httpd-2.0.63.tar.gz  
cd httpd-2.0.63  
./configure --help  
./configure --prefix=/etc --enable-rewrite --enable-so --enable-ssl  
make  
make install  
/etc/bin/apachectl start  
/etc/bin/apachectl stop
cd /usr/src  
wget http://uk.php.net/get/php-5.2.9.tar.gz/from/this/mirror  
tar xzvf php-5.2.9.tar.gz  
cd php-5.2.9  
./configure --help  
./configure --prefix=/etc/php5/apache2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install  
./configure --prefix=/etc/php5/cli --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/cli --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install-cli

Ich erhielt einige Warnungen über benötigte LoadModule-Anweisungen in apache2.conf und httpd.conf. Wenn Sie das auch finden, können Sie kommentierte Dummy-Anweisungen hinzufügen und make install erneut ausführen, und es sollte funktionieren.

nano /etc/apache2/apache2.conf
[...]  
    # Include module configuration:  
    Include /etc/apache2/mods-enabled/*.load  
    Include /etc/apache2/mods-enabled/*.conf

    # Dummy LoadModule-Direktive zur Unterstützung von Modulinstallationen  
    #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so  
[...]  

15 Testen von PHP und der GD-Bibliothek / Informationen zu Ihrer PHP5-Installation

Da wir PHP-CLI installiert haben, können wir die Installation der GD-Bibliothek mit:

php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- gibt true aus, wenn die GD-Bibliothek installiert ist  
php -r "var_dump(function_exists('imagerotate'));" <-- wird false sein, wenn die eingeschränkte Bibliothek installiert ist

Das Dokumentenstammverzeichnis der Standard-Website ist /var/www. Wir werden jetzt eine kleine PHP-Datei (phpinfo.php) in diesem Verzeichnis erstellen und sie in einem Browser aufrufen. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie die installierte PHP-Version.

nano /var/www/phpinfo.php

Jetzt rufen wir diese Datei in einem Browser auf (z.B. http://192.168.0.100/phpinfo.php):

Jetzt sollten Sie sehen, dass PHP5 funktioniert. Wenn Sie nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. Sie sollten auch MySQL dort aufgeführt sehen.

16 Konfigurieren der Installationen

Wir müssen sicherstellen, dass das rewrite_module in Apache2 aktiviert ist, damit das Zend Framework ordnungsgemäß funktioniert, also lassen Sie uns überprüfen:

a2dismod

Hoffentlich sollten Sie rewrite in der Liste der derzeit aktivierten Module sehen. Wenn nicht, drücken Sie die Eingabetaste, um nichts zu deaktivieren, und geben Sie dann aus:

a2enmod rewrite

Dann müssen wir AllowOverride All in der Standard-Site-Datei aktivieren

nano /etc/apache2/sites-available/default
[...]  
  DocumentRoot /var/www/  
          
                Options FollowSymLinks  
                AllowOverride All  
          
          
                Options FollowSymLinks   
                AllowOverride All  
                Order allow,deny  
                allow from all  
          
[...]  

Danach müssen wir phpMyAdmin sichern, indem wir die Datei /etc/phpmyadmin/htpasswd.setup löschen…

rm -f /etc/phpmyadmin/htpasswd.setup

… und den folgenden Abschnitt in /etc/phpmyadmin/apache.conf entfernen oder auskommentieren:

nano /etc/phpmyadmin/apache.conf
[...]  
## Autorisieren für die Einrichtung  
#  
#      
#    AuthType Basic  
#    AuthName "phpMyAdmin Setup"  
#    AuthUserFile /etc/phpmyadmin/htpasswd.setup  
#      
#    Require valid-user  
#  
[...]  

Starten Sie Apache danach neu:

/etc/init.d/apache2 restart

17 Zend Framework installieren

Obwohl das Zend Framework in den Ubuntu 9.04-Repositories verfügbar ist, handelt es sich um die Version 1.7.5 und ich möchte die neueste Version haben, also werde ich es über SVN herunterladen, aber zuerst müssen wir es installieren:

aptitude install subversion

Jetzt können wir die neueste Version des Zend Frameworks abrufen

cd /opt  
mkdir ZendFramework  
cd /ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/

Als nächstes werden wir einen symbolischen Link namens “current” zu diesem Release-Ordner erstellen, damit wir, wenn wir die Zend Framework-Version ändern, dies tun können, ohne Apache neu zu starten:

ln -s release-1.8.3 current

Damit wir den aktuellen Zend Framework nicht manuell in Ihre PHP-Skripte mit set_include_path hinzufügen müssen. Ich möchte, dass das aktuelle Zend Framework automatisch enthalten ist, indem ich den Pfad in die /etc/php5/apache2/php.ini hinzufüge.

nano /etc/php5/apache2/php.ini

Ändern Sie:

include_path = ".:/usr/share/php5:/usr/share/pear"

in:

include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Starten Sie Apache erneut:

/etc/init.d/apache2 restart

Wenn eine neue Version des Zend Frameworks veröffentlicht wird, müssen wir nur das SVN-Verzeichnis überprüfen und den symbolischen Link ändern.

cd /opt/ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/  
rm current  
ln -s release-1.8.4 current

18 Konfigurieren des Zend-Tools

Wir müssen jetzt die Pfade für die Befehlszeile einrichten, also machen wir die gleichen Änderungen, die wir oben für PHP CLI vorgenommen haben.

nano /etc/php5/cli/php.ini
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Bevor wir den Superbenutzer verlassen, haben wir noch eine letzte Sache zu tun, damit Sie das Tool unter Ihrem Benutzernamen anstelle des Superbenutzers verwenden können. Sie müssen die Berechtigungen für den Ordner /var/www festlegen

chown username:usergroup /var/www

Jetzt müssen Sie an diesem Punkt aus dem Superbenutzer herauskommen:

exit
nano ~/.bashrc

und fügen Sie die Zeile hinzu

[...]  
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...]  

Fast geschafft, wir werden die Installation nur testen, aber zuerst sollten wir wahrscheinlich neu starten.

sudo reboot

Wenn Sie sich wieder anmelden, verwenden Sie nicht sudo su, sondern:

zf.sh show version

Und Sie sollten erhalten

Zend Framework Version: 1.8.3

19 Verwendung des Tools

Navigieren Sie zu dem Verzeichnis, in dem Sie Ihr neues Projekt erstellen möchten:

cd /var/www  
zf.sh create project yourProject

Und Sie sollten feststellen, dass das Tool Ihre grundlegende Seitenstruktur erstellt, einschließlich Ihrer initialen Controller und Ansichten.

Zuletzt möchten Sie wahrscheinlich den Zend-Ordner in Ihr neues Projekt kopieren

cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend

Und Sie können die Zend-Installation testen, indem Sie zu: http://192.168.0.100/yourProject/public/ gehen.

Viel Spaß!

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.