OCI 오라클 클라우드 Ubuntu Linux 우분투 리눅스에 VS Code Server 코드 서버 설치하기

반응형

  이번엔 VM 인스턴스에 VS Code-server를 설치해 보자. 로컬 PC에 설치된 VS Code처럼 서버상에 VS Code를 설치하는 건데, 뒤에 Server가 붙는 이유는 외부에서 접속이 가능하기 때문. 웹 브라우저로 어디서나 클라우드 서버 인스턴스에 접속할 수 있고 SSH, FTP를 대체해서 사용할 수도 있다.

  우선 링크는 아래 참조.

https://github.com/coder/code-server

 

GitHub - coder/code-server: VS Code in the browser

VS Code in the browser. Contribute to coder/code-server development by creating an account on GitHub.

github.com

 

 

  설치 방법은 간단하다. 아래처럼 curl 명령어를 이용해 파일을 다운받고 실행시킨다.

curl -fsSL https://code-server.dev/install.sh | sh

  설치까지 완료되었으면, 간단한 설정을 해줘야 되는데,

vim ~/.config/code-server/config.yaml

 

  위 경로에 있는 config.yaml 파일을 vim 명령어로 수정할거다. 아래처럼 작성해 주자. password는 VS Code-server를 접속할 때 사용할 비밀번호니 쓰기 편한 비번으로 수정해 주자. port를 다른 걸 쓰고 싶으면 8080 외 다른 걸로 지정해도 무리는 없다. 단, 앞의 ip 주소는 0.0.0.0으로 해야 한다.

  아래 화면이 뜬 후에 i를 누르면 INSERT모드로 바뀌고 수정할 수 있게 된다. 수정 후에는 esc 키를 누른 후 ':wq'를 쳐서 저장하고 종료한다.

vs code-server config.yaml 편집 화면

  그다음에는 8080 포트를 열어줘야 한다. 앞서 VCN 설정할 때도 열려 있어야 하고 연 다음에는 인스턴스부터 재시작 해줘라. 리눅스 상에서 포트 개방은 iptable을 이용할 거다.

sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

  그 다음에는 iptable을 재시작해준다.

service iptables restart

  이제 VS Code-Server 서비스를 올려보자. systemctl 명령어를 이용하는데 'enable'을 넣어줄 경우, 서버가 부팅될 때 자동으로 시작된다는 거다. @뒤에 root를 넣고 sudo로 실행해 주면 vs code-server로 들어갔을 경우, root 권한으로 디렉터리나 ssh를 사용할 수 있다. ssh야 su root가 있지만 explorer의 디렉터리 권한을 바꾸는 방법은 root로 실행하는 방법 밖에 없는 듯.

  systemctl은 start/stop/restart 그리고 enable/disable 을 넣어줄 수 있는데 경우에 맞게 사용하면 된다.

sudo systemctl enable --now code-server@root

  이제 서버 공용 ip에 :8080을 붙여서 웹브라우저에 쳐보자. 주의할 점은 https가 아니라 http다. https는 ssl 인증서를 받아서 적용해야 한다고 함.

http://xxx.xxx.xxx.xxx:8080/

  정상적으로 실행됐으면 아래처럼 비밀번호를 치는 화면이 나오는데 이건 아까 config.yaml에서 설정한 비밀번호를 넣어주면 된다.

vs code-server 로그인 화면

  아래처럼 화면이 뜨면 성공. 왼쪽 explorer에서 파일을 업로드/다운로드 할 수 있고, 메뉴 -> terminal에 가면 ssh 프롬프트 창을 띄워 작업할 수도 있다.

vs code-server 접속 화면

 

※ 혹시나 이후 잘 안되면 ufw로 방화벽을 추가로 열어보자.

ufw allow 8080/tcp

※ 아니면 VCN설정이나 config.yaml을 다시 확인하고, vs code-server를 재시작해보던지.

sudo systemctl restart code-server@root
반응형