Visual Studio Code – Server IDE installeren op Ubuntu 18.04 LTS
Code-server is een Visual Studio (VS) code die op afstand op de server kan draaien en die toegankelijk is via een web browser. Hiermee kun je een consistente ontwikkelomgeving maken en hebben, die altijd en overal toegankelijk is.
In deze handleiding laten we je zien hoe je de Code-server met Nginx als reverse proxy en SSL Letsencrypt installeert op de nieuwste Ubuntu 18.04 Server.
Vereisten
Voor deze gids installeren we de Code-server op een Ubuntu 18.04 server met 3GB RAM, 25GB vrije schijfruimte, en 2CPUs.
Wat we zullen doen:
- Gebruiker toevoegen en Code-server Binary downloaden
- Stel Code-server in als een Systemd Service
- Genereer SSL Letsencrypt
- Stel Nginx in als een Reverse Proxy voor Code-server
- Testen van
Stap 1 – Gebruiker toevoegen en Code-server Binary downloaden
Eerst zullen we een nieuwe gebruiker toevoegen en het code-server binaire bestand van GitHub downloaden.
Voeg een nieuwe gebruiker ‘code’ toe met het onderstaande commando.
useradd -m -s /bin/bash code
passwd code
Log nu in als ‘code’ gebruiker en download het code-server binaire bestand.
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
Pak de code-server uit en hernoem de directory als ‘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/
Maak nu van de code-server een uitvoerbaar binair bestand.
chmod +x ~/bin/code-server
En maak een nieuwe gegevensmap om de gebruikersgegevens in op te slaan.
mkdir -p ~/data
Nu heb je een nieuwe gebruiker ‘code’ aangemaakt en de code-server binary gedownload naar de home directory van gebruiker ‘code’.
Stap 2 – Stel code-server in als een Systemd dienst
In deze stap stellen we de code-server in om als een systeemdienst te draaien.
De code-server dienst zal draaien onder de gebruiker ‘code’, met standaard poort ‘8080’ en ingeschakelde wachtwoord authenticatie.
Ga naar de ‘/etc/systemd/system’ directory en maak een nieuw service bestand ‘code-server.service’ met vim editor.
cd /etc/systemd/system/
vim code-server.service
Verander de optie ‘Environment’ voor een wachtwoord met je eigen en plak de configuratie erin.
[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
Sla op en sluit.
Herlaad nu de systeembeheerder.
systemctl daemon-reload
Start daarna de code-server service en voeg hem toe aan het systeem opstarten met het volgende commando.
systemctl start code-server
systemctl enable code-server
Controleer nu de code-server service.
netstat -plntu
systemctl status code-server
En de code-server service is up and running op standaard poort ‘8080’.
Als resultaat heb je de code-server ingesteld om als systeemdienst te draaien.
Stap 3 – 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 vscode.hakase-labs.io
Als dat voltooid is, staan je certificaten in de map ‘/etc/letsencrypt/live/vscode.hakase-labs.io/’.
ls -lah /etc/letsencrypt/live/vscode.hakase-labs.io/
Nu heb je de SSL Letsencrypt voor het beveiligen van de code-server installatie gegenereerd met het certbot gereedschap.
Stap 4 – Stel Nginx in als omgekeerde proxy
In deze stap installeren we de Nginx webserver en stellen die in als een omgekeerde proxy voor de code-server met SSL erop ingeschakeld.
Installeer het Nginx pakket met het onderstaande apt commando.
sudo apt install nginx -y
Als de installatie voltooid is, ga dan naar de ‘/etc/nginx/sites-available’ directory en maak een nieuwe virtuele host configuratie ‘code-server’.
cd /etc/nginx/sites-available/
vim code-server
Verander nu de domeinnaam en het pad van SSL met je eigen en plak de configuratie erin.
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;
}
}
Bewaar en sluit.
Activeer nu de ‘code-server’ virtuele host, test de nginx configuratie en controleer of er geen fout optreedt.
ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
nginx -t
Herstart daarna de nginx service en voeg hem toe aan het systeem opstarten.
systemctl restart nginx
systemctl enable nginx
Nu is de nginx service up and running als een reverse proxy voor de code-server. Controleer het met het onderstaande commando.
netstat -plntu
systemctl status nginx
En je krijgt het resultaat als hieronder.
De Nginx dienst is up and running op de Ubuntu 18.04 server met de HTTP en HTTPS poorten erop ingeschakeld.
Stap 5 – Testen
Open je web browser en typ de URL van je code-server installatie.
https://vscode.hakase-labs.io/
Log in met je wachtwoord dat je bij het code-server service bestand hebt ingesteld.
Als het wachtwoord juist is, krijg je de VS Code editor op je webbrowser, zoals hieronder.
Als resultaat heb je de code-server geïnstalleerd op Ubuntu 18.04 server met Nginx als omgekeerde proxy en de code-server installatie beveiligd met SSL Letsencrypt.