Vagrant, Symfony, разрешение chmod

Хост: Ubuntu последняя версия x64 vagrant 1.7.2 (puphpet) Конфигурация Yaml:

vagrantfile:
    target: local
    vm:
        box: puphpet/debian75-x64
        box_url: puphpet/debian75-x64
        hostname: developer
        memory: '1024'
        cpus: '1'
        chosen_provider: virtualbox
        network:
            private_network: 192.168.56.2
            forwarded_port:
                vflnp_o959ky5yk541:
                    host: '8592'
                    guest: '22'
        post_up_message: ''
        provider:
            virtualbox:
                modifyvm:
                    natdnshostresolver1: on
                showgui: '0'
            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:
            vflsf_xjd88rswg95m:
                source: ../Presta/www
                target: /var/www/presta
                sync_type: nfs
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
                # owner: www-data
                # group: www-data
            vflsf_htm6wvj2khq1:
                source: '../Karty_Pracy/www'
                target: /var/www/worksheets
                sync_type: nfs
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
                # owner: www-user
                # group: www-data
            vfawf_htsadas3khq1:
                source: '../Magazyn/www'
                target: /var/www/warehouse
                sync_type: nfs
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
                # owner: www-user
                # group: www-data
                # map_uid: 0
                # map_gid: 0    
        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:
        - htop
        - zsh
        - git
        - mc
        - unzip
        - zip
        - unrar
users_groups:
    install: '1'
    groups: {  }
    users: {  }
firewall:
    install: '1'
    rules: {  }
cron:
    install: '1'
    jobs: {  }
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    upstreams: {  }
    vhosts:
        nxv_nwz3nbjvoere:
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            index_files:
                - index.html
                - index.htm
                - index.php
            client_max_body_size: 1m
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_port: '443'
            ssl_protocols: ''
            ssl_ciphers: ''
            rewrite_to_https: '1'
            spdy: '1'
            locations:
                nxvl_nfl6ndp0s1h1:
                    location: /
                    autoindex: off
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: ''
                    fastcgi_index: ''
                    fastcgi_split_path: ''
                nxvl_oy9dxc91j6zf:
                    location: '~ \.php$'
                    autoindex: off
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: '127.0.0.1:9000'
                    fastcgi_index: index.php
                    fastcgi_split_path: '^(.+\.php)(/.*)$'
                    fast_cgi_params_extra:
                        - 'SCRIPT_FILENAME $request_filename'
                        - 'APP_ENV dev'
    proxies: {  }
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - proxy_fcgi
        - rewrite
    vhosts:
        presta:
            servername: presta.dev
            serveraliases:
                - www.presta.dev
            docroot: /var/www/presta
            port: '80'
            setenv:
                - 'APP_ENV dev'
            custom_fragment: ''
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
            ssl_protocol: ''
            ssl_cipher: ''
            directories:
                avd_hycw94gg20u6:
                    path: /var/www/presta
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - 'all granted'
                    custom_fragment: ''
                    files_match:
                        avdfm_0yv1i2x4gd9j:
                            path: \.php$
                            sethandler: 'proxy:fcgi://127.0.0.1:9000'
                            custom_fragment: ''
                            provider: filesmatch
                    provider: directory
        worksheets:
            servername: worksheets.dev
            serveraliases:
                - www.worksheets.dev
            docroot: /var/www/worksheets/web
            port: '80'
            setenv:
                - APP_ENV_dev
            custom_fragment: ''
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
            ssl_protocol: ''
            ssl_cipher: ''
            directories:
                avd_88fsnn8di1c5:
                    path: /var/www/worksheets/web
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - 'all granted'
                    custom_fragment: ''
                    files_match:
                        avdfm_ro0fe2wzpcad:
                            path: \.php$
                            sethandler: 'proxy:fcgi://127.0.0.1:9000'
                            custom_fragment: ''
                            provider: filesmatch
                    provider: directory
        warehouse:
            servername: warehouse.dev
            serveraliases:
                - www.warehouse.dev
            docroot: /var/www/warehouse/web
            port: '80'
            setenv:
                - APP_ENV_dev
            custom_fragment: ''
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
            ssl_protocol: ''
            ssl_cipher: ''
            directories:
                avd_88fsnn8diaw5:
                    path: /var/www/warehouse/web
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - 'all granted'
                    custom_fragment: ''
                    files_match:
                        avdfm_ro0fe2wzpcad:
                            path: \.php$
                            sethandler: 'proxy:fcgi://127.0.0.1:9000'
                            custom_fragment: ''
                            provider: filesmatch
                    provider: directory        
php:
    install: '1'
    settings:
        version: '56'
    modules:
        php:
            - cli
            - intl
            - mcrypt
            - curl
            - cgi
            - gd
            - imagick
            - mysql
            - mysqlnd
            - sqlite
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
        date.timezone: UTC
    fpm_ini:
        error_log: /var/log/php-fpm.log
    fpm_pools:
        phpfp_tl7whm0zxnuj:
            ini:
                prefix: www
                listen: '127.0.0.1:9000'
                security.limit_extensions: .php
                user: www-user
                group: www-data
    composer: '1'
    composer_home: ''
xdebug:
    install: '1'
    settings:
        xdebug.default_enable: '1'
        xdebug.remote_autostart: '1'
        xdebug.idekey: PHPStorm
        xdebug.remote_connect_back: '1'
        xdebug.remote_enable: '1'
        xdebug.remote_handler: dbgp
        xdebug.remote_port: '9000'
blackfire:
    install: '0'
    settings:
        server_id: ''
        server_token: ''
        agent:
            http_proxy: ''
            https_proxy: ''
            log_file: stderr
            log_level: '1'
        php:
            agent_timeout: '0.25'
            log_file: ''
            log_level: '1'
