GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come installare Visual Studio Code Cloud IDE su Rocky Linux 8

Visual Studio Code è diventato uno degli IDE più popolari per la codifica. Ha integrato il supporto Git e Docker, un debugger del codice, il completamento automatico del codice, la possibilità di lavorare con file remoti e supporta vari plugin.

Con tutto il passaggio al cloud, avere accesso all'IDE di tua scelta da qualsiasi luogo è perfetto per lo sviluppo moderno. Cloud IDE consente la collaborazione in tempo reale tra gli sviluppatori, migliorando così la produttività. coder-server è un'applicazione che consente di eseguire Visual Studio Code da un server remoto e lo rende accessibile tramite qualsiasi browser.

Questo tutorial ti insegnerà come installare Visual Studio Code IDE usando l'applicazione code-server sul tuo server Rocky Linux 8. Lo esporrai anche tramite un dominio pubblico insieme al supporto SSL.

Prerequisiti

  1. Un server che esegue Rocky Linux con almeno 2 GB di RAM e 2 core CPU.

  2. Un utente non root con privilegi sudo.

  3. Un dominio registrato e puntato al server.

  4. Nginx installato sul tuo server.

  5. Assicurati che tutto sia aggiornato.

    $ sudo dnf update
    

Passaggio 1:configurazione del firewall

Il primo passo è configurare il firewall. Rocky Linux viene fornito con il firewall Firewalld.

Controlla se il firewall è in esecuzione.

$ sudo firewall-cmd --state

Il seguente output dimostra che il firewall è in esecuzione.

running

Controlla i servizi/porte attualmente consentiti.

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

Dovrebbe mostrare il seguente output.

dhcpv6-client mdns ssh

Apri la porta 8080 per il server di codice.

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

Consenti porte HTTP e HTTPS.

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

Ricontrolla lo stato del firewall.

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

Dovresti vedere un output simile.

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:

Ricarica il firewall per abilitare le modifiche.

$ sudo systemctl reload firewalld

Passaggio 2 - Installa code-server

code-server viene fornito con uno script di installazione in grado di rilevare la versione Linux e installare il binario appropriato per il tuo server. Puoi testare lo script di installazione per verificare se funzionerà o meno sul tuo server.

Esegui il comando seguente per eseguire un'esecuzione a secco dell'installazione.

$ 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

Eseguire l'installazione dopo aver eseguito correttamente il dry run.

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

Lo script di installazione potrebbe richiedere la tua password sudo.

Abilita il servizio code-server.

$ sudo systemctl enable [email protected]$USER

Se desideri aggiornare la tua istanza di code-server, ripeti il ​​processo di installazione. code-server conserverà i tuoi file e le tue impostazioni.

Passaggio 3 - Configura code-server

code-server memorizza il suo file di configurazione in ~/.config/code-server/config.yaml . Aprilo per la modifica.

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

Ecco le impostazioni predefinite impostate durante l'installazione.

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

Il file di configurazione predefinito abilita il seguente comportamento:

  • Ascolta sulla porta IP di loopback 8080
  • Abilita l'autorizzazione della password con una password generata casualmente
  • Non utilizza TLS

Puoi modificare la password modificandone il valore nel file.

Se desideri archiviare una versione con hash della password, devi prima installare npm. Una volta installato, esegui il comando seguente per impostare la password con hash.

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

Otterrai il valore hash sul tuo terminale. Copialo e incollalo nel file di configurazione.

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

Assicurati di racchiudere la password con hash tra virgolette. Se vuoi disabilitare la telemetria, aggiungi la seguente riga nel file.

disable-telemetry: false

Ci sono altre opzioni che puoi definire nel file. Per controllare tutte le altre opzioni che puoi aggiungere, usa il comando seguente per elencare tutti i flag.

$ code-server --help

Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.

Fase 4 - Installa SSL

Per installare un certificato SSL utilizzando Let's Encrypt, è necessario scaricare lo strumento Certbot. Ma prima dobbiamo installare il repository EPEL.

Esegui i seguenti comandi per installare Certbot.

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

Genera il certificato SSL.

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

Il comando precedente scaricherà un certificato in /etc/letsencrypt/live/code-server.example.com directory sul tuo server. Assicurati di sostituire [email protected] con la tua email attuale.

Genera un gruppo Diffie-Hellman certificato.

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

Crea una directory webroot di sfida per il rinnovo automatico di Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Crea un Cron Job per rinnovare l'SSL. Verrà eseguito ogni giorno per controllare il certificato e rinnovarlo se necessario. Per questo, prima crea il file /etc/cron.daily/certbot-renew e aprilo per la modifica.

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

Incolla il seguente codice.

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

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Modifica le autorizzazioni sul file dell'attività per renderlo eseguibile.

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

Passaggio 5 - Installa e configura Nginx

Crea e apri il /etc/yum.repos.d/nginx.repo file per la creazione del repository Nginx ufficiale.

[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

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Installa il server Nginx.

$ sudo dnf install nginx

Abilita il servizio Nginx.

$ sudo systemctl enable nginx

Crea un file di configurazione per code-server in /etc/nginx/conf.d directory.

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

Incolla il seguente codice al suo interno.

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;
	   }
}

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Convalida il file di configurazione.

$ sudo nginx -t

Se ottieni il seguente errore, dovrai modificare il file /etc/nginx/nginx.conf per aggiungere/regolare la dimensione della variabile server_names_hash_bucket_size .

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

Apri il file /etc/nginx/nginx.conf per la modifica.

$ sudo nano /etc/nginx/nginx.conf

Aggiungi la riga seguente prima della riga include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size  64;

Salva il file premendo Ctrl + X e inserendo Y quando richiesto. Convalida di nuovo Nginx.

Avvia il server Nginx.

$ sudo systemctl start nginx

Passaggio 6 - Usa code-server

Avvia il dominio https://code-server.example.com nel browser e inserire la password per autenticare l'installazione del server di codice. Immettere la password dal file di configurazione.

code-server chiederà le impostazioni del codice VS la prima volta che lo avvii.

Scegli una combinazione di colori, passa attraverso le sezioni rimanenti e fai clic su Segna come completato al termine.

Conclusione

Ora hai un'istanza di Visual Studio Code installata sul tuo server Rocky Linux. Ci sono alcuni avvertimenti con questo rispetto al codice VS ufficiale. Le estensioni disponibili non sono le estensioni ufficiali ma offerte dal repository non ufficiale del code-server. Puoi consultare i loro documenti ufficiali se desideri installare l'estensione ufficiale. Ci vorrà un po' di sforzo. Se hai domande, pubblicale nei commenti qui sotto.


Rocky Linux
  1. Come installare MariaDB 10.6 su Rocky Linux 8

  2. Come installare Docker su Rocky Linux 8

  3. Come installare Cockpit su Rocky Linux 8

  4. Come installare GitLab su Rocky Linux 8

  5. Come installare MariaDB su Rocky Linux 8

Come installare il codice di Visual Studio su Linux Mint 20

Come installare PostgreSQL su Rocky Linux 8

Come installare Cactus su Rocky Linux 8

Come installare Joomla su Rocky Linux 8

Come installare Fail2ban su Rocky Linux 8

Come installare ImageMagick su Rocky Linux 8