Vagrant, Symfony, chmod permit

| | August 4, 2015

Host: ubuntu latest x64
vagrant 1.7.2
Configuration (puphpet)
Yaml config:

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'

Issue:

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

[SymfonyComponentDebugExceptionContextErrorException] Warning:
chmod(): Operation not permitted

fos:user:change-password

On web issue expects too.
Permissions looks good:

$ 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/

So, this looks like bad mounting nfs(can’t use chmod) How to solve this?

One Response to “Vagrant, Symfony, chmod permit”

  1. unrivaledcreations on November 30, -0001 @ 12:00 AM

    So, this looks like bad mounting nfs(can’t use chmod) How to solve this?

    You must treat the virtual box-side of a sync’ed folder as ‘read-only.’ Run commands which modify the contents of a sync’ed folder instead on the host computer itself (your Mac); for example, php composer.phar install. Remote OS’s (virtual machines) will cause “Operation not permitted” errors when they try to change files originating on the host operating system.

    For reference, see my answer to a similar question at this link:

    The Operation not permitted problem…

    There’s another answer that discusses the importance of treating synced_folders as read-only file locations on your Virtual Machines.

    How to use vagrant on multiple projects

Leave a Reply