본문 바로가기
IT 끄적이기

클라우드 서버에 code server 설치하기

by 미르아 2025. 5. 24.
728x90

곧 해외여행을 나가려는데 맥북을 가져갈까 패드를 가져갈까 하다가 뭔가 노트북은 분실하거나 파손의 위험이 있어서 조금 더 가볍고 안전하게 패드를 가져가려고 준비를 했다.

 

근데 패드를 가져가게 되면 코딩할 때 맥북보다는 불편할 것 같아서 개인 클라우드 서버에 Code server를 설치해보려고 한다.

 

설치 방법은 다음과 같다. 해당 명령어를 순서대로 입력해 주면 된다. 

# 1. 설치 스크립트 실행
curl -fsSL https://code-server.dev/install.sh | sh

# 2. 기본 설정 폴더 확인 및 비밀번호 설정
mkdir -p ~/.config/code-server
vi ~/.config/code-server/config.yaml

 

curl -fsSL https://code-server.dev/install.sh | sh
Ubuntu 18.04.5 LTS
Installing v3.5.0 deb package from GitHub releases.

+ mkdir -p ~/.cache/code-server
+ curl -#fL -o ~/.cache/code-server/code-server_3.5.0_amd64.deb.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.5.0/code-server_3.5.0_amd64.deb
######################################################################## 100.0%######################################################################### 100.0%
+ mv ~/.cache/code-server/code-server_3.5.0_amd64.deb.incomplete ~/.cache/code-server/code-server_3.5.0_amd64.deb
+ sudo dpkg -i ~/.cache/code-server/code-server_3.5.0_amd64.deb
Selecting previously unselected package code-server.
(Reading database ... 67091 files and directories currently installed.)
Preparing to unpack .../code-server_3.5.0_amd64.deb ...
Unpacking code-server (3.5.0) ...
Setting up code-server (3.5.0) ...

To have systemd start code-server now and restart on boot:
  sudo systemctl enable --now code-server@$USER
Or, if you don't want/need a background service you can run:
  code-server

 

설치 폴더를 변경하고 싶을 경우 원하는 경로로 설정해주면 된다. mkdir이 디렉토리를 생성하는 명령어이다.

마지막 명령어의 vi는 편집기인데 code server의 yaml 파일을 만들어 주기 위해 입력하는 명령어이다.

 

config.yaml 파일의 내용은 아래와 같다.

bind-addr: 0.0.0.0:8080
auth: password
password: 원하는비밀번호
cert: false

 

bind-addr 은 code server를 실행하기 위해 열어주는 포트이다.

비밀번호는 code server를 구축 후 접속하게 되면 입력해 주는 비밀번호이다.

 

혹시나 원하는 포트가 열려 있지 않다면 먼저 열어줘야 한다.

# 1. 먼저 SSH 포트를 허용
sudo ufw allow ssh  # 또는 sudo ufw allow 22

# 2. 그 다음에 기본 정책을 설정
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 3. 이제 필요한 다른 포트 (예: 8080) 개방
sudo ufw allow 8080

# 4. 마지막으로 방화벽 활성화
sudo ufw enable

 

실수로 2번부터 입력하게 되면 모든 포트가 막히기 때문에 순서를 중요시해주어야 한다. 포트가 개방되었다면 실행을 해주면 된다.

 

설치 후 실행하는 명령어는 아래와 같다.

# 3. 실행
code-server

 

명령어를 입력하게 되면 실행이 되고 로그들이 보이게 된다.

 

code server가 실행이 되고 접속하게 되면 위와 같은 화면이 나온다.

 

나는 nginx를 통해 dns 설정을 하고 접속을 연결하려고 설정을 했다. 오랜만에 리눅스를 해서 버벅거린 부분이 있었다.

 

config 파일에 0.0.0.0:8080으로 되어있는데 이렇게 되면 외부에서도 접속이 가능하기 때문에 nginx를 통해서 접속되는 것이 아닌

그냥 바로 code server에 접속을 하여 nginx에 https를 적용해도 적용이 되지 않는다.

 

그래서 config 파일에 0.0.0.0을 127.0.0.1:8080으로 수정해 주면 nginx를 통해서 접속을 하게 된다.

 

아래 이미지를 보면 안전한 연결로 변경이 된 것을 확인할 수 있다.

 

인증서를 발급받으려면 여러 가지 방법이 있지만 보통은 certbot을 활용해서 하면 무료로 발급받을 수 있다. 다만 주기적으로 갱신이 필요하다.

 

certbot 설치 방법은 다음과 같다.

certbot 설치

레포지토리 추가

#  add-apt-repository ppa:certbot/certbot

설치
# apt install python3-certbot-nginx 

SSL 인증서 가져오기

ex)sudo certbot --nginx -d test.duckdns.org -d www.test.duckdns.org

 

 

리다이렉트를 할 것인지 선택할 수 있다. 보통은 리다이렉션을 하는 편이다.

 

sudo certbot certificates

 

인증서 만료일이 얼마나 남았는지 확인하는 방법

sudo certbot renew --dry-run

 

갱신 프로세스가 올바르게 작동하는지 테스트할 수 있는 명령어

 

또는 crontab 같은 걸 이용해서 자동 갱신을 설정해 놓을 수 있다. 이 부분은 나중에 따로 설명을 하도록 하겠다.

 

728x90