목차
- 배경
- Oracle VM Virtual Box 다운로드 및 설치
- 우분투 서버 이미지를 다운받고 Vitual Box에 설치
- SSH 설정 후 VS Code에서 접속 테스트
1. 배경
가상머신(Virtual Machine)이란, 컴퓨터의 하드웨어 등의 자원들을 소프트웨어로 구현해서 하나의 호스트에 여러개의 독립된 OS 환경을 구축할 수 있는 소프트웨어이다.
즉, 하나의 컴퓨터에서 다른 여러대의 컴퓨터를 생성하고 구축해 테스트하거나, 서버를 가상화 해서 사용할 수 있도록 도와준다.
평소에 PHP를 사용해 개발하고 있지만, 조금씩이라도 집에서 Node.js를 공부하고 싶었고, 실무 환경과 비슷하게 구성해서 실습해보고 싶어서 직접 환경을 구성해보기로 했다.
이 글에선, Virtual Box에 우분투 서버를 설치하고, VS Code에서 SSH를 사용해 원격으로 접속해서 개발할 수 있는 환경을 만드는 절차를 다룬다.
2. Oracle Virtual Box 다운로드 및 설치
https://www.virtualbox.org/wiki/Downloads
위 링크에서 OS와 아키텍쳐에 따라 Virtual Box를 다운로드해서 설치한다.
화면을 창 사이즈에 맞게 조정하는 등의 확장 기능이 필요하다면 Extension Pack을 설치하고,
Virtual Box에 추가한다.
3. 우분투 서버 이미지를 다운받고 Vitual Box에 설치
VS Code에서 SSH로 접속해 사용할 생각이기 때문에, UI적 요소에 컴퓨터 리소스를 사용하고 싶지 않아서 데스크탑 대신 서버 버전을 설치했다.
https://ubuntu.com/download/server
위 링크에서 Option 2를 선택하고 다운로드 버튼을 클릭해서 설치 파일을 다운로드 한다.
"Oracle Virtual Box > 상단의 Machine 메뉴 > New"를 클릭해서 가상 머신을 생성한다.
다음으로, 가상 머신에 할당할 RAM 사이즈를 설정한다. 권장은 1GB지만 조금 여유 있게 2GB로 설정했다.
다음으로, 하드디스크를 동적으로 할당할지, 고정으로 할당할지 정해야 하는데,
동적 할당은 최대 크기를 잡아 놓고, 디스크가 사용되면 최대 크기까지 할당되는 방식이고,
고정 할당은 최대 크기를 잡으면, 호스트 컴퓨터의 하드디스크에 최대 크기만큼 먼저 할당이 되는 방식이다.
여기선 동적 할당을 선택했다.
위와 같이 가상 머신을 만들었다면, "Settings" 버튼을 눌러서 설치 파일을 추가한다.
이제 가상 머신을 실행해서 우분투 서버를 설치해보자.
다음으로 디스크 레이아웃을 커스텀으로 설정한다.
여기선 "/", "/home", "swap" 파티션을 생성할 예정이다.
파티션을 나누는 이유는 OS를 재설치해야 할 때, /home과 같은 사용자 데이터를 다른 파티션에 영향을 주지 않고 OS만 갈아끼울 수 있기 때문이다.
https://dreamgonfly.github.io/blog/install-ubuntu-with-partition/
먼저, "/" 파티션은 커널, 부트, 시스템 등의 OS가 동작하기 위한 파일들이 저장된다. 10~20GB의 용량이 권장된다. 여기선 15GB를 할당해주었다.
다음으로, "swap"은 서버의 메모리가 부족할 경우 디스크 공간을 사용해서 메모리를 대체하는 기능을 하는 영역이다.
레드햇이 권장하는 스왑공간은 아래와 같다.
https://access.redhat.com/ko/solutions/744483
RAM 용량 | SWAP 용량 |
4GB 미만 | 2GB |
4GB ~ 16GB | 최소 4GB ~ RAM 용량의 절반 |
16GB ~ 64GB | 최소 8GB ~ RAM 용량의 절반 |
64GB ~ 256GB | 최소 16GB ~ RAM 용량의 절반 |
마지막으로, "/home" 파티션은 사용자의 데이터를 저장하는 공간으로, 남은 공간을 모두 할당하고 "Done"을 눌러 다음으로 진행한다.
다음은 프로필 설정을 했다. 사용자 이름과 서버 이름, 그리고 계정의 ID와 PW를 입력한 후 'Done'
다음은 OpenSSH 설치 여부인데, 우분투를 설치하고 나서 설치해도 되지만 함께 설치해 주었다.
다음은 서버를 설치할 때 많이 사용하는 패키지들 목록인데, 추가 설치하지 않고 진행했다.
이제 우분투가 설치되길 기다린다.
설치가 완료되면, "Reboot Now"를 눌러 우분투를 재부팅 하고 설치를 완료한다.
우분투가 부팅되면, 루트 계정의 비밀번호를 설정해준다.
sudo passwd root
다음으로, ifconfig 명령어를 사용하기 위해 net-tools 패키지를 설치한다.
sudo apt-get install net-tools
이제 ifconfig 명령어로 서버의 아이피를 확인하자
ifconfig
다음으로 Virtual Box의 Network 설정에서 포트포워딩을 설정해준다.
Host에서 127.0.0.1:22 주소로 요청을 하면, NAT 사설망으로 설정되어 있는 우분투 서버의 주소로 포워딩해주도록 한다.
여기선 아래와 같이 설정해 주었다.
4. SSH 설정 후 VS Code에서 접속 테스트
이제 VS Code에서 SSH 플러그인을 설치하고, 서버에 접속하면 된다.
간단하게 ssh 접속 테스트만 하고 싶은 경우, Putty 프로그램을 사용하거나, Windows의 Powershell을 사용해서 접속해보자.
VS Code에서 SSH 기능을 하는 플러그인을 설치해야 하는데,
여기선 SSH FS를 설치해서 테스트 했다.
먼저, 설정 파일을 생성해야 한다.
다음으로, 설정 파일의 내용을 수정한다.
Host는 Virtual Box에 포트 포워딩 설정을 했던 127.0.0.1로 설정하고,
Username과 Password는 우분투 서버의 계정 정보를 입력한다.
Virtual Box에서 포트포워딩을 설정할 때,
호스트의 포트 번호를 기본인 22번과 다르게 설정했다면, Port 항목도 수정해야 한다.
Password 대신에 SSH Key(Private Key)를 만들었다면,
Private Key 항목에 키 파일의 경로를 입력해야 한다.
마지막으로, 아래와 같이 버튼을 눌러서 Workspace folder에 새로 만든 설정 파일을 추가해주면,
서버에 접속해서 파일을 수정할 수 있게 된다.
SSH FS 플러그인은 터미널도 함께 접속할 수 있어서 편리하다.
아래와 같이 SSH Terminal 버튼을 누르면, 간편하게 터미널로 서버에 접속할 수 있다.
이렇게 Virtual Box와 Ubuntu Server를 설치하고, VS Code에서 SSH 플러그인을 사용해 접속 테스트를 해보았다.
'Server > Ubuntu' 카테고리의 다른 글
Ubuntu에 java jdk 8 설치 (0) | 2021.01.19 |
---|