
내 설정
개발용 웹 서버 역할을 하도록 Ubuntu VM을 설정하고 싶습니다.
이유
실제 프로덕션 환경과 최대한 가까운 개발 환경을 갖고 싶습니다.
문제
위 설정이 실패했습니다. 다음으로 이동할 때 계속 파일을 찾을 수 없음 메시지가 나타납니다.http://project1.localhost:8888
내가 시도한 것
나는 다음을 사용하여 www-data
그룹에 추가했습니다.vboxsf
sudo adduser www-data vboxsf
아래 중 하나를 시도하기 전에.
- 언급했듯이 위의 설정을 시도했습니다. 웹페이지에서 파일을 찾을 수 없음 오류가 발생했습니다.
- 위의 설정을 시도했지만 에서 으로 심볼릭 링크를 연결
/var/virtual/project1
했습니다/media/sf_WebApps/project1
. 웹페이지에서 파일을 찾을 수 없음 오류가 발생했습니다. - 나는 에서
/media/sf_WebApps
까지 를 줄이려고 노력했다 . 불가능합니다.root:vboxsf
www-data:vboxsf
- 755로 chmod를 시도했습니다.
/media/sf_WebApps
불가능합니다. - 나는 사본을 만들어
/media/sf_WebApps/project1
그 안에 사본을 넣었습니다/var/virtual
. 이것은 작동합니다.하지만 이것은 내가 원하는 것이 아니다. 왜 안 돼?왜냐하면 github mac app 및 sublime text editor와 같은 호스트 프로그램을 쉽게 사용하여 코드 기반을 변경하고 브라우저를 방문할 때 반영되는 것을 확인하고 싶기 때문입니다.
답변1
답이 발견되었습니다여기 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
답변2
- /etc/group을 편집하려면
- "vboxsf"가 포함된 줄을 찾으려면
- 콜론 뒤에 계정을 추가하려면(예: www-data) 여러 계정을 추가해야 하는 경우 쉼표로 구분할 수 있습니다.
- 다시 로그인하거나 재부팅하세요
답변3
@KimStacks 솔루션과 비슷한 작업을 수행했지만 /etc/init/SOMETHING.conf
Ubuntu 18.04 LTS에서 변경해도 작업을 수행할 수 없습니다.start on starting
좋아 start on startup
하다스택 오버플로 예.
나는 다음 단계가 훨씬 쉽다는 것을 알았습니다.
영구 마운트 지점을 만듭니다(한 번 마운트하는 대신 이 위치 사용
/media
).sudo mkdir /some/location
uid 및 gid 가져오기의
www-data
:id www-data
crontab 파일을 편집합니다:
sudo crontab -e
@reboot
줄 추가부팅시 실행되게 하려면( 이전 단계의 uid 및 gid 로USER_ID
및 교체):GROUP_ID
@reboot mount -t vboxsf VirtualBoxFolderShareName /some/location -o uid=USER_ID,gid=GROUP_ID