GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren Sie die Visual Studio Code Cloud-IDE unter Rocky Linux 8

Visual Studio Code hat sich zu einer der beliebtesten IDEs zum Programmieren entwickelt. Es verfügt über integrierte Git- und Docker-Unterstützung, einen Code-Debugger, Code-Autovervollständigung, die Fähigkeit, mit Remote-Dateien zu arbeiten, und unterstützt verschiedene Plugins.

Da alles in die Cloud verlagert wird, ist der Zugriff auf die IDE Ihrer Wahl von überall aus perfekt für die moderne Entwicklung. Cloud IDE ermöglicht die Echtzeit-Zusammenarbeit zwischen Entwicklern und steigert so die Produktivität. coder-server ist eine Anwendung, mit der Sie Visual Studio Code von einem Remote-Server ausführen und über jeden Browser zugänglich machen können.

In diesem Lernprogramm erfahren Sie, wie Sie Visual Studio Code IDE mithilfe der Code-Server-Anwendung auf Ihrem Rocky Linux 8-Server installieren. Sie werden es auch über eine öffentliche Domäne zusammen mit SSL-Unterstützung verfügbar machen.

Voraussetzungen

  1. Ein Server mit Rocky Linux mit mindestens 2 GB RAM und 2 CPU-Kernen.

  2. Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

  3. Eine Domain, die registriert ist und auf den Server zeigt.

  4. Nginx auf Ihrem Server installiert.

  5. Stellen Sie sicher, dass alles aktualisiert ist.

    $ sudo dnf update
    

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux wird mit der Firewall Firewall geliefert.

Überprüfen Sie, ob die Firewall ausgeführt wird.

$ sudo firewall-cmd --state

Die folgende Ausgabe beweist, dass die Firewall läuft.

running

Überprüfen Sie die aktuell erlaubten Dienste/Ports.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe zeigen.

dhcpv6-client mdns ssh

Port 8080 für Code-Server öffnen.

$ sudo firewall-cmd --permanent --add-port=8080/tcp

HTTP- und HTTPS-Ports zulassen.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Überprüfen Sie den Status der Firewall erneut.

$ sudo firewall-cmd --permanent --list-all

Sie sollten eine ähnliche Ausgabe sehen.

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Laden Sie die Firewall neu, um die Änderungen zu aktivieren.

$ sudo systemctl reload firewalld

Schritt 2 – Code-Server installieren

code-server wird mit einem Installationsskript geliefert, das die Linux-Version erkennen und die entsprechende Binärdatei für Ihren Server installieren kann. Sie können das Installationsskript testen, um zu prüfen, ob es auf Ihrem Server funktioniert oder nicht.

Führen Sie den folgenden Befehl aus, um einen Probelauf der Installation durchzuführen.

$ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run
Rocky Linux 8.4 (Green Obsidian)
Installing v3.12.0 of the amd64 rpm package from GitHub.

+ mkdir -p ~/.cache/code-server
+ curl -#fL -o ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.12.0/code-server-3.12.0-amd64.rpm
+ mv ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete ~/.cache/code-server/code-server-3.12.0-amd64.rpm
+ sudo rpm -i ~/.cache/code-server/code-server-3.12.0-amd64.rpm

rpm package has been installed.

To have systemd start code-server now and restart on boot:
  sudo systemctl enable --now [email protected]$USER
Or, if you don't want/need a background service you can run:
  code-server

Führen Sie das Setup nach dem erfolgreichen Probelauf aus.

$ curl -fsSL https://code-server.dev/install.sh | sh

Das Installationsskript fragt möglicherweise nach Ihrem sudo-Passwort.

Aktivieren Sie den Code-Server-Dienst.

$ sudo systemctl enable [email protected]$USER

Wenn Sie Ihre Instanz von Code-Server aktualisieren möchten, wiederholen Sie den Installationsvorgang. code-server bewahrt Ihre Dateien und Einstellungen.

Schritt 3 – Code-Server konfigurieren

code-server speichert seine Konfigurationsdatei unter ~/.config/code-server/config.yaml . Zum Bearbeiten öffnen.

$ sudo nano ~/.config/code-server/config.yaml

Hier sind die Standardeinstellungen, die während der Installation festgelegt wurden.

bind-addr: 127.0.0.1:8080
auth: password
password: a4768b3439e5e93b5d62489b
cert: false

Die Standardkonfigurationsdatei ermöglicht das folgende Verhalten:

  • Überwachen Sie den Loopback-IP-Port 8080
  • Aktiviert die Passwortautorisierung mit einem zufällig generierten Passwort
  • Verwendet kein TLS

Sie können das Passwort ändern, indem Sie seinen Wert in der Datei ändern.

Wenn Sie eine gehashte Version des Passworts speichern möchten, müssen Sie zuerst npm installieren. Führen Sie nach der Installation den folgenden Befehl aus, um das Hash-Passwort festzulegen.

$ echo -n "thisismypassword" | npx argon2-cli -e
$argon2i$v=19$m=4096,t=3,p=1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg+5dto3dt1d5v9xtlws4

Sie erhalten den gehashten Wert an Ihrem Terminal. Kopieren Sie es und fügen Sie es in die Konfigurationsdatei ein.

auth: password
hashed-password: "$argon2i$v=19$m=4096,t=3,p=1$wST5QhBgk2lu1ih4DMuxvg$LS1alrVdIWtvZHwnzCM1DUGg+5DTO3Dt1d5v9XtLws4"

