Wie man VS Code auf einem vps mit Code-Server hostet

Was ist Coder? Coder ist eine Open Source-Entwicklungsumgebung für Visual Studio Code. Beschleunigen Sie Ihren Workflow und übertreffen Sie die Fähigkeiten Ihres lokalen Entwicklungscomputers.

In diesem Tutorial verwende ich Servercheap für unser Hosting. Wir benötigen mindestens einen Server mit 4 Kernen und 8 GB RAM. Servercheap vermarktet diese Option für 8,99 USD pro Monat. Wenn Sie skalieren müssen, bieten sie auch ein Upgrade von 1 USD pro Core / Gigabyte an. Ich persönlich habe meinem Setup 2 zusätzliche Cores hinzugefügt. Ich werde eine Neuinstallation von Debian 9 auf OpenVZ verwenden. Wir werden auch eine Domain- und TLS / SSL-Verschlüsselung einrichten.

TEIL 1 - Code-Server installieren

Lassen Sie uns zunächst sicherstellen, dass alles auf dem neuesten Stand ist.

apt update & apt upgrade

Wir müssen sudo, eine Firewall und einen Texteditor installieren.

apt install sudo
apt install ufw
passend installieren nano

Erstellen Sie einen Benutzer ohne Rootberechtigung mit sudo-Berechtigungen.

aduser benutzername
usermod -aG sudo benutzername

Benutzer wechseln.

su - benutzername

Lassen Sie Port 22 zu, damit die SSH-Verbindung erhalten bleibt, sobald Sie ufw neu laden.

sudo ufw erlauben 22 / tcp

Erlauben Sie Port 8443 für unsere Code-Server-Installation.

sudo ufw erlauben 8443

Aktivieren Sie die Firewall und überprüfen Sie den Status.

sudo ufw aktivieren
sudo ufw status

Installieren Sie wget und ca-certs, um Dateien von github herunterzuladen.

sudo apt install wget
sudo apt installiert ca-Zertifikate

Ersetzen Sie die URL durch die neueste Version von Code-Server auf Github.

wget https://github.com/cdr/code-server/releases/download/1.1140-vsc1.33.1/code-server1.1140-vsc1.33.1-linux-x64.tar.gz

Extrahieren Sie die Datei und kopieren Sie den Namen aus der heruntergeladenen Datei.

tar -xvzf code-server1.1140-vsc1.33.1-linux-x64.tar.gz

Wir werden den extrahierten Ordner in "Code-Server" umbenennen.

mv code-server1.1140-vsc1.33.1-linux-x64 code-server

Gehe hinein und füge Berechtigungen hinzu.

CD-Code-Server
sudo chmod + x Code-Server

Lass uns den Server starten und sicherstellen, dass alles richtig konfiguriert ist.

Sobald der Server gestartet ist, ignorieren Sie die Fehler, die nach "Verbunden mit freigegebenem Prozess" angezeigt werden. Dies ist ein kleiner Fehler im aktuellen Build. Der Server funktioniert weiterhin normal. Stellen Sie eine Verbindung zu "SERVER_IP: 8443" her. (Strg + C), um den Server zu stoppen.

sudo ./code-server -p 8443 --password password_goes_here

Teil 2 - Aktivieren Sie Code-Server als Startdienst

Erstellen Sie ein Skript zum Ausführen des Codeservers als Dienst. Dies ist Ihr Startskript, das alle gewünschten zusätzlichen Flags enthält.

nano code-server.sh

Geben Sie dieses Skript in nano ein und speichern Sie die Datei. Denken Sie daran, das Kennwort durch ein sicheres Kennwort zu ersetzen. Sie können diese Datei jederzeit bearbeiten, wenn Sie das Kennwort ändern möchten. Wenn Sie die Datei bearbeiten möchten, müssen Sie den Dienst / Code-Server neu starten, damit die Änderungen wirksam werden. (Strg + x) + (y) + (Enter) zum Speichern und Verlassen.

