Bonjour à tous. J'ai suivi avec attention le tuto sur puphpet et je me heurte à un petit problème, que ce soit sur Win7 64 bits ou ubuntu 14.04 64bits.

L'installation se passe sans problème et le vagrant up est nikel. Mais dès que j'essaie d'aller sur le serveur en prenant l'adresse par défaut : 192.168.56.101, je me heurte à une page vièrge avec simplement écrit 'File not found'.

J'ai evidemment créé une page index.html avec un hello classique. En ssh, le fichier est bien présent.

Je vous mets mon config.yaml au cas où vous auriez une idée.

MErci de votre aide

---
vagrantfile-local:
    vm:
        box: puphpet/ubuntu1404-x64
        box_url: puphpet/ubuntu1404-x64
        hostname: 'toto'
        memory: '512'
        cpus: '1'
        chosen_provider: virtualbox
        network:
            private_network: 192.168.56.101
            forwarded_port:
                Tqf5p8qxHGtc:
                    host: '9222'
                    guest: '22'
        post_up_message: ''
        provider:
            virtualbox:
                modifyvm:
                    natdnshostresolver1: on
            vmware:
                numvcpus: 1
            parallels:
                cpus: 1
        provision:
            puppet:
                manifests_path: puphpet/puppet
                manifest_file: site.pp
                module_path: puphpet/puppet/modules
                options:
                    - '--verbose'
                    - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
                    - '--parser future'
        synced_folder:
            R5rT7FW6AcEL:
                source: /home/monhome/Bureau/sites
                target: /var/www/local.dev
                sync_type: default
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                    auto: 'false'
        usable_port_range:
            start: 10200
            stop: 10500
    ssh:
        host: null
        port: null
        private_key_path: null
        username: vagrant
        guest_port: null
        keep_alive: true
        forward_agent: false
        forward_x11: false
        shell: 'bash -l'
    vagrant:
        host: detect
server:
    install: '1'
    packages:
        - vim
firewall:
    install: '1'
    rules: null
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - rewrite
    vhosts:
        rXgvQjqUckwN:
            servername: local.dev
            serveraliases:
                - local.dev
            docroot: /var/www/local.dev
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
    mod_pagespeed: 0
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    vhosts:
        71hrUWMPh3Cr:
            server_name: local.dev
            server_aliases:
                - local.dev
            www_root: /var/www/local.dev
            listen_port: '80'
            location: \.php$
            index_files:
                - index.html
                - index.htm
                - index.php
            envvars:
                - 'APP_ENV dev'
            engine: php
            ssl_cert: ''
            ssl_key: ''
php:
    install: '1'
    version: '55'
    composer: '1'
    composer_home: ''
    modules:
        php:
            - cli
            - intl
            - mcrypt
        pear: { }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
    timezone: Europe/Paris
    mod_php: 0
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings:
        host: 127.0.0.1
        port: '9000'
    ini:
        display_errors: On
        error_reporting: '-1'
    timezone: null
xdebug:
    install: '1'
    settings:
        xdebug.default_enable: '1'
        xdebug.remote_autostart: '0'
        xdebug.remote_connect_back: '1'
        xdebug.remote_enable: '1'
        xdebug.remote_handler: dbgp
        xdebug.remote_port: '9000'
xhprof:
    install: '0'
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions:
        FJxOZyy8msXU:
            version: ''
nodejs:
    install: '0'
    npm_packages: { }
python:
    install: '1'
    packages: { }
    versions:
        8LNxDaqZly7Q:
            version: ''
mysql:
    install: '1'
    root_password: root
    adminer: 0
    databases: { }
postgresql:
    install: '0'
    settings:
        root_password: '123'
        user_group: postgres
        encoding: UTF8
        version: '9.3'
    databases: { }
    adminer: 0
mariadb:
    install: '0'
    root_password: '123'
    adminer: 0
    databases: { }
    version: '10.0'
sqlite:
    install: '0'
    adminer: 0
    databases: { }
mongodb:
    install: '0'
    settings:
        auth: 1
        port: '27017'
    databases: { }
redis:
    install: '0'
    settings:
        conf_port: '6379'
mailcatcher:
    install: '1'
    settings:
        smtp_ip: 0.0.0.0
        smtp_port: 1025
        http_ip: 0.0.0.0
        http_port: '1080'
        mailcatcher_path: /usr/local/rvm/wrappers/default
        from_email_method: inline
