Introduction
Zend Framework / Laminas est un framework PHP open-source populaire conçu pour simplifier et rendre plus efficace la création d’applications web robustes et performantes. Avec son architecture modulaire et son utilisation des principes de la programmation orientée objet, Zend Framework fournit aux développeurs les outils nécessaires pour créer des applications évolutives, sécurisées et de haute qualité. Dans ce guide complet, nous aborderons comment installer Zend Framework sur un système Linux, en vous assurant que vous disposez de tout ce dont vous avez besoin pour commencer votre développement PHP.
Table des matières
- Prérequis
- Installation des logiciels requis
- PHP
- Apache
- MySQL
- Composer
- Configuration de l’environnement
- Installation de Zend Framework
- Configuration d’Apache
- Création d’un nouveau projet Zend Framework
- Exécution de votre première application Zend Framework
- Problèmes courants et dépannage
- Ressources supplémentaires
1. Prérequis
Avant de vous lancer dans le processus d’installation, assurez-vous que vous disposez d’un système Linux avec un compte utilisateur ayant les privilèges sudo. Vous aurez également besoin d’une connexion Internet active pour télécharger les packages et les dépendances nécessaires.
Configuration système recommandée
- Distribution Linux : Ubuntu, Debian, CentOS, Fedora ou toute autre distribution majeure.
- Version PHP 7.4 ou supérieure.
- Apache HTTP Server 2.4 ou supérieur.
- MySQL version 5.7 ou supérieure (optionnel, pour les applications utilisant une base de données).
- Composer (gestionnaire de dépendances pour PHP).
2. Installation des logiciels requis
Installation de PHP
Pour installer PHP, vous devez mettre à jour votre index de packages et ensuite installer PHP ainsi que quelques modules courants.
Sur Ubuntu/Debian
$ sudo apt update
$ sudo apt install php php-cli php-fpm php-mysql php-json php-curl php-mbstring php-xml php-zip -y
Sur CentOS/Fedora
$ sudo yum install epel-release -y
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
$ sudo yum install yum-utils -y
$ sudo yum-config-manager --enable remi-php74
$ sudo yum install php php-cli php-fpm php-mysql php-json php-curl php-mbstring php-xml php-zip -y
Vérifiez l’installation en vérifiant la version de PHP :
$ php -v
Installation d’Apache
Apache est un serveur web largement utilisé et peut être facilement installé à l’aide du gestionnaire de packages de votre distribution Linux.
Sur Ubuntu/Debian
$ sudo apt update
$ sudo apt install apache2 -y
Sur CentOS/Fedora
$ sudo yum install httpd -y
Démarrez et activez Apache pour qu’il s’exécute au démarrage :
Sur Ubuntu/Debian
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
Sur CentOS/Fedora
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
Vérifiez l’installation en ouvrant votre navigateur web et en accédant à http://localhost
. Vous devriez voir la page d’accueil par défaut d’Apache.
Installation de MySQL
Si votre application nécessite une base de données, vous pouvez installer MySQL ou MariaDB. Ici, nous utiliserons MySQL.
Sur Ubuntu/Debian
$ sudo apt update
$ sudo apt install mysql-server -y
Sur CentOS/Fedora
$ sudo yum install mysql-server -y
Démarrez et activez MySQL pour qu’il s’exécute au démarrage :
Sur Ubuntu/Debian
$ sudo systemctl start mysql
$ sudo systemctl enable mysql
Sur CentOS/Fedora
$ sudo systemctl start mysqld
$ sudo systemctl enable mysqld
Sécurisez votre installation MySQL :
$ sudo mysql_secure_installation
Suivez les invites pour définir un mot de passe root et sécuriser l’installation.
Installation de Composer
Composer est un gestionnaire de dépendances pour PHP qui vous aidera à gérer les bibliothèques et les dépendances de votre projet.
Sur Ubuntu/Debian et CentOS/Fedora
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('SHA384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ sudo mv composer.phar /usr/local/bin/composer
Vérifiez l’installation en vérifiant la version de Composer :
$ composer --version
3. Configuration de l’environnement
Avant d’installer Zend Framework, il est crucial de s’assurer que votre environnement PHP est correctement configuré. Cela inclut la configuration des modules PHP appropriés et la configuration de vos paramètres PHP.
Configuration de PHP
Éditez le fichier de configuration PHP (php.ini
) :
Sur Ubuntu/Debian
$ sudo nano /etc/php/7.4/apache2/php.ini
Sur CentOS/Fedora
$ sudo nano /etc/php.ini
Assurez-vous que les paramètres suivants sont correctement configurés :
memory_limit = 256M
post_max_size = 50M
upload_max_filesize = 50M
max_execution_time = 300
Enregistrez et quittez l’éditeur, puis redémarrez Apache pour appliquer les modifications :
Sur Ubuntu/Debian
$ sudo systemctl restart apache2
Sur CentOS/Fedora
$ sudo systemctl restart httpd
4. Installation de Zend Framework
Avec Composer installé, vous pouvez maintenant installer Zend Framework. Zend Framework fait désormais partie du projet Laminas, vous allez donc installer Laminas à la place.
Installation de Laminas via Composer
Tout d’abord, accédez au répertoire où vous souhaitez créer votre projet Zend Framework (Laminas) :
$ cd /var/www/html
Utilisez Composer pour créer un nouveau projet Laminas :
$ composer create-project laminas/laminas-mvc-skeleton my-zend-app
Cette commande téléchargera l’application Laminas MVC Skeleton et installera toutes les dépendances nécessaires. Une fois l’installation terminée, vous aurez une application Laminas de base installée dans le répertoire my-zend-app
.
5. Configuration d’Apache
Pour servir votre application Laminas avec Apache, vous devez configurer un hôte virtuel.
Création d’un hôte virtuel
Créez un nouveau fichier de configuration Apache pour votre application :
Sur Ubuntu/Debian
$ sudo nano /etc/apache2/sites-available/my-zend-app.conf
Sur CentOS/Fedora
$ sudo nano /etc/httpd/conf.d/my-zend-app.conf
Ajoutez la configuration suivante dans le fichier :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/my-zend-app/public
ServerName my-zend-app.local
<Directory /var/www/html/my-zend-app/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/my-zend-app_error.log
CustomLog ${APACHE_LOG_DIR}/my-zend-app_access.log combined
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
</VirtualHost>
Enregistrez et fermez le fichier.
Activation de l’hôte virtuel
Sur Ubuntu/Debian
$ sudo a2ensite my-zend-app
$ sudo systemctl reload apache2
Sur CentOS/Fedora
$ sudo systemctl restart httpd
Modification du fichier Hosts
Pour accéder à votre application via my-zend-app.local
, vous devez ajouter une entrée dans votre fichier /etc/hosts
:
$ sudo nano /etc/hosts
Ajoutez la ligne suivante :
127.0.0.1 my-zend-app.local
Enregistrez et fermez le fichier.
6. Création d’un nouveau projet Zend Framework
Maintenant que votre environnement est configuré et Apache est configuré, vous pouvez commencer à créer votre projet Zend Framework. L’application Laminas MVC Skeleton est fournie avec une configuration de base que vous pouvez étendre et personnaliser.
Création de contrôleurs
Les contrôleurs sont responsables de la gestion des entrées utilisateur et du renvoi des réponses. Pour créer un nouveau contrôleur, utilisez l’outil CLI Laminas :
$ cd /var/www/html/my-zend-app
$ composer require laminas/laminas-cli
$ ./vendor/bin/laminas mvc:controller MyController
Cette commande crée un nouveau contrôleur nommé MyController
. Vous pouvez le trouver dans le répertoire module/Application/src/Controller
.
Création de vues
Les vues sont utilisées pour générer la sortie envoyée au navigateur de l’utilisateur. Créez un nouveau script de vue pour l’action de votre contrôleur en créant un nouveau fichier :
$ nano module/Application/view/application/my/index.phtml
Ajoutez le contenu suivant à ce fichier :
<h1>Bonjour, Zend Framework !</h1>
<p>Bienvenue dans votre première application Laminas.</p>
Configuration des routes
Les routes définissent les URLs auxquelles votre application peut répondre. Ouvrez le fichier module/Application/config/module.config.php
et ajoutez une nouvelle route pour votre contrôleur :
'router' => [
'routes' => [
'my' => [
'type' => Segment::class,
'options' => [
'route' => '/my[/:action]',
'defaults' => [
'controller' => Controller\MyController::class,
'action' => 'index',
],
],
],
],
],
Enregistrez et fermez le fichier.
7. Exécution de votre première application Zend Framework
Maintenant que vous avez créé un contrôleur, une vue et configuré une route, vous pouvez exécuter votre application et vérifier que tout fonctionne correctement.
Démarrage d’Apache
Assurez-vous qu’Apache est en cours d’exécution :
Sur Ubuntu/Debian
$ sudo systemctl start apache2
Sur CentOS/Fedora
$ sudo systemctl start httpd
Accès à votre application
Ouvrez votre navigateur web et accédez à http://my-zend-app.local/my/index
. Vous devriez voir le message de bienvenue que vous avez ajouté dans votre vue.
8. Problèmes courants et dépannage
Problèmes de connexion à la base de données
Si votre application nécessite une connexion à une base de données et que vous rencontrez des problèmes, vérifiez les paramètres de connexion à la base de données dans le fichier de configuration. Assurez-vous que le nom d’utilisateur, le mot de passe et le nom de la base de données sont corrects.
Erreurs de contrôleur ou de vue
Si vous rencontrez des erreurs avec votre contrôleur ou votre vue, vérifiez le journal d’erreurs Apache pour plus de détails. Vous pouvez trouver les journaux d’erreurs à :
- Ubuntu/Debian :
/var/log/apache2/error.log
- CentOS/Fedora :
/var/log/httpd/error_log
Problèmes de chargement des dépendances
Si vous rencontrez des problèmes lors du chargement des dépendances avec Composer, assurez-vous que vous disposez d’une connexion Internet active et que Composer est correctement configuré. Vous pouvez essayer de mettre à jour vos dépendances avec la commande suivante :
$ composer update
Problèmes d’autorisations
Si vous rencontrez des problèmes d’autorisations lors de l’accès à vos fichiers ou répertoires d’application, assurez-vous que l’utilisateur Apache dispose des autorisations nécessaires. Pour la plupart des distributions, l’utilisateur Apache est www-data
sur Ubuntu/Debian et apache
sur CentOS/Fedora. Vous pouvez ajuster les autorisations avec les commandes suivantes :
Sur Ubuntu/Debian
$ sudo chown -R www-data:www-data /var/www/html/my-zend-app
$ sudo chmod -R 755 /var/www/html/my-zend-app
Sur CentOS/Fedora
$ sudo chown -R apache:apache /var/www/html/my-zend-app
$ sudo chmod -R 755 /var/www/html/my-zend-app
9. Ressources supplémentaires
Si vous avez besoin de plus d’informations ou d’aide pour utiliser Zend Framework (Laminas), vous pouvez consulter les ressources suivantes :
Conclusion
Ce guide complet devrait vous fournir une base solide pour installer et configurer Zend Framework (Laminas) sur un système Linux. En suivant ces étapes, vous devriez être en mesure de mettre en place un environnement de travail, de créer votre première application Laminas et de résoudre les problèmes courants qui peuvent survenir.
N’oubliez pas que développer avec un framework robuste comme Zend Framework nécessite de la pratique et un apprentissage continu. Explorez la documentation exhaustive et les ressources communautaires disponibles pour approfondir vos connaissances et améliorer vos compétences. Bon codage !