Stellen Sie sicher, dass Sie das gehashte Passwort in Anführungszeichen setzen. Wenn Sie die Telemetrie deaktivieren möchten, fügen Sie die folgende Zeile in die Datei ein.

disable-telemetry: false

Es gibt weitere Optionen, die Sie in der Datei definieren können. Um alle anderen Optionen zu überprüfen, die Sie hinzufügen können, verwenden Sie den folgenden Befehl, um alle Flags aufzulisten.

$ code-server --help

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.

Schritt 4 – SSL installieren

Um ein SSL-Zertifikat mit Let’s Encrypt zu installieren, müssen wir das Certbot-Tool herunterladen. Aber zuerst müssen wir das EPEL-Repository installieren.

Führen Sie die folgenden Befehle aus, um Certbot zu installieren.

$ sudo dnf install epel-release
$ sudo dnf install certbot

Generieren Sie das SSL-Zertifikat.

$ sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d code-server.example.com -m [email protected]

Der obige Befehl lädt ein Zertifikat auf /etc/letsencrypt/live/code-server.example.com herunter Verzeichnis auf Ihrem Server. Achten Sie darauf, [email protected] zu ersetzen mit Ihrer tatsächlichen E-Mail.

Erstellen Sie eine Diffie-Hellman-Gruppe Zertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Erstellen Sie ein herausforderndes Webroot-Verzeichnis für die automatische Verlängerung von Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Erstellen Sie einen Cron-Job, um das SSL zu erneuern. Es wird jeden Tag ausgeführt, um das Zertifikat zu überprüfen und bei Bedarf zu erneuern. Erstellen Sie dazu zunächst die Datei /etc/cron.daily/certbot-renew und zum Bearbeiten öffnen.

$ sudo nano /etc/cron.daily/certbot-renew

Fügen Sie den folgenden Code ein.

#!/bin/sh
certbot renew --cert-name example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Ändern Sie die Berechtigungen für die Aufgabendatei, um sie ausführbar zu machen.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Schritt 5 – Nginx installieren und konfigurieren

Erstellen und öffnen Sie /etc/yum.repos.d/nginx.repo Datei zum Erstellen des offiziellen Nginx-Repositorys.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Nginx-Server installieren.

$ sudo dnf install nginx

Aktivieren Sie den Nginx-Dienst.

$ sudo systemctl enable nginx

Erstellen Sie eine Konfigurationsdatei für den Code-Server in /etc/nginx/conf.d Verzeichnis.

$ sudo nano /etc/nginx/conf.d/code-server.conf

Fügen Sie den folgenden Code ein.

server {
    	listen 80; listen [::]:80;
	    server_name code-server.example.com;
    	return 301 https://$host$request_uri;
}

server {
        server_name code-server.example.com;

        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        access_log /var/log/nginx/code-server.access.log;
        error_log /var/log/nginx/code-server.error.log;

        ssl_certificate /etc/letsencrypt/live/code-server.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/code-server.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/code-server.example.com/chain.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
 
	   location / {
	       proxy_pass http://localhost:8080/;
	       proxy_set_header Host $host;
	       proxy_set_header Upgrade $http_upgrade;
	       proxy_set_header Connection upgrade;
	       proxy_set_header Accept-Encoding gzip;
	   }
}

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Validieren Sie die Konfigurationsdatei.

$ sudo nginx -t

Wenn Sie die folgende Fehlermeldung erhalten, müssen Sie die Datei /etc/nginx/nginx.conf bearbeiten um die Größe der Variable server_names_hash_bucket_size hinzuzufügen/anzupassen .

nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size

Öffnen Sie die Datei /etc/nginx/nginx.conf zum Bearbeiten.

$ sudo nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu .

server_names_hash_bucket_size  64;

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden. Validieren Sie Nginx erneut.

Starten Sie den Nginx-Server.

$ sudo systemctl start nginx

Schritt 6 – Code-Server verwenden

Starten Sie die Domain https://code-server.example.com in Ihrem Browser und geben Sie das Passwort ein, um Ihre Code-Server-Installation zu authentifizieren. Geben Sie das Passwort aus der Konfigurationsdatei ein.

code-server fragt beim ersten Start nach den VS-Code-Einstellungen.

Wählen Sie ein Farbschema, gehen Sie durch die verbleibenden Abschnitte und klicken Sie auf Als erledigt markieren wenn fertig.

Schlussfolgerung

Sie haben jetzt eine Visual Studio Code-Instanz auf Ihrem Rocky Linux-Server installiert. Im Vergleich zum offiziellen VS-Code gibt es dabei gewisse Vorbehalte. Die verfügbaren Erweiterungen sind nicht die offiziellen Erweiterungen, sondern werden aus dem inoffiziellen Repository des Code-Servers angeboten. Sie können die offiziellen Dokumente konsultieren, wenn Sie die offizielle Erweiterung installieren möchten. Es wird einige Anstrengungen erfordern. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Rocky Linux
  1. So installieren Sie MariaDB 10.6 auf Rocky Linux 8

  2. So installieren Sie Docker unter Rocky Linux 8

  3. So installieren Sie Cockpit unter Rocky Linux 8

  4. So installieren Sie GitLab unter Rocky Linux 8

  5. So installieren Sie MariaDB unter Rocky Linux 8

So installieren Sie Visual Studio Code unter Linux Mint 20

So installieren Sie PostgreSQL unter Rocky Linux 8

So installieren Sie Cacti unter Rocky Linux 8

So installieren Sie Joomla auf Rocky Linux 8

So installieren Sie Fail2ban unter Rocky Linux 8

So installieren Sie ImageMagick unter Rocky Linux 8