Ubunlog Damian Amoedo  

Serve, comparte archivos estáticos en tu red local de manera sencilla

Serve About

En el siguiente artículo vamos a echar un vistazo a cómo podemos configurar un servidor de archivos estáticos. Si alguna vez has querido compartir tus archivos o proyectos a través de la red, pero no sabes cómo hacerlo, quizás este artículo te pueda sacar de dudas. Esto lo haremos mediante una utilidad simple llamada “serve”, que nos hará muy sencillo compartir nuestros archivos de forma instantánea a través de nuestra red local.

Utilizando este servidor, podremos acceder a los archivos desde cualquier dispositivo, independientemente del sistema operativo. Todo lo que necesitaremos será un navegador web. Esta utilidad también se puede usar para servir sitios web estáticos. Anteriormente se conocía como “list” y “micro-list”. Pero a día de hoy el nombre ha sido cambiado a “serve”, que parece mucho más adecuado para el propósito de esta utilidad.

Instalar Serve mediante NodeJS

Para instalar Serve, primero debemos instalar NodeJS y NPM (versión 4.X o inferior). Una vez que NodeJS y NPM estén instalados, abriremos una terminal (Ctrl+Alt+T) y ejecutaremos el siguiente comando para instalar Serve.

sudo npm install -g serve

Ya no necesitamos más. Todo listo para empezar a compartir.

Uso de Serve

Servir archivos o carpetas específicos

Por ejemplo, si queremos compartir los contenidos del directorio Documentos. Solo tendremos que escribir en la terminal (Ctrl+Alt+T):

serve documentos

serve Documentos/

Como puede ver en la captura de pantalla anterior, los contenidos del directorio se han servido a través de la red local y podremos acceder a ellos mediante dos URL. Para acceder desde el propio sistema local, todo lo que habrá que hacer es abrir un navegador web y escribir como url http://localhost:5000/.

La utilidad Serve muestra los contenidos del directorio mediante un diseño simple. Podremos realizar descargas haciendo clic con el botón derecho en los archivos y seleccionar ‘Guardar enlace como’ o simplemente visualízarlos en el navegador.

Si buscamos abrir una dirección local automáticamente en el navegador, utilizaremos la opción -o.

serve -o Documentos/

Una vez que se ejecuta el comando anterior, la utilidad Serve abrirá su navegador web automáticamente y mostrará el contenido del elemento compartido.

Serve abierto en el navegador

De forma similar, para acceder al directorio compartido desde un sistema remoto a través de la red local, escribiremos http://10.0.2.15:5000 en la barra de direcciones del navegador. Reemplaza 10.0.2.15 con la IP de tu sistema.

Servir contenido a través de diferentes puertos

La utilidad serve utiliza el puerto 5000 de manera predeterminada. Por lo tanto, hay que asegurarse de que el puerto 5000 esté disponible. En caso de que esté bloqueado por alguna razón, podremos servir los contenidos utilizando un puerto diferente usando la opción -p.

serve selección de puertos

serve -p 1234 Documentos/

El comando anterior servirá los contenidos del directorio de Documentos a través del puerto 1234.

Comparte un solo archivo

Para servir un archivo, en lugar de una carpeta, solo tendremos que darle la ruta hasta el archivo:

serve Documentos/Anotaciones/notas.txt

Sirve todo el directorio $HOME

Abre tu terminal y escribe:

serve

De forma automática se compartirá el contenido de tu directorio $HOME completo a través de la red. Para detener el intercambio, tendremos que pulsar CTRL+C.

Sirve archivos o carpetas de manera selectiva

Es posible que no quieras compartir todos los archivos o directorios, sino solo algunos situados en un directorio. Puedes hacer esto excluyendo los archivos o directorios usando la opción -i.

serve -i Descargas/

El comando anterior servirá a toda la carpeta $HOME excepto el directorio de Descargas.

Servir contenido solo en localhost

Si te interesa servir los contenidos solo en el sistema local, no en toda la red podrás hacerlo utilizando la opción -l:

serve solo en localhost

serve -l Documentos/

Este comando servirá al directorio de Documentos solo en localhost. Esto puede ser útil cuando trabajas en un servidor compartido. Todos los usuarios en el sistema pueden acceder al recurso compartido, pero no los usuarios remotos.

Comparte contenido usando SSL

Como servimos los contenidos a través de la red local, no necesitamos usar SSL. Sin embargo, la utilidad Serve tiene la capacidad de compartir contenido utilizando SSL utilizando la opción -ssl.

serve con ssl

serve --ssl Documentos/

Servir contenidos con autenticación

En todos los ejemplos anteriores, hemos servido los contenidos sin ninguna autenticación. Esto quiere decir que cualquier persona en la red puede acceder a ellos. Pero podemos hacer que sea necesario un usuario y contraseña para acceder a algunos contenidos. Para hacerlo, utiliza:

Serve usuario y password

SERVE_USER=entreunosyceros SERVE_PASSWORD=123456 serve --auth

Ahora los usuarios deben escribir el nombre de usuario (entreunosyceros, en este caso) y la contraseña (123456) para acceder a los recursos compartidos.

Otras funciones

La utilidad Serve tiene otras funciones, como desactivar la compresión Gzip, permitir solicitudes desde cualquier origen, evitar copiar la dirección automáticamente al portapapeles, etc. Para más información podemos leer la sección de ayuda ejecutando:

Serve help

serve help

También podemos conocer más acerca de Serve en su repositorio de GitHub.

El artículo Serve, comparte archivos estáticos en tu red local de manera sencilla ha sido originalmente publicado en Ubunlog.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.