beanstalkd:
    install: '0'
    settings:
        listenaddress: 0.0.0.0
        listenport: '13000'
        maxjobsize: '65535'
        maxconnections: '1024'
        binlogdir: /var/lib/beanstalkd/binlog
        binlogfsync: null
        binlogsize: '10485760'
    beanstalk_console: 0
    binlogdir: /var/lib/beanstalkd/binlog
rabbitmq:
    install: '0'
    settings:
        port: '5672'
elastic_search:
    install: '0'
    settings:
        java_install: true
        autoupgrade: true

17 réponses


netchaiev
Auteur
Réponse acceptée

Salut,

J'ai retesté, avec mod php sur une nouvelle configuration (win7 64b) et tout fonctionne parfaitement (vagrant, heidiSql,mailCatcher etc...) Nickel comme dans la vidéo.

Bon Courage

Salut,

Quels dossiers tu as à la racine de ton dossier partagé ? Et où as tu placé ton fichier index.html ?

Salut Clément,
Désolé de n'avoir pas répondu plus tôt mais j'avais trop de taff

En fait, j'avais oublié que sur une débian on a un répertoire html dans var/www/ . Répertoire qui n'existe pas sur Ubuntu par ex.

Du coup ma config pointait sur un mauvais dossier. (Quel truffe....)

Bref cela fonctionne. Je mets un index.htmlk dans le var/www/html/ et je vois mon "hello world" sur FF.

Mais si je supprime cet index.html et que je mets des répertoires pour différencier tous mes sites, ils n'apparaissement pas sur la page principale (local.dev) Est-ce qu'il y a une subtilité que j'ai oublié ?

Sinon, autre question, je tourne en dual boot avec un Win7 32 bits. Est-il possible d'installer une debian 64 alors que le windows est en 32. Pour info mon proc est en 64.

Merci de ta réponse

La première fois que j'ai utilisé puphpet mon dossier partagé contenait plusieurs dossiers (3 il me semble) comme "default/" ou "www/", pour trouver lequel est celui sur lequel pointe ton local.dev il faut tester en mettant des fichiers index.html et voir lequel s'affiche comme tu l'as fait. Donc chez toi il semble que ton local.dev pointe sur /var/www/html.

Pour l'affichage de tes dossiers je ne vois pas d'où vient le problème puisque tu as bien activé Options Indexes et FollowSymLinks dans la config d'Apache...

Tu as mis tes dossiers dans var/www ou var/www/html ?

PS : j'aurais pu répondre plus vite mais je suis pas passé ici, y'a pas un moyen de recevoir des notifs quand quelqu'un répond à un sujet ?

SAlut clément,

Mes dossiers ne sont ni dans var/www ni dans var/www/html de ma machine virtuelle, mais sur /home/monhome/Bureau/sites de la machine physique. Si j'ai bien compris c'est l'intéret de vagrant (ou alors je ne comprends rien....). Donc si je mets un dossier "toto" dans /home/monhome/Bureau/sites, le lien est fait avec le dossier var/www/html. Donc là tout fonctionne. Mais je n'ai pas la vision d'un wamp ou autre lorsque je tape local.dev.

Je ne sais pas si je suis super clair. Après une journée, je suis en peu dans le coltard

a+

D'accord, j'ai bien compris que tu avais créé tes dossiers sur ta machine hôte, ma question c'était de savoir à quel dossier ça correspondait sur la machine virtuelle. Donc si j'ai bien compris, dans ton cas, quand tu créés le dossier /home/monhome/Bureau/sites/toto, il est lié sur la machine virtuelle dans /var/www/html/toto ?

Si c'est bien ça, pour y accéder via local.dev, il faut que tu modifies ton VirtualHost. Dans ton config.yaml, on peut lire :

vhosts:
        rXgvQjqUckwN:
            servername: local.dev
            serveraliases:
                - local.dev
            docroot: /var/www/local.dev

Ce qui indique que l'adresse http://local.dev pointe sur /var/www/local.dev. Donc dans ton cas (si ce que j'ai écrit plus haut est correct), il faudrait que tu changes le docroot ainsi :

docroot: /var/www/html/toto

J'espère que tu y arriveras, j'ai pas mal galérer avec ça au début aussi ^^

Excuse moi, en relisant mon précédent post, je me suis rendu compte que ce n'était pas clair du tout.

Pour confirmer ton hypothèse http://local.dev pointe vers le répertoire /var/www/html/ ce qui dans l'ensemble me convient parfaitement :-).

Ensuite j'ai mon dossier sites sur mon bureau qui est lié à ma machine virtuelle.

