Cómo Virtualmin Apache Reverse Proxy y Nodejs

Gran título, ¿ verdad? Veamos como hacer funcionar Node con Virtualmin Open Source. La versión pro tiene incluido el instalador para Node, pero la GPL lleva tan sólo unas poquitas aplicaciones para instalar. Seguramente nos valga, pero si queremos además usar Node tenemos que hacer unos pequeños cambios.

Primero instalamos node al gusto de nuestra distribución. Cómo instalar Node en Debian 10 podría servirte en caso de necesitar instalarlo en Debian / Ubuntu.

Después creamos un servidor con un dominio.com que dispongamos usando Virtualmin.

Seguidamente añadimos la configuración para el Reverse Proxy. Un Reverse Proxy (proxy inverso) simplemente es que cuando el servidor reciba una petición en una ruta concreta Apache se desentiende y pasa la petición a un puerto que le indiquemos. Para esto, vamos a Virtualmin -> Services -> Configure Website -> Edit Directives y añadimos al final:

<Location /nodejs>
      ProxyPass http://127.0.0.1:3000
      ProxyPassReverse http://127.0.0.1:3000
</Location>

Guardamos y reiniciamos Apache (Webmin -> Dashboard -> Servers Status -> Apache WebServer -> Restart Apache)

Con esto que hemos añadido hacemos que cuando algo solicite a la direccion dominio.com/nodejs Apache pasa esta conexion a aquello que esté escuchando en el puerto 3000. Nosotros queremos que quien escuche sea node.

Para probar que funciona creamos un fichero de texto llamado app.js en el servidor que será ejecutado con un usuario que puede ejecutar node.

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Lo ejecutamos con:

node app.js

Finalmente vamos con nuestro navegador a la dirección dominio.com/nodejs y si todo va bien nos mostrará el mensaje Hello World.

Eso es todo.

Código de node.org

Relacionado

sudo service apache2 restart
nano app.js

Usando fechas como enteros en Javascript

Para obtener la fecha y hora actual en milisegundos desde el 1 enero de 1970 a las 0 horas UTC:

let now = new Date().getTime();

Producirá una valor para now que al momento de escribir esto es:

1566991302957

La operación inversa la logramos dando la FechaHora en milisegundos al constructor de Date y usando el método que podemos ver en el código:

let readable = new Date(now).toLocaleString();

Lo que producirá una salida semejante a:

2019-8-28 1:28:50 PM

Relacionado

Cómo instalar Deno en Debian 10

Para instalar deno en Debian 10 desde una terminal

curl -fsSL https://deno.land/x/install/install.sh | sh
nano $HOME/.bash_profile

y añadimos

export DENO_INSTALL="/home/$USER/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"

y reiniciamos

Relacionado

deno -v
deno --help
deno
deno https://deno.land/welcome.ts

Cómo añadir usuario al grupo Virtualbox en Debian 10

Las carpetas compartidas son una de las características más interesantes cuando usamos Virtualbox. Nos permite mover archivos desde y hacia la máquina virtual muy fácilmente. En Debian 10 logramos esta característica tras instalar las Guest Additions. Sin embargo, para poder cruzar el umbral de la carpeta compartida nuestro usuario necesita forma parte del grupo vboxsf.

Lograr esto es muy sencillo, solamente necesitamos añadir nuestro usuario al grupo vboxsf con el siguiente comando

sudo adduser usuario vboxsf

Usuario será nuestro nombre de usuario. Tras esto deberemos cerrar sesión y volver a entrar. Un reinicio también servirá.

Relacionado

sudo adduser $USER vboxsf
cd /media/sf_S/
sudo reboot

Cómo instalar youtube-dl en Debian 10

En los repositorios de Debian 10 podemos encontrar youtube-dl. Lamentablemente la versión que podemos encontrar allí estará bastante desactualizada y en una aplicación como esta es un problema considerable ya que su funcionalidad depende mucho de los cambios que hacen servicios de streaming.

Sin embargo, podemos instalar una versión actualizada sin mucho problema. En la página oficial nos muestran varias opciones, pero yo prefiero de entre todas instalarla con pip3, ya que no deja de ser una aplicación python.

sudo apt install python3-pip
sudo pip3 install -U youtube-dl

Relacionado

sudo apt update
sudo apt upgrade
sudo apt install ffmpeg
youtube-dl
which youtube-dl

Web: youtube-dl

Cómo instalar Guest Additions en un Debian 10 Guest de Virtualbox

Instalando las Guest Additions nuestras máquinas virtuales de VirtualBox dispondrán de características muy interesantes. Un driver de tarjeta gráfica mejorado, portapapeles compartido con el anfitrión o las carpetas compartidas mediante las cuales podemos transferir ficheros desde o hacia la máquina virtual muy fácilmente. Para instalarlas en Debian 10.

sudo apt install build-essential
sudo apt install linux-headers-`uname -r`
sudo apt install dkms
sudo apt install --fix-broken
sudo sh /media/cdrom/VBoxLinuxAdditions.run 

Relacionado

sudo apt update
sudo apt upgrade
sudo apt install build-essential linux-headers-`uname -r` dkms

Cómo programar el apagado de Windows

Podemos programar el apagado de windows en un tiempo determinado con el comando shutdown. Iniciamos Powershell en modo administrador. Esto se puede lograr buscando Powershell en el menú inicio y sobre el icono de Powershell, pulsamos botón derecho y después clicamos en ejecutar como administrador.

shutdown –s –t 1500

Este comando apagará windows en 25 minutos a partir de ahora. El tiempo se expresa en segundos, en este caso 60″ * 25′ = 1500″

Cómo instalar Atom en Debian 10

Descargamos la última versión para nuestro sistema desde https://atom.io/ y lo instalamos con

sudo dpkg -i atom-amd64.deb

Cambiaremos el nombre del fichero al adecuado.

Relacionado

atom .
apm help