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

Introducció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-domain
en 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-domain
apunta 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
- Un registro A que
Paso 1 — Instalación del servidor de códigos
Cree el directorio para almacenar todos los datos del servidor de códigos:
- mkdir ~/code-server
Navega hasta él:
- 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:
- 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:
- 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:
- 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:
- sudo cp code-server /usr/local/bin
Cree una carpeta para que el servidor de códigos almacene los datos del usuario:
- sudo mkdir /var/lib/code-server
Crea un systemd
servicio, code-server.service
, en el /lib/systemd/system
directorio:
- 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.1
lo vincula alocalhost
.--user-data-dir /var/lib/code-server
Establece su directorio de datos de usuario.--auth password
especifica que debe autenticar a los visitantes con una contraseña.
Recuerde reemplazarla your_password
con la contraseña deseada.
Guarde y cierre el archivo.
Iniciar el servicio de servidor de códigos:
- sudo systemctl start code-server
Comprueba que se ha iniciado correctamente:
- 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:
- 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.conf
un almacén para la configuración para exponer el servidor de código en tu dominio:
- 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_domain
con el dominio deseado, luego guarde y cierre el archivo.
Para activar esta configuración del sitio, cree un enlace simbólico:
- sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
Pruebe la validez de la configuración:
- 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:
- 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:
- sudo add-apt-repository ppa:certbot/certbot
Instalar Certbot y su complemento Nginx:
- sudo apt install python-certbot-nginx
Configurar ufw
para aceptar tráfico cifrado:
- sudo ufw allow https
La salida será:
OutputRule addedRule added (v6)
Vuelva a cargarlo para que la configuración tenga efecto:
- 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:
- 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.
Deja una respuesta