-추가사항-
2015-08-12 에 버추얼박스 5.0 하위 방법으로 설치 성공하였습니다.
phpvirtualbox 도 5.0에 맞게 대응업데이트가 되었으니 최신버전으로 작업하시면 됩니다.
안녕하세요. 도정진입니다.
카페에 글을 쓰다보니 폰트가 너무 작은것 같아서 1.5 포인트를 올려서 글을 작성합니다. ㅎㅎ
이 글은 ARM 장치의 리눅스에서는 지원되지 않습니다. 인텔 x86 에서만 지원됩니다.
오늘은 우분투/데비안 리눅스 서버에 버추얼박스를 설치해보고 그것을 웹페이지로 컨트를 해 보겠습니다. 실제로 화면 (xwindow) 를 열어서 화면을 보면서 버추얼박스를 컨트롤 할 수 있지만 실제로는 서버에 화면을 원격으로 연결해서 하는 작업이 매우 번거롭기 때문에 웹상에서 컨트롤 할 수 있는 UI가 있으면 정말 편할것 같았습니다.
그래서 찾은 대안이 phpvirtualbox 입니다. 이것을 사용해서 버추얼박스를 컨트롤이 가능하고 내장된 VNC 추가 모듈을 통해 콘솔 접속을 하실 수 있습니다.
설치하면서 한가지 문제점에 봉착한것이 있습니다. phpvirtualbox 는 기본으로 설정된 계정이 admin/admin 인데 제 서버에서는 아무리 작업해도 admin/admin 으로 로그인이 되지 않았습니다. (비밀번호 리커버리 작업을 해도 마찬가지였습니다.) 그래서 저는 그냥 No Auth 모드로 설정하고 아파치 서버단에서 인증작업을 추가했습니다.
실제로 phpvirtualbox 에 내장된 유저 기능으로 작업하게 되면 서버가 아주 크다고 가정할 때 각 유저마다 사용자 계정으로 접속한 것처럼 개인화가 가능하지만 일반적인 개인 클라우드에서는 그정도 까지는 필요없기 때문에 간단하게 아이디와 비번을 거는것으로 해결을 보았습니다.
그럼 시작합니다.
1. 버추얼 박스 설치
실제로 버추얼 박스는 apt-get install virtualbox 하면 설치가 되긴 합니다만 이미 공식 홈페이지에 우분투 / 데비안 용 레포가 있습니다. 그것을 통해서 최신버전을 설치해 보도록 하겠습니다.
레포 리스트를 추가해야 하기 때문에 아래의 파일을 열어줍니다.
nano /etc/apt/sources.list |
파일을 열어보면 아래처럼 생겼습니다. 맨 아래 부분에 추가해 줍니다.
deb http://download.virtualbox.org/virtualbox/debian trusty contrib deb http://download.virtualbox.org/virtualbox/debian saucy contrib deb http://download.virtualbox.org/virtualbox/debian raring contrib deb http://download.virtualbox.org/virtualbox/debian quantal contrib deb http://download.virtualbox.org/virtualbox/debian precise contrib deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free deb http://download.virtualbox.org/virtualbox/debian wheezy contrib deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free |
위 주소들은 각 리눅스 배포판에 맞는 소스 주소입니다. 그중에 맞춰서 하나만 추가해 주시면 됩니다. 정확하지는 않지만 trusty 는 우분투 14.04 / saucy 는 12.04 / wheezy 는 데비안 7.0 / squeeze 는 데비안 6.0 으로 알고 있습니다. ㅎㅎ
저는 우분투 14.04 이기 때문에 제일 위의 것을 추가하였습니다.
이렇게 저장해 주시고 컨트롤 + O (저장) 후 컨트롤 + X 눌러서 나옵니다.
그 다음, 위의 레포에 대한 키 파일을 등록시켜 주어야 합니다. 키파일을 먼저 다운받고 추가해 줍니다.
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - |
이렇게 하고 나면 방금 추가한 repo 에 대한 키가 추가 됩니다. 그리고 레포 설정이 끝났으니 패키지 리스트를 업데이트 합니다.
apt-get update |
이렇게 해준뒤에 버추얼 박스를 설치해 봅니다.
apt-get install virtualbox-4.3 |
현 최신버전은 4.3 버전입니다. 혹시나 하위버전을 설치하고 싶으시다면 - 뒤에 원하시는 버전을 적으시면 됩니다.
그럼 버추얼 박스 관련 모듈들이 빌드되어 설치가 됩니다. (시간이 좀 걸립니다.)
2. 버추얼 박스 Extension Pack 설치하기
Extension Pack 은 확장팩입니다. 이 팩을 왜 설치하는지는 모르겠지만 풀버전의 버추얼박스 구동을 위해서 설치를 진행합니다. (실제로 물리적인 USB 를 내부에 마운투 하는데에 쓰인다고 합니다.)
그럼 일단 Extension Pack 은 GUI 상태에서 설치를 하실 수도 있습니다만 기본적으로 터미널에서 설치를 진행해 보겠습니다.
Extension Pack 의 경우 지금 구동하고 있는 버추얼 박스 버전과 같아야 함으로 현재 설치된 버전이 무엇인지 알아야 합니다. 설치된 버전은 설치 당시에 로그를 보시면 버전을 알 수 있습니다.
그에 맞는 버전을 wget 으로 받겠습니다.
https://www.virtualbox.org/wiki/Downloads
상기 주소로 이동하여 해당하는 버전의 Extension Pack 의 주소를 복사합니다.
그리고 터미널 창에 붙여넣습니다. (wget ______________________________(주소) )
저는 4.3.20 을 사용하기 때문에 아래처럼 넣었습니다.
그럼 위의 파일이 받아지고 Extension Pack 설치는 아래처럼 하시면 됩니다.
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.20-96996.vbox-extpack |
이렇게 하시면 Extension Pack 설치가 완료됩니다.
3. VBoxWebService 활성화 하기
실제로 버추얼박스 웹서비스를 활성화 하기 까지 많은 시행착오를 겪었습니다. 우분투 레포에 있는 것으로 설치하면 vboxwebservice 가 존재하지 않기 때문에 꼭 위의 오라클에서 제공하는 레포 주소로 설치를 진행하시길 바랍니다.
먼저 웹서비스를 할 계정을 추가합니다.
useradd –d /home/vbox –m vbox |
그리고 해당 계정의 패스워드를 설정해 줍니다.
passwd vbox |
그 다음 vbox 계정을 vboxuser 그룹에 추가해 줍니다.
adduser vbox vboxusers |
그럼 계정설정은 끝났습니다. 실제로 화면을 뛰어 버추얼 박스를 윈도우 에서 실행하시는 것처럼 하게 되면 유저가 vbox 유저로 로그인을 하지 않으시기 때문에 실제로는 거기서 만든 VM이 vbox 로 로그인하는 phpvirtualbox 에서는 보이지 않습니다. 참고하세요 ㅎㅎ
그리고 /etc/default/virtualbox 로 이동하시어 (기본적으로 없는 파일입니다. 새로 생성되는 파일입니다.) 위처럼 입력을 해줍니다. 계정은 위에서 설정하신대로 입력해 주시면 됩니다.
VBOXWEB_USER=vbox |
그리고 부팅시 자동실행 되도록 합니다.
update-rc.d vboxweb-service defaults |
그리고 서버를 시작합니다. 그리고 뭔가 설정이 잘 되지 않았으면 서버 Status 가 Not Running 으로 표시됩니다.
/etc/init.d/vboxweb-service start |
/etc/init.d/vboxweb-service status |
정상적으로 실행이 되는것을 체크합니다.
4. 아파치 웹서버 설치하기
아파치 웹서버 설치는 위의 글을 참고하셔서 추가적으로 아래의 패키지를 추가 설치해 주시면 됩니다.
apt-get install php-soap |
혹은 아래의 명령어로 설치합니다.
apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apache2 apache2-doc apache2-suexec libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php5-common php5-mysql php-pear |
이렇게 하면 아파치 웹서버가 설치가 됩니다. 그런데 위 명령어는 우분투 12.04 에 맞춰진 것으로 14.04 이신 분들은 꼭 위 제 블로그 게시물을 참고해 주시길 바랍니다.
설정을 따로 하지 않으셨다면 기본적인 웹루트는 /var/www 입니다. 아래의 소스포지에 가셔서 최신 phpvirtualbox 를 받아주세요.
http://sourceforge.net/projects/phpvirtualbox/
압축을 푸셔서 WinSCP 로 넣어주셔도 되고 wget 으로 하시고 unzip 을 통해서 터미널 상에서 작업하셔도 됩니다.
그럼 구조는 아래와 같이 됩니다.
그럼 http://아이피주소/vbox 로 접속해 봅니다. 위는 제 기준에 맞춰져 있습니다.
정상적으로 로그인 페이지가 뜰것입니다. 그럼 설치한 웹서버와 파일은 정상적으로 위치되었습니다. 그리고 한가지 php 파일을 수정해야합니다.
5. phpvirtualbox 설정하기
저는 이상하게도 phpvirtualbox 에서 기본 계정 admin / admin 으로 접속이 아무리 해도 안되었습니다. 그래서 apache 서버 단의 암호 기능을 사용했습니다. 추가 코멘트 주시면 글을 수정해 놓겠습니다.
phpvirtualbox 를 압축 푼 위치로 가시면 config.php.sample?? 이 있습니다. 그것을 config.php 로 바꾸시고 위 그림처럼 상기 3번에서 설정한 계정정보와 비밀번호를 넣습니다.
그렇게 하고 저장하고 다시 http://아이피주소/vbox 에 접속해 봅니다. 초기 암호와 비밀번호는 admin / admin 입니다. 그럼 로그인이 가능하고 웹페이지에 사용자 암호설정으로 비밀번호를 바꾸어 주시면 됩니다. 그럼 설치는 여기서 끝입니다.
그러나 저는 왜인지는 모르겠지만 admin / admin 으로 죽어도 로그인이 안되었습니다. 패스워드나 아이디가 틀렸다고 나오네요. 패스워드를 리커버리하는 php 파일을 통해 초기화 했음에도 불구하고 로그인이 안되어서 아파치 서버단의 패스워드 기능을 이용해서 보안작업을 하였습니다.
htpasswd 를 이용해서 페이지에 암호를 걸었습니다. (제일 기초적인 방식입니다. 보안성이 그리 좋지는 않습니다.)
htpasswd 를 터미널창에 입력해 봅니다. 설치가 안되어 있다고 하면 아래의 명령어로 설치해 주세요.
apt-get install apache2-utils |
그리고 아래처럼 패스워드 파일을 만듭니다.
명령어는 -c (패스워드파일위치) 아이디 입니다. 이것을 입력하면 패스워드를 입력하는 창이 뜹니다.
그리고 전에 가상호스트 설정하는 방법에 대해서 알려드렸습니다. 그 설정에 아래의 설정을 덧붙입니다.
http://blog.djjproject.com/118
<VirtualHost 192.168.0.14:80> ServerName vbox.djjproject.com ServerAlias www.vbox.djjproject.com ServerAdmin djj9404@gmail.com DocumentRoot /usbhdd/htdocs/vbox DirectoryIndex index.html index.php /_h5ai/server/php/index.php
ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/usbhdd/htdocs/vbox"> AllowOverride None Order allow,deny allow from all AuthType Basic AuthName "VirtualBox Web Interface" AuthUserFile /usbhdd/htdocs/vbox/passwd Require user djj9405 </Directory>
</VirtualHost> |
지금 제 가상호스트 설정파일입니다. 위처럼 설정을 해주시면 암호 걸기가 가능합니다. 그리고 phpvirtualbox config.php 에 noAuth 를 true 로 설정해 줍니다.
그럼 아래처럼 기본적인 보안이 작동됩니다.
6. 사용해보기
웹페이지에 들어가시면 위와같은 창이 뜨고 사용법은 예나 VirtualBox 와 같습니다.
설치 미디어는 원격으로 마운트가 불가능하기 때문에 서버에 위치가 되어 있어야 합니다.
윗 탭에는 현재 서버 정보가 보이고 밑 2번째에는 제가 만들어 놓은 가상머신이 보입니다.
오른쪽 위에 콘솔을 누르면 아래의 메뉴가 뜨고 VNC 로 화면이 원격으로 보입니다.
창이 너무 작거나 그러면 좀 불편하기 때문에 위의 Detach 를 누르면 원격 창이 팝업으로 열리게 됩니다.
네 그럼 여기까지 설치 및 사용기를 마치겠습니다.
감사합니다 ㅎㅎ
'서버 > 리눅스 서버' 카테고리의 다른 글
16. 우분투/데비안 ISCSI Target 설치하기. - 기본 (2) | 2015.05.12 |
---|---|
#3 BPI-R1 OpenMediaVault with Bananian (0) | 2015.02.21 |
11.1 우분투 / 데비안 Apache (아파치 서버) 가상호스트 및 도메인 설정하기 (0) | 2015.02.02 |
5.1 우분투 / 데비안 vsftpd 로컬 계정 쉘 로그인 방지하기 (0) | 2015.01.10 |
INTEL NUC DN2820 우분투 서버 구축 완료! (블로그 링크 수정됨) (6) | 2015.01.10 |
댓글