Serveur Web · 9 min read · Jan 03, 2026
Serveur Web de Base Sur Ubuntu 9.04 Avec Zend Framework
Serveur Web de Base Sur Ubuntu 9.04 Avec Zend Framework
Ceci est une brève description des étapes nécessaires pour configurer un serveur Web de base avec le Zend Framework installé.
Comme toujours, je vais suivre l’un des excellents guides de Falko, car il n’y a pas de raison de réinventer la roue, pour ainsi dire. Je vais suivre The Perfect Server - Ubuntu 9.04 [ISPConfig 3]. Cependant, comme j’ai besoin d’un serveur d’applications Web pour des tests de pré-production, je n’ai pas besoin de Mail ou d’ISPConfig, donc je vais suivre le guide ISPConfig-3 de l’étape 1 à 11 et commencer ma propre version à partir de là.
Je n’installerai pas Postfix, Courier (pas besoin de Mail ou IMAP), Saslauthd (Authentification), je ne vais pas non plus installer rootkit hunter ou des utilitaires binaires, donc je vais les laisser de côté également :
12 Installer MySQL
Nous pouvons installer MySQL en utilisant la commande suivante :
apt-get install mysql-client mysql-serverOn vous posera les questions suivantes :
Nouveau mot de passe pour l’utilisateur MySQL “root” : <– votremotdepassemysqlroot
Répétez le mot de passe pour l’utilisateur MySQL “root” : <– votremotdepassemysqlroot
Nous voulons que MySQL écoute sur toutes les interfaces, pas seulement localhost, donc nous modifions /etc/mysql/my.cnf et commentons la ligne bind-address = 127.0.0.1 :
nano /etc/mysql/my.cnf[...]
# Au lieu de skip-networking, la valeur par défaut est maintenant d'écouter uniquement sur
# localhost, ce qui est plus compatible et n'est pas moins sécurisé.
#bind-address = 127.0.0.1
[...] Ensuite, nous redémarrons MySQL :
/etc/init.d/mysql restartVérifiez maintenant que le réseau est activé. Exécutez
netstat -tap | grep mysqlLa sortie devrait ressembler à ceci :
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8474/mysqld
root@server1:~#13 Installer Apache2, Java et phpMyAdmin
Je n’installe pas PHP5 à ce stade car j’ai plusieurs façons différentes de l’installer dans la section suivante. Sachez simplement que si vous allez compiler à partir de la source, vous voudrez peut-être lire la section suivante et envisager de ne pas installer apache à ce stade. Sinon, tout sera installé comme suit :
sudo su
apt-get install apache2 sun-java6-bin phpmyadminVous verrez la question suivante :
Serveur web à reconfigurer automatiquement : <– apache2
EULA Java <– Tab pour lire l’EULA puis OK
Acceptez-vous les termes de la licence DLJ ? <– Oui
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <– Oui
Mot de passe de l’utilisateur administratif de votre base de données : <– votremotdepassemysqlroot
Mot de passe de l’application MySQL pour phpmyadmin : <– [vide]
14 Installations PHP5 :
Nous avons plusieurs façons d’installer PHP, selon ce dont vous avez besoin. J’ai eu un succès variable pour obtenir les modules installés dont j’ai besoin, donc je vais vous donner toutes les façons que j’ai essayées pour installer PHP et vous pourrez choisir celle qui vous convient.
apt-get install depuis le dépôt ubuntu
Nous pouvons simplement utiliser Apt pour obtenir la version PHP depuis les dépôts ubuntu. Ce sera la façon la plus simple et donnera le succès le plus facile et devrait être utilisé si vous n’avez pas d’exigences spécifiques pour PHP
apt-get install php5 php5-common php5-cliapt-get install depuis une source debian
Debian a mis à jour son dépôt avec la dernière version de PHP5 et je crois qu’il inclut la bibliothèque GD complète de PHP5, donc cela peut être un chemin plus facile vers le succès que de compiler à partir de la source, mais cela signifie que vous utilisez une source qui n’est pas reconnue par Ubuntu et vous devrez décider si cela vous convient.
Cette décision prise, vous devez ajouter les dépôts debian à votre liste de sources, ce que vous pouvez faire en modifiant votre liste de sources comme précédemment.
Nous pouvons simplement utiliser Apt pour obtenir la version PHP depuis les dépôts ubuntu.
echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.listecho deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.listEnsuite, exécutez
apt-get updateAprès cela, vous pouvez choisir de mettre à niveau toute autre installation que debian a également mise à jour.
apt-get upgrade
apt-get install php5 php5-common php5-cli
rebootCompiler à partir de la source du dépôt
Bien que cela ait réussi, cela a installé la version ubuntu de PHP5, ce qui est bien pour la plupart des installations, cela vous permettra d’activer certaines choses supplémentaires qui ne viennent pas avec l’installation aptitude. Vous pouvez utiliser ./configure –help pour voir ce qui est disponible à activer lors de la compilation.
aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-devCela vous permettra d’installer la version sécurisée d’ubuntu avec des extras qui peuvent ne pas être inclus dans la version standard.
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/rulesTrouvez et remplacez
[...]
--with-gd=shared,/usr --enable-gd-native-ttf \
[...] par
[...]
--with-gd=shared, --enable-gd-native-ttf \
[...] dpkg-buildpackage -rfakeroot
cd ..
# Installer le nouveau paquet php5-gd
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.debCompilation complète à partir de la source externe
Lorsque j’ai exécuté cela pour la dernière fois, j’ai dû recompiler apache2 également pour que ma nouvelle version de php5 soit reconnue. Je ne sais pas pourquoi ou si c’était juste moi, donc je vais tester quelques fois de plus et je vais éditer ce post pour mettre à jour les méthodes si je peux réussir sans installer apache2 également.
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-cliJ’ai eu quelques avertissements concernant la nécessité d’instructions LoadModule dans apache2.conf et httpd.conf, si vous trouvez cela également, alors vous pouvez ajouter des instructions fictives commentées et faire à nouveau make install et cela devrait fonctionner.
nano /etc/apache2/apache2.conf[...]
# Inclure la configuration du module :
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Directive LoadModule fictive pour aider les installations de modules
#LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
[...] 15 Tester PHP et la bibliothèque GD / Obtenir des détails sur votre installation PHP5
Comme nous avons PHP-CLI installé, nous pouvons tester l’installation de la bibliothèque GD avec :
php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- affichera true si la bibliothèque GD est installée
php -r "var_dump(function_exists('imagerotate'));" <-- sera false si la bibliothèque limitée est installéeLe document racine du site Web par défaut est /var/www. Nous allons maintenant créer un petit fichier PHP (phpinfo.php) dans ce répertoire et l’appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version PHP installée.
nano /var/www/phpinfo.phpMaintenant, nous appelons ce fichier dans un navigateur (par exemple, http://192.168.0.100/phpinfo.php) :
Maintenant, vous devriez voir, PHP5 fonctionne, en faisant défiler vers le bas, vous verrez tous les modules qui sont déjà activés dans PHP5. Vous devriez également voir MySQL répertorié là.
16 Configurer les installations
Nous devons nous assurer que rewrite_module est activé dans apache2 pour que le Zend Framework fonctionne correctement, alors vérifions :
a2dismodEspérons que vous devriez voir rewrite répertorié dans la liste des modules actuellement activés. Si ce n’est pas le cas, appuyez sur entrer pour ne désactiver rien et ensuite émettez :
a2enmod rewriteEnsuite, nous devons activer AllowOverride All dans le fichier du site par défaut
nano /etc/apache2/sites-available/default[...]
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride All
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
[...] Après cela, nous devons sécuriser phpMyAdmin en supprimant le fichier /etc/phpmyadmin/htpasswd.setup…
rm -f /etc/phpmyadmin/htpasswd.setup… et supprimer ou commenter la section suivante dans /etc/phpmyadmin/apache.conf :
nano /etc/phpmyadmin/apache.conf[...]
## Autoriser pour la configuration
#
#
# AuthType Basic
# AuthName "phpMyAdmin Setup"
# AuthUserFile /etc/phpmyadmin/htpasswd.setup
#
# Require valid-user
#
[...] Redémarrez Apache ensuite :
/etc/init.d/apache2 restart17 Installer Zend Framework
Bien que le Zend Framework soit disponible dans les dépôts d’Ubuntu 9.04, c’est la version 1.7.5 et je veux avoir la dernière version, donc je vais la télécharger via SVN, mais d’abord nous devons l’installer :
aptitude install subversionMaintenant, nous pouvons obtenir la dernière version du Zend Framework
cd /opt
mkdir ZendFramework
cd /ZendFramework
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/Ensuite, ce que nous allons faire est de créer un lien symbolique appelé “current” vers ce dossier de version, de cette façon, si nous changeons la version du Zend Framework, nous pouvons le faire sans redémarrer Apache :
ln -s release-1.8.3 currentAinsi, nous n’avons pas à ajouter manuellement le chemin d’inclusion dans vos scripts PHP en utilisant set_include_path. Je veux que le Zend Framework actuel soit inclus automatiquement, en ajoutant le chemin au /etc/php5/apache2/php.ini.
nano /etc/php5/apache2/php.iniChangez :
include_path = ".:/usr/share/php5:/usr/share/pear"en :
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"Redémarrez Apache à nouveau :
/etc/init.d/apache2 restartLorsqu’une nouvelle version du Zend Framework est publiée, tout ce que nous avons à faire est de vérifier le répertoire SVN et de changer le lien symbolique.
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 Configurer l’outil Zend
Nous devons maintenant configurer les chemins pour la ligne de commande, donc nous allons faire les mêmes modifications que nous venons de faire ci-dessus au PHP CLI.
nano /etc/php5/cli/php.iniinclude_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"Avant de sortir de l’utilisateur super, nous avons une dernière chose à faire pour que vous puissiez utiliser l’outil sous votre nom d’utilisateur plutôt que superutilisateur, vous devrez définir les permissions sur le dossier /var/www
chown username:usergroup /var/wwwMaintenant, à ce stade, vous devrez sortir de l’utilisateur super :
exitnano ~/.bashrcet ajouter la ligne
[...]
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...] Presque là, nous allons juste tester l’installation, mais d’abord nous devrions probablement redémarrer.
sudo rebootLorsque vous vous reconnectez, ne faites pas sudo su mais plutôt :
zf.sh show versionEt vous devriez obtenir
Version du Zend Framework : 1.8.319 Utiliser l’outil
Accédez au répertoire où vous souhaitez que votre nouveau projet soit :
cd /var/www
zf.sh create project yourProjectEt vous devriez constater que l’outil créera votre structure de site de base, y compris vos contrôleurs et vues initiaux.
Enfin, vous voudrez probablement copier le dossier Zend dans votre nouveau projet
cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/ZendEt vous pouvez tester l’installation de Zend en allant sur : http://192.168.0.100/yourProject/public/
Profitez-en !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.