GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo instalar Visual Studio Code Cloud IDE en Rocky Linux 8

Visual Studio Code se ha convertido en uno de los IDE más populares para la codificación. Tiene compatibilidad integrada con Git y Docker, un depurador de código, autocompletado de código, la capacidad de trabajar con archivos remotos y admite varios complementos.

Con todo moviéndose a la nube, tener acceso al IDE de su elección desde cualquier lugar es perfecto para el desarrollo moderno. Cloud IDE permite la colaboración en tiempo real entre desarrolladores, lo que mejora la productividad. coder-server es una aplicación que le permite ejecutar Visual Studio Code desde un servidor remoto y lo hace accesible a través de cualquier navegador.

Este tutorial le enseñará cómo instalar Visual Studio Code IDE utilizando la aplicación de servidor de código en su servidor Rocky Linux 8. También lo expondrá a través de un dominio público junto con soporte SSL.

Requisitos

  1. Un servidor que ejecuta Rocky Linux con al menos 2 GB de RAM y 2 núcleos de CPU.

  2. Un usuario no root con privilegios sudo.

  3. Un dominio registrado y apuntado al servidor.

  4. Nginx instalado en su servidor.

  5. Asegúrese de que todo esté actualizado.

    $ sudo dnf update
    

Paso 1:configurar el cortafuegos

El primer paso es configurar el cortafuegos. Rocky Linux viene con el cortafuegos Firewalld.

Compruebe si el cortafuegos se está ejecutando.

$ sudo firewall-cmd --state

El siguiente resultado demuestra que el cortafuegos se está ejecutando.

running

Verifique los servicios/puertos permitidos actualmente.

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

Debería mostrar el siguiente resultado.

dhcpv6-client mdns ssh

Abra el puerto 8080 para el servidor de códigos.

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

Permitir puertos HTTP y HTTPS.

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

Vuelva a comprobar el estado del cortafuegos.

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

Debería ver un resultado similar.

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:

Vuelva a cargar el cortafuegos para habilitar los cambios.

$ sudo systemctl reload firewalld

Paso 2 - Instalar código-servidor

code-server viene con un script de instalación que puede detectar la versión de Linux e instalar el binario apropiado para su servidor. Puede probar el script de instalación para comprobar si funcionará o no en su servidor.

Ejecute el siguiente comando para realizar una ejecución en seco de la instalación.

$ 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

Ejecute la configuración después de la prueba exitosa.

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

El script de instalación puede solicitar su contraseña de sudo.

Habilite el servicio de servidor de códigos.

$ sudo systemctl enable [email protected]$USER

Si desea actualizar su instancia de Code-Server, repita el proceso de instalación. code-server conservará sus archivos y configuraciones.

Paso 3 - Configurar código-servidor

code-server almacena su archivo de configuración en ~/.config/code-server/config.yaml . Ábralo para editarlo.

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

Estos son los ajustes predeterminados establecidos durante la instalación.

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

El archivo de configuración predeterminado permite el siguiente comportamiento:

  • Escuche en el puerto IP loopback 8080
  • Habilita la autorización de contraseña con una contraseña generada aleatoriamente
  • No utiliza TLS

Puede cambiar la contraseña cambiando su valor en el archivo.

Si desea almacenar una versión cifrada de la contraseña, primero debe instalar npm. Una vez instalado, ejecute el siguiente comando para establecer la contraseña cifrada.

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

Obtendrá el valor hash en su terminal. Cópielo y péguelo en el archivo de configuración.

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

Asegúrese de envolver la contraseña cifrada con comillas. Si desea deshabilitar la telemetría, agregue la siguiente línea en el archivo.

disable-telemetry: false

Hay otras opciones que puede definir en el archivo. Para verificar todas las otras opciones que puede agregar, use el siguiente comando para enumerar todas las banderas.

$ code-server --help

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite una vez terminado.

Paso 4:instalar SSL

Para instalar un certificado SSL usando Let's Encrypt, necesitamos descargar la herramienta Certbot. Pero primero, necesitamos instalar el repositorio EPEL.

Ejecute los siguientes comandos para instalar Certbot.

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

Genere el certificado SSL.

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

El comando anterior descargará un certificado en /etc/letsencrypt/live/code-server.example.com directorio en su servidor. Asegúrese de reemplazar [email protected] con tu correo electrónico real.

Generar un grupo Diffie-Hellman certificado.

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

Cree un directorio webroot de desafío para la renovación automática de Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Cree un trabajo cron para renovar el SSL. Se ejecutará todos los días para verificar el certificado y renovarlo si es necesario. Para eso, primero crea el archivo /etc/cron.daily/certbot-renew y ábralo para editarlo.

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

Pegue el siguiente código.

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

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Cambie los permisos en el archivo de tareas para que sea ejecutable.

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

Paso 5:instalar y configurar Nginx

Cree y abra el /etc/yum.repos.d/nginx.repo archivo para crear el repositorio oficial de Nginx.

[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

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Instale el servidor Nginx.

$ sudo dnf install nginx

Habilite el servicio Nginx.

$ sudo systemctl enable nginx

Cree un archivo de configuración para el servidor de códigos en /etc/nginx/conf.d directorio.

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

Pegue el siguiente código en él.

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

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Valide el archivo de configuración.

$ sudo nginx -t

Si obtiene el siguiente error, deberá editar el archivo /etc/nginx/nginx.conf para agregar/ajustar el tamaño 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

Abra el archivo /etc/nginx/nginx.conf para editar.

$ sudo nano /etc/nginx/nginx.conf

Agregue la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size  64;

Guarde el archivo presionando Ctrl + X e ingresando Y Cuando se le solicite. Vuelva a validar Nginx.

Inicie el servidor Nginx.

$ sudo systemctl start nginx

Paso 6 - Usar código-servidor

Inicie el dominio https://code-server.example.com en su navegador e ingrese la contraseña para autenticar la instalación de su servidor de códigos. Introduzca la contraseña del archivo de configuración.

code-server le pedirá la configuración del código VS la primera vez que lo inicie.

Elija un esquema de color, revise las secciones restantes y haga clic en Marcar como terminado cuando haya terminado.

Conclusión

Ahora tiene una instancia de Visual Studio Code instalada en su servidor Rocky Linux. Hay ciertas advertencias con esto en comparación con el Código VS oficial. Las extensiones disponibles no son las extensiones oficiales sino que se ofrecen desde el repositorio no oficial de Code-Server. Puede consultar sus documentos oficiales si desea instalar la extensión oficial. Tomará un poco de esfuerzo. Si tiene alguna pregunta, publíquela en los comentarios a continuación.


Rocky Linux
  1. Cómo instalar MariaDB 10.6 en Rocky Linux 8

  2. Cómo instalar Docker en Rocky Linux 8

  3. Cómo instalar Cockpit en Rocky Linux 8

  4. Cómo instalar GitLab en Rocky Linux 8

  5. Cómo instalar MariaDB en Rocky Linux 8

Cómo instalar el código de Visual Studio en Linux Mint 20

Cómo instalar PostgreSQL en Rocky Linux 8

Cómo instalar cactus en Rocky Linux 8

Cómo instalar Joomla en Rocky Linux 8

Cómo instalar Fail2ban en Rocky Linux 8

Cómo instalar ImageMagick en Rocky Linux 8