Jusqu'à là tout fonctionne. J'ai un peu galéré mais cela fonctionne. Maintenant, si je crée plusieurs sites dans mon répertoire /home/monhome/Bureau/sites : genre sites1, sites2, sites3 etc.. j'y accède avec la requete http://local.dev/sites1, http://local.dev/sites2 etc...

Là encore tout fonctionne.

Mais là on cela ne fonctionne pas c'est si je tape simplement http://local.dev, je ne vois pas trois répertoires sites1, sites2, sites3 comme on peut le voir en tapant localhost avec wamp. Dans mon cas j'ai une page blanche, ce qui est logique puisque je n'ai pas de fihcier index

tu vois ce que je veux dire ?

Bon we à toi et merci de ton aide

Ah d'accord, j'avais mal compris. Donc tu as un problème d'indexation des dossiers et fichiers.

Vu que tu as bien OptionsIndexes dans ta config Apache, c'est <u>censé</u> marcher, mais le système de gestion qu'utilise par défaut puphpet fait buguer ce réglage, donc si tu veux régler le problème, lorsque tu configures ta VM sur le site puphpet, dans la section "Languages > PHP Quick Settings", coche "Use mod_php". Ca devrait résoudre le problème ;)

re..

alors j'ai fait ta modif et lorsque je relance vagrant j'ai un joli : "La connexion a échoué", sur local.dev. Si je mets à 0 le mod_php dans le config.yaml, et que je redemarre vagrant j'ai de nouveau une page blanche..... Mystère, mystère

C'est bizarre. Je t'avoue que perso j'ai abandonné l'idée de travailler sur une VM à cause des multiples problèmes que j'avais avec Puphpet...

Je ne peut pas t'aider plus là-dessus, tout ce que je peux te dire c'est que les raisons les plus probables de ce genre de problèmes sont liés à la configuration d'Apache et de ses VHosts ou à ce fameux php-fpm.

J'espère que tu finiras par trouver une solution, si tu y arrives ce serait bien de la partager aussi :)

Salut Netchaiev !
J'avais eu le même probleme que toi quand je suis passé à Vagrant, le fameux "file not found". Je sais pas si c'est la solution miracle mais pour moi ça a marché :)

Sur le site de puphpet, quand vient le moment de configurer les langages : Pour le php, coche le php_mod puis continu la suitr de la configuration comme expliqué dans le tuto de Grafikart :)

Voila j'espère que ça marchera ! Pour ce qui est du pourquoi du probleme, j'ai même pas cherché à savoir après avoir galéré plusieurs jours :p

Peace !

Edit: j'aurais du lire les commentaires de la vidéo d'abord, il suffisait de cocher mod_php

Bonjour, je me permet de remonter ce topic car j'ai exactement le même problème sur windows 8.1 64 bits

Mes fichiers sont stockés dans le dossier C:\Dev . Lorsque je me connecte sur 192.168.56.101 je me retrouve avec un simple files not found.

Mon config.yaml :

---
vagrantfile-local:
    vm:
        box: puphpet/debian75-x64
        box_url: puphpet/debian75-x64
        hostname: ''
        memory: '511'
        cpus: '1'
        chosen_provider: virtualbox
        network:
            private_network: 192.168.56.101
            forwarded_port: {  }
        post_up_message: ''
        provider:
            virtualbox:
                modifyvm:
                    natdnshostresolver1: on
            vmware:
                numvcpus: 1
            parallels:
                cpus: 1
        provision:
            puppet:
                manifests_path: puphpet/puppet
                manifest_file: site.pp
                module_path: puphpet/puppet/modules
                options:
                    - '--verbose'
                    - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
                    - '--parser future'
        synced_folder:
            zWYv7iWcelyA:
                owner: www-data
                group: www-data
                source: 'C:\Dev\Sites'
                target: /var/www/local.dev
                sync_type: default
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                    auto: 'false'
        usable_port_range:
            start: 10200
            stop: 10500
    ssh:
        host: null
        port: null
        private_key_path: null
        username: vagrant
        guest_port: null
        keep_alive: true
        forward_agent: false
        forward_x11: false
        shell: 'bash -l'
    vagrant:
        host: detect
server:
    install: '1'
    packages:
        - vim
users_groups:
    install: '1'
    groups: {  }
    users: {  }
cron:
    install: '1'
    jobs: {  }
