Nous avons vu dans le fil précédent où trouver le package d’installation. Voyons à présent comment l’installer et le configurer.

Prérequis

Laravel nécessite un serveur Apache avec au minimum PHP 5.3 et l’extension Mcrypt.

Vous pouvez installer en local un pack comme Wamp (c’est celui que j’utilise personnellement), Xampp ou EasyPHP .

Vérifiez que vous avez l’extension Mcrypt activée.

Composer

Laravel 4 utilise Composer, un gestionnaire de dépendances, pour son installation.

Les frameworks sont composés de nombreux éléments et utilisent souvent des applications « tierces », c’est à dire qui sont développées dans le cadre d’autres projets. Ces applications peuvent avoir elles-mêmes d’autres applications « tierces ». Avoir en permanence tous ces éléments à jour est un défi qui n’est pas facile à assumer dans le cadre d’un package figé. C’est pour cette raison que les gestionnaires de dépendance ont été créés.

L’objectif d’un gestionnaire de dépendances est de télécharger les dernières versions de ces applications et de les conserver à jour. Composer est le gestionnaire le plus récent et sans aucun doute le plus abouti, en tout cas c’est celui qui a été choisi pour l’installation de Laravel. Il offre aussi l’avantage de créer un fichier pour générer automatiquement des références de chargement automatique de classes (Laravel 4 respecte les PSR-0 et PSR-1 du fig-standards) . Si le chargement de classe ne vous est pas familier aller faire un tour sur cet article.

Il vous faut donc installer Composer, ce qui est relativement facile. Vous avez toutes les informations requises ici : http://getcomposer.org/doc/00-intro.md .

Composer ne fonctionnera pas si vous n’avez pas Git installé sur votre ordinateur. Vous pouvez télécharger la version correspondant à votre système ici .

Vous n’avez pas besoin de maîtriser ces deux applications pour installer Laravel, nous allons voir les commandes de base pour télécharger les fichiers.

Vérifiez que Composer fonctionne en utilisant simplement la commande composer à partir de l’invite de commande. Vous devez voir apparaître un logo d’accueil ainsi qu’une liste des commandes disponibles :

img04

Installation en un clic

Méthode 1

La façon la plus simple d’installer Laravel est d’utiliser la commande create-project de Composer :

img04

Il suffit d’attendre quelques minutes pour avoir une installation complète !

Méthode 2

Vous pouvez aussi utiliser l’archive phar de l’installateur de Laravel. Vous la placez sur votre serveur et vous entrez laravel new pour créer directement une nouvelle version de Laravel dans le dossier. Vous pouvez aussi pointer un autre dossier avec laravel new mon_dossier.

Installation plus laborieuse

Vous pouvez télécharger le pack de base comme nous l’avons vu au fil précédent dans un dossier de votre serveur. Dans mon cas j’ai créé un dossier laravel :

img02

Ouvrez le fichier « composer.json » :

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.1.*"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}

C’est le fichier qui va indiquer à Composer les applications à télécharger. La clé « require » indique qu’il faut aller chercher le package laravel/framework dans sa version 4.1 la plus récente. Pour sa localisation c’est tout simple, c’est dans github.com/laravel/framework. Pour la clé autoload sont inclus les dossiers de Laravel qui nécessitent un chargement automatique des classes.

Pour finir l’installation de Laravel il suffit de taper composer install dans le dossier racine de l’application et d’attendre la fin des téléchargements :

img03

Résultat de l’installation

Si on regarde maintenant ce qu’il s’est passé on découvre un nouveau dossier bien garni :

img05

On trouve en particulier un fichier autoload.php qui est là pour gérer le chargement automatique dont j’ai parlé plus haut.

L’installation est maintenant terminée, vous n’avez plus qu’à vérifier que tout fonctionne en entrant l’URL de votre site en pointant le répertoire public. Ce qui donne dans mon cas :

http://localhost/laravel/public/

Normalement vous obtenez ça :

img06

Si ce n’est pas le cas reprenez tout depuis le début Tongue Out.

Comment mettre à jour Laravel ? Mais c’est d’une simplicité enfantine, il suffit de taper la commande composer update !

Pour l’installation sur un serveur distant il faut disposer d’un accès SSH, il suffit alors d’utiliser composer.phar sur le serveur (et de disposer de toutes les commandes utiles, ce qui n’est pas souvent le cas sur les serveurs mutualisés). Sinon il faut tout transmettre en FTP.

Laravel 4 : chapitre 2 : Installation

Vous pourrez aussi aimer

