Visual Studio Code Server installeren op Debian 10

Code server is een Visual Studio (VS) code versie die op afstand op de server kan worden uitgevoerd en via een web browser kan worden benaderd. Het maakt de creatie en werking mogelijk van een consistente ontwikkelomgeving die altijd en overal toegankelijk is.

In deze handleiding laten we zien hoe je de code server op de Debian Buster 10 installeert. We installeren en configureren de code server met Nginx als reverse proxy, beveiligen hem met SSL Letsencrypt en zetten code server basis authenticatie aan.

Voorbereidingen

Voor deze gids installeren we de code-server op de nieuwste Debian 10 met 2GB geheugen, 25GB vrije schijfruimte, en 2 CPUs.

Wat we zullen doen:

  • Maak een nieuwe gebruiker
  • Download code-server
  • Stel Code-Server in als een Systemd dienst
  • Genereer SSL Letsencrypt
  • Stel Nginx in als een Reverse Proxy voor Code-Server
  • Testen van

Stap 1 – Maak een nieuwe Linux gebruiker

Eerst maken we een nieuwe gebruiker aan op het Debian systeem. De code-server zal onder die gebruiker draaien.

Maak een nieuwe gebruiker met de naam ‘code’ met het onderstaande commando.

useradd -m -s /bin/bash code
passwd code

Typ nu het wachtwoord voor gebruiker ‘code’, en de nieuwe gebruiker voor het draaien van code-server is aangemaakt.

Stap 2 – Download Visual Studio Code-Server van GitHub

In deze stap downloaden we de code-server broncode van GitHub.

Meld je aan bij de gebruiker ‘code’ en download de code-server broncode met het onderstaande wget commando.

su - code
wget https://github.com/cdr/code-server/releases/download/3.0.0/code-server-3.0.0-linux-x86_64.tar.gz

Voeg gebruiker toe en download Visual Studio Code

Pak de broncode uit en hernoem de directory tot ‘bin/’.

tar -xf code-server-3.0.0-linux-x86_64.tar.gz
mv code-server-*/ bin/

Maak nu van het ‘code-server’ binaire bestand een uitvoerbaar bestand en maak een nieuwe ‘data’ map om code-server configuraties in op te slaan.

chmod +x bin/code-server
mkdir -p ~/data

Het resultaat is dat de code-server broncode gedownload is, en we zijn klaar voor de volgende stap.

Pak het archief uit

Stap 3 – Code-server instellen als een SysteSUBMITmd dienst

Na het downloaden van de code-server broncode, stellen we de code-server in als een systemd dienst.

Ga nu terug naar de root gebruiker of als je de root sudo rechten hebt, voer dan het onderstaande sudo commando uit.

sudo su

Ga nu naar de ‘/etc/systemd/system’ directory en maak met vim editor een nieuw service bestand ‘code-server.service’.

cd /etc/systemd/system/
vim code-server.service

Verander de ‘hakasecodeserv’ op de‘Environment=PASSWORD=... ‘ met je eigen wachtwoord en plak de configuratie.

[Unit]
Description=code-server
After=nginx.service

[Service]
User=code
WorkingDirectory=/home/code
Environment=PASSWORD=hakasecodeserv
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

Bewaar en sluit.

Herlaad vervolgens de systemd manager met het onderstaande systemctl commando.

systemctl daemon-reload

Start de code-server dienst en voeg hem toe aan het systeem opstarten.

systemctl start code-server
systemctl enable code-server

Maak de dienst systemd aan

De code-server is aan de praat, controleer hem met het volgende commando.

netstat -plntu
systemctl status code-server

Het resultaat is dat de code-server up and running is als een systemd dienst op de Debian Buster 10.

Controleer de service status

Stap 4 – Genereer SSL Letsencrypt

In deze stap genereren we de SSL letsencrypt met het certbot gereedschap om de code-server te beveiligen.

Installeer het certbot gereedschap met het onderstaande apt commando.

sudo apt install certbot -y

Als de installatie voltooid is, genereer je de SSL letsencrypt met het onderstaande certbot commando.

certbot certonly --standalone --agree-tos -m [email protected] -d code.hakase-labs.io

Als dat voltooid is, staan je certificaten in de map ‘/etc/letsencrypt/live/code.hakase-labs.io/’.

ls -lah /etc/letsencrypt/live/code.hakase-labs.io/

Nu heb je de SSL Letsencrypt voor het beveiligen van de code-server installatie gegenereerd met het certbot gereedschap.

Stap 5 – Stel Nginx in als omgekeerde proxy

In deze stap installeren we de Nginx webserver op het Debian systeem. Hij zal gebruikt worden als een omgekeerde proxy voor de code-server die op standaard poort ‘8080’ draait.

Installeer Nginx pakketten met het onderstaande apt commando.

sudo apt install nginx -y

Zodra de installatie voltooid is, ga je naar de ‘/etc/nginx/sites-available’ directory en maak je met vim editor een nieuwe virtuele host configuratie ‘code-server’.

cd /etc/nginx/sites-available/
vim code-server

Verander de domeinnaam en het SSL pad met je eigen, plak dan de configuratie erin.

server {
    listen 80;
    server_name code.hakase-labs.io;
    # enforce https
    return 301 https://$server_name:443$request_uri;
}

server {
    listen 443 ssl http2;
    server_name code.hakase-labs.io;

    ssl_certificate /etc/letsencrypt/live/code.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/code.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;
    }
}

Bewaar en sluit.

Activeer nu de ‘code-server’ virtuele host en controleer de Nginx configuratie, en controleer of er geen fout optreedt.

ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
nginx -t

Start nu de Nginx dienst opnieuw.

systemctl restart nginx

Het resultaat is dat de Nginx configuratie als reverse proxy voor code-server voltooid is, en dat de code-server nu toegankelijk is via je webbrowser.

Nginx configuratie

Stap 6 – Code-server testen

Open je web browser en typ de code-server URL installatie in. De mijne is (vervang het domein door je domein):

https://code.hakse-labs.io/

Je wordt nu doorgestuurd naar een beveiligde HTTPS verbinding en je wordt om het code-server wachtwoord gevraagd.

Log in op code server GUI

Typ je wachtwoord en klik op de‘SUBMIT‘ knop.

Nu krijg je de Visual Code Studio Editor op je webbrowser.

Code - OSS

Als resultaat heb je met succes de code-server geïnstalleerd op de Debian Buster 10 met Nginx reverse proxy en SSL Letsencrypt.