Come installare Visual Studio Code Cloud IDE su Rocky Linux 8
Su questa pagina
- Prerequisiti
- Passaggio 1: configurazione del firewall
- Passaggio 2 - Installa il server del codice
- Passaggio 3 - Configura il server del codice
- Passaggio 4 - Installa SSL
- Passaggio 5 - Installa e configura Nginx
- Passaggio 6 - Usa il server del codice
- Conclusione
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 capacità 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 permette 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 utilizzando l'applicazione code-server sul tuo server Rocky Linux 8. Lo esporrai anche tramite un dominio pubblico insieme al supporto SSL.
Prerequisiti
-
A server running Rocky Linux with at least 2 GB of RAM and 2 CPU cores.
-
A non-root user with sudo privileges.
-
A domain registered and pointed to the server.
-
Nginx installed on your server.
-
Ensure everything is updated.
$ sudo dnf update
Passaggio 1: configurare il 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 gli attuali servizi/porte consentiti.
$ sudo firewall-cmd --permanent --list-services
Dovrebbe mostrare il seguente output.
dhcpv6-client mdns ssh
Apri la porta 8080 per il server del 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: installare il server del codice
code-server viene fornito con uno script di installazione in grado di rilevare la versione di 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.
Eseguire il seguente comando 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 $USER Or, if you don't want/need a background service you can run: code-server
Eseguire l'installazione dopo il corretto funzionamento a secco.
$ curl -fsSL https://code-server.dev/install.sh | sh
Lo script di installazione potrebbe richiedere la tua password sudo.
Abilita il servizio del server del codice.
$ sudo systemctl enable $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: configurare il server del codice
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
Di seguito sono riportate 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 consente il seguente comportamento:
- Ascolta sulla porta IP di loopback 8080
- Abilita l'autorizzazione della password con una password generata casualmente
- Non utilizza TLS
È possibile modificare la password modificandone il valore nel file.
Se desideri archiviare una versione con hash della password, devi prima installare npm. Una volta installato, eseguire il seguente comando 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 riga seguente 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 seguente comando per elencare tutti i flag.
$ code-server --help
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Passaggio 4: installa SSL
Per installare un certificato SSL utilizzando Lets Encrypt, dobbiamo scaricare lo strumento Certbot. Ma prima, dobbiamo installare il repository EPEL.
Eseguire 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
Il comando precedente scaricherà un certificato nella directory /etc/letsencrypt/live/code-server.example.com
sul tuo server. Assicurati di sostituire [email
con il tuo vero indirizzo email.
Genera un certificato di gruppo Diffie-Hellman.
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Crea una directory webroot di verifica per il rinnovo automatico di Lets 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, per prima cosa, crea il file /etc/cron.daily/certbot-renew
e aprilo per modificarlo.
$ 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.
Modificare 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 file /etc/yum.repos.d/nginx.repo
per creare il 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 nella directory /etc/nginx/conf.d
.
$ 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 ricevi 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
Aggiungere 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: utilizzare il server del codice
Avvia il dominio https://code-server.example.com
nel tuo browser e inserisci la password per autenticare l'installazione del server del codice. Immettere la password dal file di configurazione.
code-server chiederà le impostazioni di VS Code la prima volta che lo avvii.
Scegli una combinazione di colori, scorri le sezioni rimanenti e fai clic su Contrassegna 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 dei server di codice. Puoi consultare i loro documenti ufficiali se desideri installare l'estensione ufficiale. Ci vorrà un certo sforzo. Se hai domande, pubblicale nei commenti qui sotto.