GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer Visual Studio Code Cloud IDE sur Rocky Linux 8

Visual Studio Code est devenu l'un des IDE les plus populaires pour le codage. Il intègre la prise en charge de Git et Docker, un débogueur de code, l'auto-complétion de code, la possibilité de travailler avec des fichiers distants et prend en charge divers plugins.

Avec tout ce qui se déplace vers le cloud, avoir accès à l'IDE de votre choix de n'importe où est parfait pour le développement moderne. Cloud IDE permet une collaboration en temps réel entre les développeurs, améliorant ainsi la productivité. coder-server est une application qui vous permet d'exécuter Visual Studio Code à partir d'un serveur distant et de le rendre accessible via n'importe quel navigateur.

Ce didacticiel vous apprendra comment installer Visual Studio Code IDE à l'aide de l'application code-server sur votre serveur Rocky Linux 8. Vous l'exposerez également via un domaine public avec le support SSL.

Prérequis

  1. Un serveur exécutant Rocky Linux avec au moins 2 Go de RAM et 2 cœurs de processeur.

  2. Un utilisateur non root avec des privilèges sudo.

  3. Un domaine enregistré et pointé vers le serveur.

  4. Nginx installé sur votre serveur.

  5. Assurez-vous que tout est mis à jour.

    $ sudo dnf update
    

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Rocky Linux est livré avec le pare-feu Firewalld.

Vérifiez si le pare-feu est en cours d'exécution.

$ sudo firewall-cmd --state

La sortie suivante prouve que le pare-feu est en cours d'exécution.

running

Vérifiez les services/ports actuellement autorisés.

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

Il devrait afficher la sortie suivante.

dhcpv6-client mdns ssh

Ouvrez le port 8080 pour le serveur de code.

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

Autoriser les ports HTTP et HTTPS.

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

Revérifiez l'état du pare-feu.

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

Vous devriez voir une sortie similaire.

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:

Rechargez le pare-feu pour activer les modifications.

$ sudo systemctl reload firewalld

Étape 2 - Installer le code-server

code-server est livré avec un script d'installation capable de détecter la version de Linux et d'installer le binaire approprié pour votre serveur. Vous pouvez tester le script d'installation pour vérifier s'il fonctionnera ou non sur votre serveur.

Exécutez la commande suivante pour effectuer une simulation de l'installation.

$ 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

Exécutez la configuration après le test réussi.

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

Le script d'installation peut vous demander votre mot de passe sudo.

Activez le service de serveur de code.

$ sudo systemctl enable [email protected]$USER

Si vous souhaitez mettre à jour votre instance de code-server, répétez le processus d'installation. code-server conservera vos fichiers et paramètres.

Étape 3 - Configurer le code-server

code-server stocke son fichier de configuration dans ~/.config/code-server/config.yaml . Ouvrez-le pour le modifier.

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

Voici les paramètres par défaut définis lors de l'installation.

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

Le fichier de configuration par défaut active le comportement suivant :

  • Écouter sur le port IP de bouclage 8080
  • Active l'autorisation par mot de passe avec un mot de passe généré aléatoirement
  • N'utilise pas TLS

Vous pouvez modifier le mot de passe en modifiant sa valeur dans le fichier.

Si vous souhaitez stocker une version hachée du mot de passe, vous devez d'abord installer npm. Une fois installé, exécutez la commande suivante pour définir le mot de passe haché.

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

Vous obtiendrez la valeur hachée sur votre terminal. Copiez-le et collez-le dans le fichier de configuration.

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

Assurez-vous d'envelopper le mot de passe haché avec des guillemets. Si vous souhaitez désactiver la télémétrie, ajoutez la ligne suivante dans le fichier.

disable-telemetry: false

Il existe d'autres options que vous pouvez définir dans le fichier. Pour vérifier toutes les autres options que vous pouvez ajouter, utilisez la commande suivante pour lister tous les drapeaux.

$ code-server --help

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité une fois terminé.

Étape 4 - Installer SSL

Pour installer un certificat SSL avec Let's Encrypt, nous devons télécharger l'outil Certbot. Mais d'abord, nous devons installer le dépôt EPEL.

Exécutez les commandes suivantes pour installer Certbot.

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

Générez le certificat SSL.

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

La commande ci-dessus téléchargera un certificat sur /etc/letsencrypt/live/code-server.example.com répertoire sur votre serveur. Assurez-vous de remplacer [email protected] avec votre adresse e-mail réelle.

Générer un groupe Diffie-Hellman certificat.

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

Créez un répertoire racine Web de défi pour le renouvellement automatique de Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Créez une tâche Cron pour renouveler le SSL. Il s'exécutera tous les jours pour vérifier le certificat et le renouveler si nécessaire. Pour cela, créez d'abord le fichier /etc/cron.daily/certbot-renew et ouvrez-le pour le modifier.

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

Collez le code suivant.

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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Modifiez les autorisations sur le fichier de tâche pour le rendre exécutable.

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

Étape 5 - Installer et configurer Nginx

Créez et ouvrez le /etc/yum.repos.d/nginx.repo fichier pour créer le référentiel Nginx officiel.

[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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Installez le serveur Nginx.

$ sudo dnf install nginx

Activez le service Nginx.

$ sudo systemctl enable nginx

Créez un fichier de configuration pour code-server dans /etc/nginx/conf.d répertoire.

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

Collez-y le code suivant.

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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Validez le fichier de configuration.

$ sudo nginx -t

Si vous obtenez l'erreur suivante, vous devrez modifier le fichier /etc/nginx/nginx.conf pour ajouter/ajuster la taille de la variable server_names_hash_bucket_size .

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

Ouvrez le fichier /etc/nginx/nginx.conf pour l'édition.

$ sudo nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size  64;

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité. Validez à nouveau Nginx.

Démarrez le serveur Nginx.

$ sudo systemctl start nginx

Étape 6 - Utiliser code-server

Lancez le domaine https://code-server.example.com dans votre navigateur et entrez le mot de passe pour authentifier votre installation de serveur de code. Entrez le mot de passe du fichier de configuration.

code-server demandera les paramètres de VS Code la première fois que vous le lancerez.

Choisissez un jeu de couleurs, parcourez les sections restantes et cliquez sur Marquer comme terminé une fois terminé.

Conclusion

Une instance de Visual Studio Code est maintenant installée sur votre serveur Rocky Linux. Il y a certaines mises en garde à ce sujet par rapport au code VS officiel. Les extensions disponibles ne sont pas les extensions officielles mais proposées à partir du référentiel non officiel de code-server. Vous pouvez consulter leur documentation officielle si vous souhaitez installer l'extension officielle. Cela demandera des efforts. Si vous avez des questions, postez-les dans les commentaires ci-dessous.


Rocky Linux
  1. Comment installer MariaDB 10.6 sur Rocky Linux 8

  2. Comment installer Docker sur Rocky Linux 8

  3. Comment installer Cockpit sur Rocky Linux 8

  4. Comment installer GitLab sur Rocky Linux 8

  5. Comment installer MariaDB sur Rocky Linux 8

Comment installer Visual Studio Code sur Linux Mint 20

Comment installer PostgreSQL sur Rocky Linux 8

Comment installer Cacti sur Rocky Linux 8

Comment installer Joomla sur Rocky Linux 8

Comment installer Fail2ban sur Rocky Linux 8

Comment installer ImageMagick sur Rocky Linux 8