sudo / home / name / codeserver / codeserver / home / name -p 8443 --passwort password_goes_here --allow-http

Verschieben Sie die Datei in ein geeignetes Verzeichnis und fügen Sie Berechtigungen hinzu.

sudo cp code-server.sh /usr/bin/code-server.sh
sudo chmod + x /usr/bin/code-server.sh

Erstellen Sie den Service.

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

Fügen Sie den folgenden Inhalt ein und speichern Sie die Datei.

[Einheit]
Beschreibung = Visual Studio Code Server.
[Bedienung]
Typ = einfach
ExecStart = / bin / bash /usr/bin/code-server.sh
[Installieren]
WantedBy = multi-user.target

Aktivieren Sie diese Befehle beim Starten, Starten und beim Dienststatus.

sudo systemctl aktiviert den Code-Server
sudo systemctl Code-Server starten
sudo systemctl status code-server

Teil 3 - Hinzufügen einer kostenlosen Domain und Sichern der Installation mit TLS / SSL

Ein guter Ort, um eine Domain zu bekommen, ist Freenom. Sie müssen sich für ein Konto registrieren. Wählen Sie eine Domain und verwalten Sie die DNS-Einstellungen.

Freenom DNS verwaltenErstellen Sie

Erstellen Sie einen "A" -Datensatz mit www - auch - Erstellen Sie einen "A" -Datensatz ohne www - Beide sollten auf Ihre IP verweisen.

Installieren Sie Nginx, um einen Reverse-Proxy zu erstellen, und installieren Sie Certbot für die Zertifikate.

apt install nginx && apt install python-certbot-nginx

Erlaube HTTP durch die Firewall.

sudo ufw 'Nginx FULL' erlauben
sudo ufw neu laden

Befehle zum Steuern des Dienstes.

sudo systemctl aktivieren Nginx
sudo systemctl starte nginx
sudo systemctl status nginx

Erstellen Sie eine Konfigurationsdatei, um den Reverse Proxy einzurichten.

sudo nano / etc / nginx / sites-available / code-server

Fügen Sie diesen Text ein und ändern Sie die Domain (s).

Server {
  höre 80;
  listen [::]: 80;
  Servername www.Ihre_Domäne.com Ihre_Domäne.com;
    Standort / {
       proxy_pass http: // localhost: 8443 /;
       proxy_set_header Upgrade $ http_upgrade;
       proxy_set_header Verbindungsupgrade;
       proxy_set_header Accept-Encoding gzip;
    }
 }

Aktivieren Sie die Konfigurationsdatei.

sudo ln -s / etc / nginx / sites-available / Codeserver / etc / nginx / sites-enabled /

Deaktivieren Sie die Standardkonfigurationsdatei, indem Sie die symbolische Verknüpfung entfernen.

rm / etc / nginx / sites-enabled / default

Letzter Schritt: Fügen Sie das TLS-Zertifikat hinzu. Sie müssen dies alle paar Monate erneuern, oder Sie können einen Cron-Job erstellen, um ihn zu erneuern.

sudo certbot --nginx -d your_domain.com -d www.your_domain.com
sudo systemctl starte nginx neu

Komplett! Wir haben eine Entwicklerumgebung in der Cloud erstellt. Abhängig von Ihren Serverressourcen können wir Builds jederzeit und überall auf jedem Computer ausführen. Weitere Informationen finden Sie in der Github-Dokumentation zum Code-Server-Projekt. * Hinweis: Wenn Sie Hilfe bei der Konfiguration eines Live-Servers benötigen, teilen Sie mir dies bitte mit. Sie müssen einen zusätzlichen DNS-Eintrag zusammen mit einer Konfiguration für einen zweiten Reverse-Proxy erstellen, der auf Port 5500 verweist. Vergessen Sie nicht, die Ports durch ufw zuzulassen. *