firewall:
    install: '1'
    rules: null
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - rewrite
    vhosts:
        jvuksjbzdmwv:
            servername: local.dev
            serveraliases:
                - local.dev
            docroot: /var/www/local.dev
            port: '80'
            setenv:
                - 'APP_ENV dev'
            directories:
                dydkrpshy1cn:
                    provider: directory
                    path: /var/www/local.dev
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - all
                        - granted
                    custom_fragment: ''
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
    mod_pagespeed: 0
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    upstreams: {  }
    vhosts:
        ookcuhqyxlu9:
            proxy: ''
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            location: \.php$
            index_files:
                - index.html
                - index.htm
                - index.php
            envvars:
                - 'APP_ENV dev'
            engine: php
            client_max_body_size: 1m
            ssl_cert: ''
            ssl_key: ''
php:
    install: '1'
    version: '56'
    composer: '1'
    composer_home: ''
    modules:
        php:
            - cli
            - intl
            - mcrypt
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
    timezone: Europe/Paris
    mod_php: 0
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings:
        host: 127.0.0.1
        port: '9000'
    ini:
        display_errors: On
        error_reporting: '-1'
    timezone: null
xdebug:
    install: '1'
    settings:
        xdebug.default_enable: '1'
        xdebug.remote_autostart: '0'
        xdebug.remote_connect_back: '1'
        xdebug.remote_enable: '1'
        xdebug.remote_handler: dbgp
        xdebug.remote_port: '9000'
xhprof:
    install: '0'
wpcli:
    install: '0'
    version: v0.17.1
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions:
        8l36S1KWt8yl:
            version: ''
            bundler: '1'
nodejs:
    install: '1'
    npm_packages: {  }
python:
    install: '1'
    packages: {  }
    versions:
        a2lvQedT5LCJ:
            version: 3.4.0
mysql:
    install: '1'
    override_options: {  }
    root_password: root
    adminer: 0
    databases: {  }
postgresql:
    install: '0'
    settings:
        root_password: '123'
        user_group: postgres
        encoding: UTF8
        version: '9.3'
    databases: {  }
    adminer: 0
mariadb:
    install: '0'
    override_options: {  }
    root_password: '123'
    adminer: 0
    databases: {  }
    version: '10.0'
sqlite:
    install: '0'
    adminer: 0
    databases: {  }
mongodb:
    install: '0'
    settings:
        auth: 1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
mailcatcher:
    install: '1'
    settings:
        smtp_ip: 0.0.0.0
        smtp_port: 1025
        http_ip: 0.0.0.0
        http_port: '1080'
        mailcatcher_path: /usr/local/rvm/wrappers/default
        from_email_method: inline
beanstalkd:
    install: '0'
    settings:
        listenaddress: 0.0.0.0
        listenport: '13000'
        maxjobsize: '65535'
        maxconnections: '1024'
        binlogdir: /var/lib/beanstalkd/binlog
        binlogfsync: null
        binlogsize: '10485760'
    beanstalk_console: 0
    binlogdir: /var/lib/beanstalkd/binlog
rabbitmq:
    install: '0'
    settings:
        port: '5672'
elastic_search:
    install: '0'
    settings:
        version: 1.4.1
        java_install: true
solr:
    install: '0'
    settings:
        version: 4.10.2
        port: '8984'

Je me permet de reposter un message car je ne comprend pas comment on fait Netchaiev et Clément pour résoudre ce problème. Merci

Salut,

J'ai dû reformater ma bécane, donc je n'ai plus la trace de ce que j'ai fait. Mais si je me souviens bien j'avais du mettre dans la cible :
/var/www/html/local.dev . Le /var/www/local.dev ne fonctionnait pas.

Dis moi si cela fonctionne mieux comme cela.

Un simple mod_php à suffit

Je testerais demain car j'ai exactement le même problème. Ce qui est bizarre c'est que j'avais coché mod _ php, je retesterais demain. Si cela ne marche pas, j'installe une solution LAMP et je deconseillerais vagrant.

Salut,
LeKnoppix : non non non, il ne faut pas dire du mal de Vagrant. En plus il n'y est pour rien.

Concernant l'erreur file not found, J'ai pu faire fonctionner le php5-fpm en modifiant le fichier vhost généré :
Dans /etc/apache2/sites-available/25-xxx.conf il y a une ligne de ce type :

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000**/var/www/website/**$1

Il faut s'assurer que le chemin en gras corresponde bien au docroot et directory indiqué dans ce meme fichier
Ensuite, un petit sudo service php5-fpm restart est ca marche.

Netchaiev tu peux marquer le topic comme résolu, je pense que ça aidera pas mal de monde par la suite !