Ubuntu 18.04[Quick Start]에서 코드 서버 클라우드 IDE 플랫폼 설정 방법

Ubuntu 18.04[Quick Start]에서 코드 서버 클라우드 IDE 플랫폼 설정 방법

소개


code-server 브라우저에서 직접 액세스할 수 있는 원격 서버에서 실행됩니다.이것은 당신이 각종 설비를 사용하여 서로 다른 운영체제를 운행할 수 있고 수중에 항상 일치하는 개발 환경이 있다는 것을 의미한다.
이 강좌에서는 Ubuntu 18.04 기기에 코드 서버 클라우드 IDE 플랫폼을 설정하고 도메인에 공개하고 Let's Encrypt를 사용하여 보호합니다.이 강좌의 더 자세한 버전은 Microsoft Visual Studio Code 을 참조하십시오.

선결 조건


  • Ubuntu 18.04를 실행하는 서버는 최소 2GB의 RAM, 루트 접근 권한, sudo 비루트 계정을 가지고 있습니다.다음과 같은 방법으로 설정할 수 있습니다 How To Set Up the code-server Cloud IDE Platform on Ubuntu 18.04.

  • 서버에 Nginx가 설치되어 있습니다.이 작업을 수행하는 방법에 대한 설명서the Initial Server Setup Guide for Ubuntu 18.04의 1단계에서 4단계를 완료하십시오.

  • 호스트 코드 서버에 완전히 등록된 도메인 이름이 강좌는 항상 사용됩니다code-server.your-domain.How To Install Nginx on Ubuntu 18.04에서 도메인 이름을 구입하거나 Namecheap에서 도메인 이름을 무료로 받거나 선택한 도메인 이름 등록기를 사용할 수 있습니다.

  • 서버에 다음 두 개의 DNS 레코드가 설정되어 있습니다.추가 방법에 대한 자세한 내용은 Freenom 을 참조하십시오.
  • 서버의 공용 IP 주소를 가리키는 A 레코드입니다.
  • 서버의 공용 IP 주소를 가리키는 A 레코드입니다.
  • 1단계 - 코드 서버 설치


    코드 서버의 모든 데이터를 저장할 디렉터리를 만듭니다.
    1. mkdir ~/code-server
    다음 항목으로 이동합니다.
    1. cd ~/code-server
    코드 서버의 this introduction to DigitalOcean DNS 페이지에 액세스하여 최신 Linux 버전을 선택합니다.다음 방법으로 다운로드하십시오.
    1. 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
    아카이브 압축 풀기:
    1. tar -xzvf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
    코드 서버가 실행 가능한 파일을 포함하는 디렉토리로 이동합니다.
    1. cd code-server2.1692-vsc1.39.2-linux-x86_64
    전체 시스템에서 실행 가능한 코드 서버에 액세스하려면 다음 방법을 사용하여 복사합니다.
    1. sudo cp code-server /usr/local/bin
    코드 서버에 사용자 데이터를 저장할 폴더를 만듭니다.
    1. sudo mkdir /var/lib/code-server
    your-domain 디렉터리에서 Github releases 서비스 만들기www.your-domain:
    1. sudo nano /lib/systemd/system/code-server.service
    다음 행을 추가합니다.
    /lib/systemd/system/code 서버.서비스
    [Unit]
    Description=code-server
    After=nginx.service
    
    [Service]
    Type=simple
    Environment=PASSWORD=your_password
    ExecStart=/usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  • systemd에 귀속합니다.
  • code-server.service 사용자 데이터 디렉토리를 설정합니다.
  • /lib/systemd/system는 방문자에 대한 인증을 위해 비밀번호를 사용해야 한다고 지정합니다.
  • 필요한 암호로 바꾸기 --host 127.0.0.1 를 기억하십시오.
    파일을 저장하고 닫습니다.
    코드 서버 서비스 시작:
    1. sudo systemctl start code-server
    올바른 시작 여부를 확인합니다.
    1. sudo systemctl status code-server
    다음과 같은 출력이 표시됩니다.
    Output
    ● code-server.service - code-server Loaded: loaded (/lib/systemd/system/code-server.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2019-12-09 20:07:28 UTC; 4s ago Main PID: 5216 (code-server) Tasks: 23 (limit: 2362) CGroup: /system.slice/code-server.service ├─5216 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password └─5240 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password ...
    서버 재부팅 후 코드 서버 서비스가 자동으로 시작되도록 허용:
    1. sudo systemctl enable code-server

    2단계 - 코드 서버 공개


    이제 Nginx를 코드 서버의 리버스 에이전트로 구성합니다.
    도메인에 코드 서버를 공개하기 위한 구성을 저장하기 위해 localhost 생성:
    1. sudo nano /etc/nginx/sites-available/code-server.conf
    다음 행을 추가하여 필요한 명령을 사용하여 서버 블록을 설정합니다.
    /etc/nginx/사용 가능한 사이트/코드 서버입니다.형태
    server {
    	listen 80;
    	listen [::]:80;
    
    	server_name code-server.your_domain;
    
    	location / {
    		proxy_pass http://localhost:8080/;
    		proxy_set_header Upgrade $http_upgrade;
    		proxy_set_header Connection upgrade;
    		proxy_set_header Accept-Encoding gzip;
    	}
    }
    
    --user-data-dir /var/lib/code-server를 원하는 도메인으로 교체한 다음 파일을 저장하고 닫습니다.
    이 사이트 구성을 활성화하려면 해당 기호 링크를 만듭니다.
    1. sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
    구성의 유효성 테스트:
    1. sudo nginx -t
    다음 출력이 표시됩니다.
    Output
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
    구성을 적용하려면 Nginx를 다시 시작하십시오.
    1. sudo systemctl restart nginx

    단계 3 - 도메인 보호


    이제 Let's Encrypt TLS 인증서를 사용하여 도메인을 보호합니다.
    서버에 Certbot 패키지 저장소 추가하기
    1. sudo add-apt-repository ppa:certbot/certbot
    Certbot 및 Nginx 플러그인 설치:
    1. sudo apt install python-certbot-nginx
    암호화된 트래픽을 수용하도록 구성--auth password:
    1. sudo ufw allow https
    출력은 다음과 같습니다.
    Output
    Rule added Rule added (v6)
    구성을 적용하려면 다시 로드합니다.
    1. sudo ufw reload
    출력이 표시됩니다.
    Output
    Firewall reloaded
    코드 서버 도메인으로 이동합니다.

    코드 서버 암호를 입력합니다.도메인에 공개된 인터페이스를 볼 수 있습니다.

    보호하려면 Certbot을 사용하여 Let's Encrypt TLS 인증서를 설치합니다.
    도메인에 인증서를 신청하려면 다음과 같이 하십시오.
    1. sudo certbot --nginx -d code-server.your_domain
    긴급 알림을 위한 전자 메일 주소를 제공하고 EFF의 서비스 약관을 수락하며 모든 HTTP 트래픽을 HTTPS로 리디렉션할지 여부를 결정합니다.
    출력은 다음과 같습니다.
    Output
    IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/code-server.your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/code-server.your_domain/privkey.pem Your cert will expire on ... To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" ...
    Certbot이 TLS 인증서를 성공적으로 생성하여 도메인의 Nginx 구성에 적용했습니다.

    결론


    현재 Ubuntu 18.04 서버에 코드 서버를 설치했습니다. 이것은 다기능 클라우드 IDE입니다. 도메인에 공개되고 Let's Encrypt 인증서를 사용하여 보호합니다.더 많은 정보는 코드 서버의 다른 구성 요소에 대한 다른 기능과 상세한 설명을 보려면 your_password 을 참조하십시오.