xhprof:
    install: '0'
wpcli:
    install: '0'
    version: v0.19.0
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions: {  }
python:
    install: '1'
    packages: {  }
    versions: {  }
nodejs:
    install: '1'
    npm_packages:
        - bower
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings: {  }
    server_ini:
        hhvm.server.host: 127.0.0.1
        hhvm.server.port: '9000'
        hhvm.log.use_log_file: '1'
        hhvm.log.file: /var/log/hhvm/error.log
    php_ini:
        display_errors: On
        error_reporting: '-1'
        date.timezone: UTC
mysql:
    install: '1'
    settings:
        version: '5.6'
        root_password: presta
        override_options: {  }
    adminer: '1'
    users:
        mysqlnu_9vxflivbus3n:
            name: presta
            password: presta
        mysqlnu_uvdxcu9kcnmf:
            name: worksheets
            password: worksheets
        mysqlnu_9vxfladvbus3n:
            name: warehouse
            password: warehouse
    databases:
        mysqlnd_0eud6qyvgftl:
            name: presta
            sql: ''
        mysqlnd_310bhtyb1ezk:
            name: worksheets
            sql: ''
        mysqlnd_310bhaddsdasdw:
            name: warehouse
            sql: ''    
    grants:
        mysqlng_er3ka00fh3xm:
            user: presta
            table: '*.*'
            privileges:
                - ALL
        mysqlng_l0g86y9hymun:
            user: worksheets
            table: '*.*'
            privileges:
                - ALL
        mysqlng_l0asdy9hymun:
            user: warehouse
            table: '*.*'
            privileges:
                - ALL
postgresql:
    install: '0'
    settings:
        global:
            encoding: UTF8
            version: '9.3'
        server:
            postgres_password: '123'
    databases: {  }
    users: {  }
    grants: {  }
    adminer: 0
mongodb:
    install: '0'
    settings:
        auth: 1
        bind_ip: 127.0.0.1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
sqlite:
    install: '1'
    adminer: 0
    databases: {  }
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: headers
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
rabbitmq:
    install: '0'
    settings:
        port: '5672'
    users: {  }
    vhosts: {  }
    plugins: {  }
elastic_search:
    install: '0'
    settings:
        version: 1.4.1
        java_install: true
solr:
    install: '0'
    settings:
        version: 4.10.2
        port: '8984'

Выпуск:

$ php app / console fos: user: change-password admin admin

[Symfony \ Component \ Debug \ Exception \ ContextErrorException] Предупреждение: chmod(): операция не разрешена

ФОС: пользователь: переключающий пароль

На веб-выпуск тоже рассчитывает. Разрешения выглядит хорошо:

$ ls -la
total 224
drwxrwxrwx 12 www-data www-data   4096 Jul  2 12:57 ./
drwxrwxr-x  6 root     www-data   4096 Jul  3 06:39 ../
drwxrwxrwx  6 www-data www-data   4096 Jul  2 13:26 app/
drwxrwxrwx  2 www-data www-data   4096 Jun 26 10:51 bin/
-rwxrwxrwx  1 www-data www-data    362 Jul  2 12:57 bower.json*
-rwxrwxrwx  1 www-data www-data     35 Jul  2 12:57 .bowerrc*
-rwxrwxrwx  1 www-data www-data   3340 Jul  2 12:57 composer.json*
-rwxrwxrwx  1 www-data www-data 154557 Jul  2 09:50 composer.lock*
drwxrwxrwx  2 www-data www-data   4096 Jul  2 12:57 doc/
drwxrwxrwx  3 www-data www-data   4096 Jul  2 10:25 files/
drwxrwxrwx  8 www-data www-data   4096 Jul  3 06:47 .git/
-rwxrwxrwx  1 www-data www-data    164 Jul  2 12:57 .gitignore*
drwxrwxrwx  3 www-data www-data   4096 Jul  3 06:26 .idea/
drwxrwxrwx  3 www-data www-data   4096 Jul  2 12:57 src/
-rwxrwxrwx  1 www-data www-data    595 Jul  2 12:57 sync.sh*
-rwxrwxrwx  1 www-data www-data    245 Jul  2 12:57 TODO*
drwxrwxrwx  3 www-data www-data   4096 Jul  2 10:54 var/
drwxrwxrwx 37 www-data www-data   4096 Jul  2 09:59 vendor/
drwxrwxrwx 10 www-data www-data   4096 Jul  2 13:01 web/

Итак, это выглядит как плохое монтирование nfs(не могу использовать chmod) Как это решить?

3 ответа

Это может быть связано с этой проблемой. Решение:

vagrant plugin uninstall vagrant-bindfs
vagrant reload

Надеюсь, поможет.

Вы должны запустить эту команду fos:user:change-password от /vagrant папка (не из /var/www/presta)

Итак, это выглядит как плохое монтирование nfs(не могу использовать chmod) Как это решить?

Вы должны рассматривать виртуальную коробочную сторону синхронизированной папки как "только для чтения". Запустите команды, которые изменяют содержимое синхронизируемой папки вместо этого на самом главном компьютере (вашем Mac); например, php composer.phar install, Удаленные ОС (виртуальные машины) будут вызывать ошибки "Операция не разрешена" при попытке изменить файлы, созданные в операционной системе хоста.

Для справки, смотрите мой ответ на аналогичный вопрос по этой ссылке:

Операция не разрешена проблема...

Есть еще один ответ, который обсуждает важность лечения synced_folders как доступное только для чтения расположение файлов на ваших виртуальных машинах.

Как использовать vagrant на нескольких проектах

Другие вопросы по тегам