開発用のWebサーバーとして機能するようにUbuntu VMをセットアップしたいと思います。
できるだけ実際の本番環境に近い開発環境を作りたいです。
上記のセットアップは失敗しました。 http://project1.localhost:8888 に移動すると、ファイルが見つかりません。
www-data
をグループvboxsf
に追加しました
Sudo adduser www-data vboxsf
以下のいずれかを試す前に。
/var/virtual/project1
から/media/sf_WebApps/project1
へのシンボリックリンクがあります。 Webページにファイルが見つかりませんというエラーがあります。/media/sf_WebApps
をroot:vboxsf
からwww-data:vboxsf
にchownしようとしました。ありえない。/media/sf_WebApps
を755にchmodしようとしました。不可能です。/media/sf_WebApps/project1
のコピーを作成し、そのコピーを/var/virtual
内に配置しました。これは機能しますしかしこれは私が望むものではありません。なぜですか? githubmacアプリや崇高なテキストエディタなどのホストプログラムを簡単に使用したいコードベースに変更を加えて、ブラウザにアクセスしたときに反映されることを確認します。答えは見つかりました ここではserverfaultから 。
基本的に、(すでにマウントされている)共有フォルダーを別のユーザーとしてマウントする必要があります。
タイプ
mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest
この場合、
mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name
ゲストOSをオンにするたびにこのマウントを実行する場合は、/ etc/init /SOMETHING.confに次のようなファイルを作成します。
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
あなたのuidまたはgidが何であるかを知るために
id -u username
id -g username
トラブルシューティング:
常に最初にマウントポイントを作成することを忘れないでください。
常に最初にGuestAdditionsをインストールすることを忘れないでください。 [ゲスト追加のインストール]で http://docs-v1.vagrantup.com/v1/docs/base_boxes.html を参照できます。
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
@KimStacksソリューションと同様のことをしましたが、 /etc/init/SOMETHING.conf
をstart on starting
に変更しても、start on startup
をUbuntu18.04LTSで動作させることができませんでした。 スタックオーバーフローの例 。
これらの手順ははるかに簡単でした。
永続的なマウントポイントを作成します(一度マウントすると、/media
ではなくこの場所を使用します):
Sudo mkdir /some/location
idとgidを取得 of www-data
:
id www-data
Crontabファイルを編集します。
Sudo crontab -e
@reboot
行を追加します 起動時に実行するため (USER_ID
とGROUP_ID
を前の手順のuidとgidに置き換えます):
@reboot mount -t vboxsf VirtualBoxFolderShareName /some/location -o uid=USER_ID,gid=GROUP_ID