Cómo configurar la plataforma IDE de la nube del servidor de código en Ubuntu 18.04 [Inicio rápido]

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1 — Instalación del servidor de códigos
  • Paso 2: Exponer el servidor de código
  • Paso 3: Proteger su dominio
  • Conclusión
  • code-server es Microsoft Visual Studio Code ejecutándose en un servidor remoto y accesible directamente desde su navegador. Esto significa que puede utilizar varios dispositivos, ejecutar diferentes sistemas operativos y tener siempre a mano un entorno de desarrollo consistente.

    En este tutorial, configurará la plataforma IDE de nube de servidor de código en su máquina Ubuntu 18.04 y la expondrá en su dominio, protegida con Let's Encrypt. Para obtener una versión más detallada de este tutorial, consulte Cómo configurar la plataforma IDE de nube de servidor de código en Ubuntu 18.04.

    Prerrequisitos

    • Un servidor con Ubuntu 18.04 y al menos 2 GB de RAM, acceso root y una cuenta sudo que no sea root. Puedes configurarlo siguiendo la Guía de configuración inicial del servidor para Ubuntu 18.04.

    • Nginx instalado en su servidor. Para obtener una guía sobre cómo hacerlo, complete los pasos 1 a 4 de Cómo instalar Nginx en Ubuntu 18.04.

    • Un nombre de dominio completamente registrado para alojar un servidor de código, que apunte a su servidor. Este tutorial se utilizará code-server.your-domainen todo momento. Puede comprar un nombre de dominio en Namecheap, obtener uno gratis en Freenom o utilizar el registrador de dominios que prefiera.

    • Los dos siguientes registros DNS están configurados para su servidor. Puede consultar esta introducción a DigitalOcean DNS para obtener detalles sobre cómo agregarlos.

      • Un registro A que your-domainapunta a la dirección IP pública de su servidor.
      • Un registro A que apunta a la dirección IP pública de su servidor.www.your-domain

    Paso 1 — Instalación del servidor de códigos

    Cree el directorio para almacenar todos los datos del servidor de códigos:

    1. mkdir ~/code-server

    Navega hasta él:

    1. cd ~/code-server

    Visita la página de lanzamientos de Github de code-server y elige la última versión de Linux. Descárgala usando:

    1. wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

    Descomprima el archivo:

    1. tar -xzvf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

    Navegue hasta el directorio que contiene el ejecutable del servidor de código:

    1. cd code-server2.1692-vsc1.39.2-linux-x86_64

    Para acceder al ejecutable del servidor de códigos en todo el sistema, cópielo con:

    1. sudo cp code-server /usr/local/bin

    Cree una carpeta para que el servidor de códigos almacene los datos del usuario:

    1. sudo mkdir /var/lib/code-server

    Crea un systemdservicio, code-server.service, en el /lib/systemd/systemdirectorio:

    1. sudo nano /lib/systemd/system/code-server.service

    Añade las siguientes líneas:

    /lib/systemd/system/code-server.servicio

    [Unit]Description=code-serverAfter=nginx.service[Service]Type=simpleEnvironment=PASSWORD=your_passwordExecStart=/usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth passwordRestart=always[Install]WantedBy=multi-user.target
    • --host 127.0.0.1lo vincula a localhost.
    • --user-data-dir /var/lib/code-serverEstablece su directorio de datos de usuario.
    • --auth passwordespecifica que debe autenticar a los visitantes con una contraseña.

    Recuerde reemplazarla your_passwordcon la contraseña deseada.

    Guarde y cierre el archivo.

    Iniciar el servicio de servidor de códigos:

    1. sudo systemctl start code-server

    Comprueba que se ha iniciado correctamente:

    1. sudo systemctl status code-server

    Verá un resultado similar a este:

    Output● code-server.service - code-server   Loaded: loaded (/lib/systemd/system/code-server.service; disabled; vendor preset: enabled)   Active: active (running) since Mon 2019-12-09 20:07:28 UTC; 4s ago Main PID: 5216 (code-server)    Tasks: 23 (limit: 2362)   CGroup: /system.slice/code-server.service           ├─5216 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password           └─5240 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password...

    Habilite el servicio de servidor de código para que se inicie automáticamente después de reiniciar el servidor:

    1. sudo systemctl enable code-server

    Paso 2: Exponer el servidor de código

    Ahora configurarás Nginx como un proxy inverso para el servidor de código.

    Crea code-server.confun almacén para la configuración para exponer el servidor de código en tu dominio:

    1. sudo nano /etc/nginx/sites-available/code-server.conf

    Agregue las siguientes líneas para configurar su bloque de servidor con las directivas necesarias:

    /etc/nginx/sites-available/code-server.conf

    server {listen 80;listen [::]:80;server_name code-server.your_domain;location / {proxy_pass http://localhost:8080/;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection upgrade;proxy_set_header Accept-Encoding gzip;}}

    Reemplace code-server.your_domaincon el dominio deseado, luego guarde y cierre el archivo.

    Para activar esta configuración del sitio, cree un enlace simbólico:

    1. sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf

    Pruebe la validez de la configuración:

    1. sudo nginx -t

    Verás el siguiente resultado:

    Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

    Para que la configuración tenga efecto, reinicie Nginx:

    1. sudo systemctl restart nginx

    Paso 3: Proteger su dominio

    Ahora protegerás tu dominio utilizando un certificado TLS Let's Encrypt.

    Agregue el repositorio de paquetes de Certbot a su servidor:

    1. sudo add-apt-repository ppa:certbot/certbot

    Instalar Certbot y su complemento Nginx:

    1. sudo apt install python-certbot-nginx

    Configurar ufwpara aceptar tráfico cifrado:

    1. sudo ufw allow https

    La salida será:

    OutputRule addedRule added (v6)

    Vuelva a cargarlo para que la configuración tenga efecto:

    1. sudo ufw reload

    El resultado mostrará:

    OutputFirewall reloaded

    Navega hasta el dominio de tu servidor de código.

    Ingresa la contraseña de tu servidor de códigos. Verás la interfaz expuesta en tu dominio.

    Para protegerlo, instale un certificado TLS Let's Encrypt usando Certbot.

    Solicita un certificado para tu dominio con:

    1. sudo certbot --nginx -d code-server.your_domain

    Proporcione una dirección de correo electrónico para avisos urgentes, acepte los Términos de Servicio de la EFF y decida si desea redirigir todo el tráfico HTTP a HTTPS.

    La salida será similar a esto:

    OutputIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at:   /etc/letsencrypt/live/code-server.your_domain/fullchain.pem   Your key file has been saved at:   /etc/letsencrypt/live/code-server.your_domain/privkey.pem   Your cert will expire on ... To obtain a new or tweaked   version of this certificate in the future, simply run certbot again   with the "certonly" option. To non-interactively renew *all* of   your certificates, run "certbot renew"...

    Certbot ha generado con éxito certificados TLS y los ha aplicado a la configuración de Nginx para su dominio.

    Conclusión

    Ahora tiene instalado en su servidor Ubuntu 18.04 Code-Server, un IDE de nube versátil, expuesto en su dominio y protegido mediante certificados Let's Encrypt. Para obtener más información, consulte la documentación de Visual Studio Code para obtener funciones adicionales e instrucciones detalladas sobre otros componentes de Code-Server.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion