Tutorial

So richten Sie die Code-Server-Cloud-IDE-Plattform unter Ubuntu 18.04 ein [Schnellstart]

Published on April 24, 2020
Deutsch
So richten Sie die Code-Server-Cloud-IDE-Plattform unter Ubuntu 18.04 ein [Schnellstart]

Einführung

Code-Server ist Microsoft Visual Studio Code, der auf einem Remote-Server läuft und auf den Sie direkt von Ihrem Browser aus zugreifen können. Dadurch können Sie verschiedene Geräte verwenden, die verschiedene Betriebssysteme ausführen und immer eine einheitliche Entwicklungsumgebung haben.

In diesem Tutorial richten Sie die Code-Server-Cloud-IDE-Plattform auf Ihrem Ubuntu 18.04-Rechner ein und zeigen sie auf Ihrer Domäne, geschützt durch Let’s Encrypt. Eine ausführlichere Version dieses Tutorials finden Sie unter So richten Sie die Code-Server-Cloud-IDE-Plattform unter Ubuntu 18.04 ein.

Voraussetzungen

  • Einen Server mit Ubuntu 18.04 mit mindestens 2 GB RAM, Root-Zugriff und einem Sudo-Konto ohne Rootberechtigung. Sie können dies einrichten, indem Sie sich an die Anweisungen unter Ersteinrichtung des Servers für Ubuntu 18.04 halten.

  • Nginx, das auf Ihrem Server installiert ist. Führen Sie dazu die Schritte 1 bis 4 aus So installieren Sie Nginx auf Ubuntu 18.04 aus.

  • Einen vollständig registrierten Domänennamen für den Host Code-Server, der auf Ihren Server verweist. Dieses Tutorial verwendet durchgehend code-server.your-domain. Sie können einen Domänennamen unter Namecheap günstig erwerben oder einen kostenlosen von Freenom herunterladen oder einfach die Domänenregistrierungsstelle Ihrer Wahl verwenden.

  • Die beiden folgenden DNS-Einträge wurden für Ihren Server eingerichtet. Sie finden in dieser Einführung in DigitalOcean DNS Details dazu, wie Sie sie hinzufügen können.

    • Einen Eintrag mit your-domain, der auf die öffentliche IP-Adresse Ihres Servers verweist.
    • Einen Eintrag mit www.your-domain, der auf die öffentliche IP-Adresse Ihres Servers verweist.

Schritt 1 – Installation des Code-Servers

Erstellen Sie das Verzeichnis, um alle Daten für den Code-Server zu speichern:

  1. mkdir ~/code-server

Navigieren Sie dorthin:

  1. cd ~/code-server

Besuchen Sie die Seite Github-Veröffentlichungen des Code-Servers und wählen Sie den neuesten Linux-Build aus. Laden Sie ihn wie folgt herunter:

  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

Entpacken Sie das Archiv:

  1. tar -xzvf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

Navigieren Sie zum Verzeichnis mit der ausführbaren Datei des Code-Servers:

  1. cd code-server2.1692-vsc1.39.2-linux-x86_64

Um auf die ausführbare Datei des Code-Servers auf Ihrem System zuzugreifen, kopieren Sie diese wie folgt:

  1. sudo cp code-server /usr/local/bin

Erstellen Sie einen Ordner für den Code-Server, um die Benutzerdaten zu speichern:

  1. sudo mkdir /var/lib/code-server

Erstellen Sie einen systemd-Dienst (code-server.service) im Verzeichnis /lib/systemd/system:

  1. sudo nano /lib/systemd/system/code-server.service

Fügen Sie die folgenden Zeilen hinzu:

