Sonntag, 25. Mai 2014

Einem mit puPHPet aufgesetztem Vagrant schreibenden Zugriff auf das synchronisierte wwwroot des Host-Systems geben

Das Web ist voll von Diskussionen zu diesem Thema, und einige Tipps erfordern zeitintensive Eingriffe in die Konfiguration:

Folgende Konfigurationsanpassung in der Vagrantfile-Konfigurationsdatei hat bei mir das Problem gelöst, dass Apache im VMBox-Container nicht in das synchronisierte wwwroot auf meinem Mac OS X-Host schreiben konnte:

...
data['vm']['synced_folder'].each do |i, folder|
    if folder['source'] != '' && folder['target'] != ''
      nfs = (folder['nfs'] == "true") ? "nfs" : nil
      if nfs == "nfs"
        config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs
      else
        config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs,
          group: 'www-data', user: 'www-data', mount_options: ["dmode=777", "fmode=777"]
      end
    end
  end
...

Mit dem Parameter mount_options: ["dmode=777", "fmode=777"] schreiben die Web-Applikationen ihre Cache-Dateien munter und fröhlich in das wwwroot des Host-Systems.

Und ja, mir ist ehrlich gesagt schnurz, wenn die Entwickler ideologisch-religiöse Gründe vorbringen, wieso dies eine ganz, ganz schlechte Idee ist … ich verwende Vagrant, um genau solchen Konfigurationsalpträume aus dem Weg zu gehen und innert Minuten auf all meinen Entwicklungssystemen eine homogene Entwicklungsumgebung zu haben.

Etwas gutes hatten die Probleme aber: Ich habe eine meiner Web-Applikationen so angepasst, dass sie nun beim Starten auch prüft, ob sie überhaupt Schreibberechtigung auf das Cache-Verzeichnis hat.

Liked this post? Follow this blog to get more. 

Labels: Uncategorized

Kommentar erfassen