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-serverSie 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 mysqlDie 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 phpmyadminSie 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-cliapt-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.listecho deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.listFühren Sie dann aus
apt-get updateNach 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
rebootAus 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-devDies 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/rulesSuchen 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.debVollstä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-devcd /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 stopcd /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-cliIch 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 istDas 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.phpJetzt 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:
a2dismodHoffentlich 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 rewriteDann 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 restart17 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 subversionJetzt 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 currentDamit 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 restartWenn 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 current18 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.iniinclude_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/wwwJetzt müssen Sie an diesem Punkt aus dem Superbenutzer herauskommen:
exitnano ~/.bashrcund 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 rebootWenn Sie sich wieder anmelden, verwenden Sie nicht sudo su, sondern:
zf.sh show versionUnd Sie sollten erhalten
Zend Framework Version: 1.8.319 Verwendung des Tools
Navigieren Sie zu dem Verzeichnis, in dem Sie Ihr neues Projekt erstellen möchten:
cd /var/www
zf.sh create project yourProjectUnd 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/ZendUnd Sie können die Zend-Installation testen, indem Sie zu: http://192.168.0.100/yourProject/public/ gehen.
Viel Spaß!
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.