Comment installer Zend Framework / Laminas sur Linux

Introduction

Installer Zend Framework Linux Ubuntu RHEL Debian Centos

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

  1. Prérequis
  2. Installation des logiciels requis
    • PHP
    • Apache
    • MySQL
    • Composer
  3. Configuration de l’environnement
  4. Installation de Zend Framework
  5. Configuration d’Apache
  6. Création d’un nouveau projet Zend Framework
  7. Exécution de votre première application Zend Framework
  8. Problèmes courants et dépannage
  9. 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 !

Laisser un commentaire