Visual Studio Code를 설치하는 방법 - Ubuntu 18.04 LTS에 서버 IDE
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(Bionic Beaver)
이 페이지에서
- 1단계 - 사용자 추가 및 코드 서버 바이너리 다운로드
- 2단계 - Code-Server를 시스템 서비스로 설정
- 3단계 - SSL Letsencrypt 생성
- 4단계 - Nginx를 역방향 프록시로 설정\n
- 5단계 - 테스트
- 참조
Code-server는 서버에서 원격으로 실행할 수 있고 웹 브라우저를 통해 액세스할 수 있는 VS(Visual Studio) 코드입니다. 언제 어디서나 액세스할 수 있는 일관된 개발 환경을 만들고 가질 수 있습니다.
이 튜토리얼에서는 최신 Ubuntu 18.04 서버에 Nginx를 리버스 프록시로 사용하고 SSL Letsencrypt를 사용하여 Code-server를 설치하는 방법을 보여줍니다.
전제 조건
이 가이드에서는 Ubuntu 18.04 서버에 3GB RAM, 25GB 여유 디스크 공간 및 2CPU가 있는 Code-server를 설치합니다.
우리가 할 일:
- 사용자 추가 및 코드 서버 바이너리 다운로드
- 시스템 서비스로 코드 서버 설정
- SSL Letsencrypt 생성
- Nginx를 코드 서버용 리버스 프록시로 설정\n
- 테스트
1단계 - 사용자 추가 및 코드 서버 바이너리 다운로드
먼저 새 사용자를 추가하고 GitHub에서 코드 서버 바이너리 파일을 다운로드합니다.
아래 명령을 사용하여 새 사용자 코드를 추가하십시오.
useradd -m -s /bin/bash code
passwd code
이제 코드 사용자로 로그인하고 코드 서버 바이너리 파일을 다운로드합니다.
su - code
wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
코드 서버를 추출하고 디렉터리 이름을 bin으로 바꿉니다.
tar -xf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
mv code-server2.1692-vsc1.39.2-linux-x86_64/ bin/
이제 코드 서버를 실행 가능한 바이너리 파일로 만드십시오.
chmod +x ~/bin/code-server
그리고 사용자 데이터를 저장하기 위한 새로운 데이터 디렉토리를 생성합니다.
mkdir -p ~/data
이제 새 사용자 코드를 만들고 코드 서버 바이너리를 사용자 코드의 홈 디렉토리에 다운로드했습니다.
2단계 - Code-Server를 Systemd 서비스로 설정
이 단계에서는 시스템 서비스로 실행되도록 코드 서버를 설정합니다.
코드 서버 서비스는 기본 포트 8080 및 활성화된 암호 인증을 사용하여 사용자 코드에서 실행됩니다.
/etc/systemd/system 디렉토리로 이동하고 vim 편집기를 사용하여 새 서비스 파일인 code-server.service를 생성합니다.
cd /etc/systemd/system/
vim code-server.service
자신의 암호로 환경 옵션을 변경하고 구성을 붙여넣습니다.
[Unit]
Description=code-server
After=nginx.service
[Service]
User=code
WorkingDirectory=/home/code
Environment=PASSWORD=hakasevscodeserv
ExecStart=/home/code/bin/code-server --host 127.0.0.1 --user-data-dir /home/code/data --auth password
Restart=always
[Install]
WantedBy=multi-user.target
저장하고 닫습니다.
이제 시스템 관리자를 다시 로드하십시오.
systemctl daemon-reload
그런 다음 코드 서버 서비스를 시작하고 다음 명령을 사용하여 시스템 부팅에 추가합니다.
systemctl start code-server
systemctl enable code-server
이제 코드 서버 서비스를 확인하십시오.
netstat -plntu
systemctl status code-server
그리고 코드 서버 서비스는 기본 포트 8080에서 실행됩니다.
결과적으로 시스템 서비스로 실행되도록 코드 서버를 설정했습니다.
3단계 - SSL Letsencrypt 생성
이 단계에서는 코드 서버 보안을 위해 certbot 도구를 사용하여 SSL letsencrypt를 생성합니다.
아래의 apt 명령을 사용하여 certbot 도구를 설치합니다.
sudo apt install certbot -y
설치가 완료되면 아래 certbot 명령을 사용하여 SSL letsencrypt를 생성합니다.
certbot certonly --standalone --agree-tos -m -d vscode.hakase-labs.io
완료되면 인증서는 /etc/letsencrypt/live/vscode.hakase-labs.io/ 디렉토리에 있습니다.
ls -lah /etc/letsencrypt/live/vscode.hakase-labs.io/
이제 certbot 도구를 사용하여 코드 서버 설치를 보호하기 위한 SSL Letsencrypt를 생성했습니다.
4단계 - Nginx를 역방향 프록시로 설정
이 단계에서는 Nginx 웹 서버를 설치하고 SSL이 활성화된 코드 서버의 리버스 프록시로 설정합니다.
아래의 apt 명령을 사용하여 Nginx 패키지를 설치합니다.
sudo apt install nginx -y
설치가 완료되면 /etc/nginx/sites-available 디렉토리로 이동하여 새 가상 호스트 구성 코드 서버를 생성합니다.
cd /etc/nginx/sites-available/
vim code-server
이제 SSL의 도메인 이름과 경로를 자신의 것으로 변경하고 구성을 붙여넣습니다.
server {
listen 80;
server_name vscode.hakase-labs.io;
# enforce https
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl http2;
server_name vscode.hakase-labs.io;
ssl_certificate /etc/letsencrypt/live/vscode.hakase-labs.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vscode.hakase-labs.io/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
저장하고 닫습니다.
이제 코드 서버 가상 호스트를 활성화하고 nginx 구성을 테스트하고 오류가 없는지 확인하십시오.
ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
nginx -t
그런 다음 nginx 서비스를 다시 시작하고 시스템 부팅에 추가하십시오.
systemctl restart nginx
systemctl enable nginx
이제 Nginx 서비스가 가동되어 코드 서버의 리버스 프록시로 실행됩니다. 아래 명령어로 확인해보세요.
netstat -plntu
systemctl status nginx
그러면 아래와 같은 결과를 얻게 됩니다.
Nginx 서비스는 HTTP 및 HTTPS 포트가 활성화된 Ubuntu 18.04 서버에서 실행 중입니다.
5단계 - 테스트
웹 브라우저를 열고 코드 서버 설치 URL을 입력하십시오.
https://vscode.hakase-labs.io/
코드서버 서비스 파일에서 설정한 비밀번호로 로그인합니다.
암호가 정확하면 아래와 같이 웹 브라우저에 VS Code 편집기가 나타납니다.
결과적으로 Nginx를 리버스 프록시로 사용하여 Ubuntu 18.04 서버에 코드 서버를 설치하고 SSL Letsencrypt로 코드 서버 설치를 보호했습니다.
참조
- https://github.com/cdr/code-server