Mein Setup

Mein Setup

Mein Setup

Bildbeschreibung hier eingeben

Ich möchte eine Ubuntu-VM als Webserver für die Entwicklung einrichten.

Grund

Ich möchte eine Entwicklungsumgebung haben, die der tatsächlichen Produktionsumgebung so nahe wie möglich kommt.

Problem

Die obige Einrichtung ist fehlgeschlagen. Ich erhalte immer die Meldung „Datei nicht gefunden“, wenn ich zuhttp://project1.localhost:8888

Was ich versucht habe

Ich habe www-datader Gruppe hinzugefügt vboxsfmit

sudo adduser www-data vboxsf

bevor Sie eine der folgenden Möglichkeiten ausprobieren.

  1. Wie erwähnt habe ich das obige Setup ausprobiert. Fehler „Datei nicht gefunden“ auf der Webseite.
  2. Ich habe das obige Setup ausprobiert, aber der symbolische Link von /var/virtual/project1zu lautet /media/sf_WebApps/project1: „Datei nicht gefunden“-Fehler auf der Webseite.
  3. /media/sf_WebAppsIch habe versucht, von root:vboxsfnach zu wechseln www-data:vboxsf. Nicht möglich.
  4. Ich habe versucht, den Chmod /media/sf_WebAppsauf 755 zu ändern. Nicht möglich.
  5. Ich habe eine Kopie von gemacht /media/sf_WebApps/project1und die Kopie darin platziert /var/virtual. Das funktioniert,aber das ist nicht, was ich will. Warum nicht?Weil ich mit meinen Hostprogrammen wie der GitHub-Mac-App und dem Sublime-Texteditor problemlos Änderungen an der Codebasis vornehmen und diese beim Besuch im Browser angezeigt sehen möchte.

Antwort1

Die Antwort ist gefundenhier von Serverfault.

Grundsätzlich müssen Sie den (bereits gemounteten) freigegebenen Ordner als anderer Benutzer mounten.

Typ

mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest

In diesem Fall wird es

mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name

Wenn Sie dieses Mounten bei jedem Einschalten des Gastbetriebssystems durchführen möchten, erstellen Sie eine Datei in /etc/init/SOMETHING.conf mit etwa Folgendem:

description     "SOME DESCRIPTION"

start on starting

task
exec mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name

So finden Sie Ihre UID oder GID heraus

 id -u username
 id -g username

Fehlerbehebung:

Denken Sie immer daran, zuerst den Einhängepunkt zu erstellen.

Denken Sie immer daran, zuerst die GuestAdditions zu installieren. Weitere Informationen finden Sie unterhttp://docs-v1.vagrantup.com/v1/docs/base_boxes.htmlunter „Gasterweiterungen installieren“.

sudo apt-get install linux-headers-$(uname -r) build-essential
sudo apt-get install dkms -y

sudo mount /dev/cdrom /media/cdrom
sudo sh /media/cdrom/VBoxLinuxAdditions.run

Antwort2

  1. So bearbeiten Sie /etc/group
  2. So finden Sie die Zeile, die "vboxsf" enthält
  3. Um ein Konto nach dem Doppelpunkt hinzuzufügen (wie www-data). Wenn Sie mehrere Konten hinzufügen müssen, können Sie diese durch Kommas trennen.
  4. Erneut anmelden oder neu starten

Antwort3

Ich habe etwas Ähnliches wie die @KimStacks-Lösung gemacht, konnte es aber /etc/init/SOMETHING.confunter Ubuntu 18.04 LTS nicht zum Laufen bringen, selbst wenn ich es geändert habestart on startingzu start on startupmögen dieStack Overflow-Beispiel.

Diese Schritte fand ich viel einfacher:

  • Erstellen Sie einen permanenten Einhängepunkt (verwenden Sie diesen Speicherort statt /mediader einmal eingehängten Position):

    sudo mkdir /some/location
    
  • Holen Sie sich die UID und GIDvon www-data:

    id www-data
    
  • Bearbeiten Sie die Crontab-Datei:

    sudo crontab -e
    
  • Hinzufügen einer @rebootZeiledamit es beim Booten läuft(ersetzen Sie USER_IDund GROUP_IDdurch die UID und GID aus den vorherigen Schritten):

    @reboot mount -t vboxsf VirtualBoxFolderShareName /some/location -o uid=USER_ID,gid=GROUP_ID
    

verwandte Informationen