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.
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.
your-domain
, der auf die öffentliche IP-Adresse Ihres Servers verweist.www.your-domain
, der auf die öffentliche IP-Adresse Ihres Servers verweist.Erstellen Sie das Verzeichnis, um alle Daten für den Code-Server zu speichern:
- mkdir ~/code-server
Navigieren Sie dorthin:
- 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:
- 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:
- 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:
- 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:
- sudo cp code-server /usr/local/bin
Erstellen Sie einen Ordner für den Code-Server, um die Benutzerdaten zu speichern:
- sudo mkdir /var/lib/code-server
Erstellen Sie einen systemd
-Dienst (code-server.service
) im Verzeichnis /lib/systemd/system
:
- sudo nano /lib/systemd/system/code-server.service
Fügen Sie die folgenden Zeilen hinzu:
[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:
- sudo systemctl start code-server
Überprüfen Sie, ob er richtig gestartet wurde:
- 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:
- sudo systemctl enable code-server
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:
- 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:
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:
- sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
Testen Sie die Gültigkeit der Konfiguration:
- sudo nginx -t
Sie sehen die folgende Ausgabe:
Outputnginx: 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.
- sudo systemctl restart nginx
Jetzt sichern Sie Ihre Domäne mit einem Let’s Encrypt TLS-Zertifikat.
Fügen Sie das Certbot-Paket zu Ihrem Server hinzu:
- sudo add-apt-repository ppa:certbot/certbot
Installieren Sie Certbot und sein Nginx Plugin:
- sudo apt install python-certbot-nginx
Konfigurieren Sie ufw
, um den verschlüsselten Verkehr zu akzeptieren:
- sudo ufw allow https
Die Ausgabe sieht wie folgt aus:
OutputRule added
Rule added (v6)
Laden Sie den Befehl neu, damit die Konfiguration wirksam wird:
- sudo ufw reload
Die Ausgabe zeigt Folgendes:
OutputFirewall reloaded
Navigieren Sie zu Ihrer Code-Server-Domäne.
Geben Sie Ihr Code-Server-Passwort ein. Daraufhin ist die Schnittstelle auf Ihrer Domäne verfügbar.
Installieren Sie zur Sicherung ein Encrypt TLS-Zertifikat mit Certbot.
Fordern Sie ein Zertifikat für Ihre Domäne wie folgt an:
- 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:
OutputIMPORTANT 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.
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.
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!