14 commentaires sur “Laravel 4 : chapitre 2 : Installation

  1. Eh bien, j’ai fini par trouver. Il semblerait que la constante magique __DIR__ ne marche qu’avec des versions récentes de PHP, aussi, il fallait que je modifie le .htaccess qui se trouve dans /public en ajoutant la ligne :

    SetEnv PHP_VER 5_4

    Pour indiquer au serveur OVH d’utiliser la version 5.4 de PHP.

    Voili voilou !

  2. Bonsoir Momo,

    Désolé de poser des questions tous azimut mais tu sais c’que c’est quand on débute. Alors voilà : comment se fait-il que mon site qui marche en local, une fois transférer sur mon serveur (chez OVH) ne fonctionne pas et m’affiche :

    Warning: require(__DIR__/../bootstrap/autoload.php) [function.require]: failed to open stream: No such file or directory in /home/dictionn/www/laravel/public/index.php on line 21

    Fatal error: require() [function.require]: Failed opening required ‘__DIR__/../bootstrap/autoload.php’ (include_path=’.:/usr/local/lib/php’) in /home/dictionn/www/laravel/public/index.php on line 21

    Y-a-t-il un fichier à modifier pour qu’il retrouve ses petits ? Merci d’avance de ta réponse.

  3. J’ai réussi à installer Laravel et mon site, en production sur un serveur partagé 1and1. J’ai juste tout envoyé par mon client ftp et j’ai réglé le php de mon hébergeur..

    Par contre je n’ai pas pu utiliser le fichier .htaccess fournit par défaut, afin de ne pas faire apparaître index.php dans l’url. J’ai passé bcp de temps sur google et j’ai essayé des dizaines de possibilités de code sans succès, avant de trouver la solution qui a fonctionné pour mon hébergeur.

    Si quelqu’un rencontre le même problème que moi, j’ai trouvé la solution sur ce site :
    http://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html

    1. Bonjour,

      Est-ce que tu pourrais me dire comment on héberge un site web développé avec Laravel sur 1and1 ? En local j’ai compris comment on fait mais sur un hébergeur, je suis un peu confuse…

      Et quelle est la configuration requise ? a-t-on besoin d’un serveur dédié … d’un certificat SSL ….

      Désolée pour les questions mais je débute sur ce framework et suis un peu perdue

      Merci

      1. Dans un premier temps tu peux lire cette page d’un cours que j’ai rédigé chez Open Classrooms :

        Le déploiement

        Cette page aussi peut t’aider :

        http://laravel.io/forum/03-21-2014-laravel-production-deployment-on-1and1

        Chez 1and1 je ne pense pas que tu disposes de SSH, tu devras certainement tout transmettre en FTP. Par contre tu peux très bien faire pointer ton domaine sur un sous-dossier pour éviter de réorganiser la structure de Laravel.

        Tu as intérêt à te créer un environnement local pour avoir à distance les bons paramètres (base de données…).

  4. Bonjour et merci pour ce tuto.
    Juste une remarque qui peut aider les débutant comme moi.
    Il ne faut pas oublier de faire un  » chmod -R 777  » sur le dossier app/storage ( permettre l’écriture sur le dossier strorage ), sinon on obtient une belle erreur.
    Thibault

  5. ce petit framework me donne envie mais je bloque directement sur l’invite de commande…
    j’ai l’erreur suivante quand j’essai d’installer les « dépendances » :

    « [RuntimeException]
    You must enable the openssl extension to download files via https »

    toute mes recherches sont infructueuse car elle ne marche pas chez moi 🙂 (décommenter tout les fichier.ini de wamp, le lien « installer un certificat ssl sous wamp » je n’y arrive pas (openssl ne fonctionne pas…))

    auriez vous une solution ou un lien à me faire parvenir ?
    sur mon ordi vista : wamp – composer – git

      1. j’ai tout désinstallé y compris wamp et j’ai tout réinstallé et configuré dans l’ordre. La commande composer install a bien marché, je vais pouvoir continuer mon apprentissage sereinement.

        encore merci pour le lien et la réactivité 😉

  6. Salut,

    Petit détail sur l’install:

    – La première fois que j’ai suivi ce chapitre (y’a un mois), je n’ai rencontré aucune difficulté

    – Par contre, quand j’y suis revenu pour faire une installation neuve de laravel (pour la partie blog des tutos), j’ai rencontré des difficultés au ‘composer install’.

    L’erreur était dûe au fait que certains composants (j’ai oublié lesquels) nécessitaient ssl pour s’installer.
    Et effectivement, une fois ssl installé sur mon localhost, tout s’est passé sans accroc.

    Je me permets de poster l’adresse du tuto que j’ai suivi pour créer mon certificat:
    http://www.blog.florian-bogey.fr/installer-un-certificat-ssl-sous-wamp.html

    @+

    1. Salut,
      Je viens d’installer Laravel 4 aujourd’hui et j’ai rencontré la même erreur :
      « Unable to find the socket transport « https » – did you forget to enable it when you configured PHP?)… »
      J’ai trouvé une solution plus simple :
      Il suffit d’enlever décommenter la ligne :
      extension=php_openssl.dll
      dans le fichier php.ini de ton serveur.

      Merci.
      ahmed.zahraz@hotmail.fr

      1. Oui, décommenter la ligne dont tu parles faisait en plus partie de la procédure d’installation d’un certificat mais je n’ai pas réalisé que je pouvais m’arrêter à cette étape-là 🙂
        Ceci dit, c’était intéressant d’aller jusqu’au bout.
        Merci pour l’info!

Laisser un commentaire