/lib/systemd/system/code-server.service
[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
  • --host 127.0.0.1 verbindet ihn mit localhost.
  • --user-data-dir /var/lib/code-server legt sein Verzeichnis für die Benutzerdaten fest.
  • --auth Passwort gibt an, dass es die Besucher mit einem Passwort authentifizieren sollte.

Denken Sie daran, your_password durch Ihr gewünschtes Passwort zu ersetzen.

Speichern und schließen Sie die Datei.

Starten Sie den Code-Server-Dienst:

  1. sudo systemctl start code-server

Überprüfen Sie, ob er richtig gestartet wurde:

  1. sudo systemctl status code-server

Sie sehen eine Ausgabe, die der nachfolgenden ähnelt:

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 ...

Aktivieren Sie den Code-Server-Dienst, um automatisch nach dem Neustart eines Servers zu starten:

  1. sudo systemctl enable code-server

Schritt 2 – Code-Server verfügbar machen

Jetzt konfigurieren Sie Nginx als Reverseproxy für den Code-Server.

Erstellen Sie code-server.conf, um die Konfiguration zu speichern, damit der Code-Server in Ihrer Domäne verfügbar gemacht wird:

  1. sudo nano /etc/nginx/sites-available/code-server.conf

Fügen Sie die folgenden Zeilen hinzu, um Ihren Server-Block mit den erforderlichen Anweisungen einzurichten:

/etc/nginx/sites-available/code-server.conf
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;
	}
}

Ersetzen Sie code-server.your_domain durch Ihre gewünschte Domäne. Speichern und schließen Sie dann die Datei.

Um diese Site-Konfiguration aktiv zu machen, erstellen Sie einen Symlink davon:

  1. sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf

Testen Sie die Gültigkeit der Konfiguration:

  1. sudo nginx -t

Sie sehen die folgende Ausgabe:

Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie Nginx neu, damit die Konfiguration wirksam wird.

  1. sudo systemctl restart nginx

Schritt 3 – Sicherung Ihrer Domäne

Jetzt sichern Sie Ihre Domäne mit einem Let’s Encrypt TLS-Zertifikat.

Fügen Sie das Certbot-Paket zu Ihrem Server hinzu:

  1. sudo add-apt-repository ppa:certbot/certbot

Installieren Sie Certbot und sein Nginx Plugin:

  1. sudo apt install python-certbot-nginx

Konfigurieren Sie ufw, um den verschlüsselten Verkehr zu akzeptieren:

  1. sudo ufw allow https

Die Ausgabe sieht wie folgt aus:

Output
Rule added Rule added (v6)

Laden Sie den Befehl neu, damit die Konfiguration wirksam wird:

  1. sudo ufw reload

Die Ausgabe zeigt Folgendes:

Output
Firewall reloaded

Navigieren Sie zu Ihrer Code-Server-Domäne.

Eingabeaufforderung des Code-Server-Login

Geben Sie Ihr Code-Server-Passwort ein. Daraufhin ist die Schnittstelle auf Ihrer Domäne verfügbar.

Code-Server GUI

Installieren Sie zur Sicherung ein Encrypt TLS-Zertifikat mit Certbot.

Fordern Sie ein Zertifikat für Ihre Domäne wie folgt an:

  1. sudo certbot --nginx -d code-server.your_domain

Geben Sie eine E-Mail-Adresse für dringende Informationen an, akzeptieren Sie die Geschäftsbedingungen von EFF und entscheiden Sie, ob Sie den gesamten HTTP-Verkehr auf HTTPS umleiten möchten.

Die Ausgabe sieht ungefähr wie folgt aus:

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 hat TLS-Zertifikate erfolgreich erstellt und auf die Nginx-Konfiguration für Ihre Domäne angewendet.

Zusammenfassung

Jetzt haben Sie den Code-Server, eine vielseitige Cloud-IDE, auf Ihrem Ubuntu 18.04-Server installiert, auf Ihrer Domäne verfügbar gemacht und mit Let’s Encrypt gesichert. Weitere Informationen finden Sie in der Visual Studio Code Dokumentation, wo Sie zusätzliche Funktionen und detaillierte Anweisungen zu anderen Komponenten des Code-Servers nachlesen können.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar
Savic

author



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel