Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Inicio
  • Blog
  • Podcast
  • ¿Quién soy?
  • Contactar
  • Acceder
Usted está aquí: Inicio / Podcast / 47. Raspberry Pi como servidor web

47. Raspberry Pi como servidor web

Luis del Valle Hernández

https://api.spreaker.com/download/episode/6655920/podcast47.mp3

Podcast: Descargar (38.3MB)

Raspberry-boxed

Continuamos hablando de Raspberry Pi y sus posibilidades, en el capítulo de hoy veremos Raspberry Pi como servidor web. Es una funcionalidad muy interesante que también nos servirá como herramienta para aprender sobre implantación de proyectos web y sobre sistemas.

Si tienes alguna duda sobre Raspberry Pi o algún otro tema de tecnología puedes contactar con nosotros a través del formulario de contacto, en Twitter y en Facebook. También tenemos a tu disposición una lista de distribución.

Como ya hablamos en anteriores capítulos la Raspberry Pi puede servirnos como un excepcional y polivalente servidor casero. En este caso vamos a hablar de utilizar dicho dispositivo como servidor web, obviamente el rendimiento que puede ofrecer Raspberry Pi no es el que se espera en un entorno empresarial cuyo volumen de uso pueda ser importante pero como servidor aplicaciones domésticas o para uso formativo es realmente interesante, además nos ayudará a comprender cómo nos pueden ayudar las tecnologías empleadas para cualquier proyecto
Vamos a proponer varios posibles escenarios abarcando diferentes tecnologías. Gracias a Linux tenemos para elegir, vamos allá:

Escenario 1: Servidor web Apache + PHP 
¿Porqué usar este escenario? Cuando hablamos de PHP más bien tendríamos que preguntarnos porqué no usarlo. Gracias a esta plataforma podremos emplear los CMS más afamados como WordPress, Joomla o Prestashop. Además por supuesto podremos desarrollar aplicaciones avanzadas y empleando las últimas tecnologías, de hecho grandes monstruos de internet como Yahoo, Facebook, Sourceforge o Flickr han confiado en esta tecnología.

¿Qué necesito? Los que conozcan estas tecnologías conocerán el paquete LAMP(Linux, Apache, Mysql y PHP) y aunque para Raspberry Pi no tenemos constancia de que exista dicho paquete, podemos instalar independientemente cada uno de los paquetes que lo componen. Por ejemplo, si usamos Raspbian: con la conocidísima herramienta de gestión de paquetes apt-get tan solo necesitaremos instalar los paquetes apache2, mysql-server, php y php-mysql para disponer de un servidor web PHP y Mysql completo.

Escenario 2: Servidor web Node.JS
¿Porqué usar este escenario? Parace que la tendencia a usar Node.JS es importante, ha calado muy bien en la comunidad de desarrolladores y parece que poco a poco va a tener una presencia importante en el mundo web. Podemos recomendar Express, un framework para realizar páginas y servicios web REST de forma muy sencilla(hablamos algo más sobre esta tecnología en este artículo).

¿Qué necesito? Simplemente instalar Node en tu Raspberry Pi. Tengamos en cuenta que desde el propio proceso que programemos en Node.JS tendremos que programar que nuestra salida de  datos se va a producir mediante una página web levantando dicho servicio web en un puerto, tal y como ya comentamos en este artículo que ya hemos mencionado donde también hablamos de cómo instalar Node.JS en Raspberry Pi en la distribución Raspbian.

Escenario 3: Servidor web Java
¿Porqué usar este escenario? No podemos obviar la opción de Java ya que sigue siendo uno de los lenguajes de programación más conocidos y utilizados en todo el mundo. Java también ofrece un mundo de posibilidades en entorno web, en este caso vamos a poner el ejemplo de un Framework MVC muy usado: Spring MVC. Quien esté familiarizado con MVC se sentirá cómodo con este framework que permite el desarrollo de aplicaciones web con este patrón de diseño de software.

¿Qué necesito? Pues en este caso tendremos que instalar el JDK de Java( si utilizamos cualquier distribución proviniente de Debian podremos utilizar la herramienta que ya hemos mencionado apt-get para instalar el paquete oracle-java7-jdk) y además instalar el servidor Tomcat  (también utilizando apt-get, instalando el paquete tomcat7). Una vez instalado todo y con unos ajustes de configuración ya podremos implantar nuestras aplicaciones web en Java.

Escenario 4: ASP.NET con mono y pronto con Net Core!
Como muchos ya sabréis, en el equipo de programarfácil  hay más de un integrante que trabaja diariamente con entornos .NET  y gracias al cambio que ha experimentado Microsoft pronto podremos disfrutar de su conocido Framework para desarrollar aplicaciones web ASP.NET MVC en plataformas no Windows, como puede ser el caso de Raspberry Pi con algunas de las distribuciones Linux disponibles para dicho dispositivo. Ahora mismo podemos hacerlo con Mono pero pronto podremos hacerlo de forma oficial.

Un momento… ¿Qué es Mono? Mono es una implementación libre que ofrece soporte a aplicaciones .NET en entorns Linux. No es un proyecto oficial de Microsoft sino de la comunidad Open Source. Como aliciente esta circunstancia hará que puedas disfrutar cacharreando un poco con ambas tecnologías.
¿Porqué usar este ASP.NET con Mono? Si te gusta la plataforma .NET y no quieres bajo ningún concepto dejar de usarlo, esta es la opción a día de hoy nos guste o no.  Aquí puedes obtener toda la información sobre este proyecto.

En un futuro cercano… ASP.NET con .NET Core
¿.NET Core? Ya hablamos en este post sobre NET Core, un subconjunto de .NET que tiene el objetivo que, de forma nativa, podamos implementar los diferentes desarrollos realizados con estas tecnologías. Ya existe la beta de ASP.NET 5 versión 7 que incluye .NET executing enviroment para linux y Mac. ¿Te atreves a probarla? Aquí te dejamos información oficial de Microsoft.

Como muchas veces decimos: estas son nuestras propuestas, pero puede haber muchas más ¿Crees que hay alguna más interesante? Por favor no dejéis de plantearlo en los diferentes medios que tenemos.

A continuación te dejamos los enlaces de los que hacemos mención en este podcast:

  • Proyecto Mono.
  • .NET executing enviroment para Linux y Mac.

Como muchas veces decimos: estas son nuestras propuestas, pero puede haber muchas más ¿Crees que hay alguna más interesante? Por favor no dejéis de plantearlo en los diferentes medios que tenemos.

Recurso del día

Fiddler

Es un proxy de depuración web gratuito para cualquier navegador, sistema o plataforma. Permite depurar el tráfico producido por aplicaciones web en Windows, Linux, Mac y dispositivos móviles, hacer pruebas de rendimiento, análisis de tráfico registrando todas las transacciones HTTP y comprobar la seguridad de tus aplicaciones para que no te lleves ningún susto.

Muchas gracias a todos por los comentarios y valoraciones que nos hacéis en iVoox, iTunes y en Spreaker, nos dan mucho ánimo para seguir con este proyecto.

¿VAS COPIANDO Y PEGANDO CÓDIGO COMO UN POLLO SIN CABEZA?

Mini-curso de Arduino para principiantes y pollos.

Por si quieres aprender (gratis) de qué va esto de Arduino.

7 vídeos + 1 caso práctico

Explicado para que lo entienda
hasta tu abuela.

__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"30800":{"name":"Main Accent","parent":-1},"f2bba":{"name":"Main Light 10","parent":"30800"},"trewq":{"name":"Main Light 30","parent":"30800"},"frty6":{"name":"Main Light 45","parent":"30800"},"flktr":{"name":"Main Light 80","parent":"30800"}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"30800":{"val":"rgb(59, 136, 253)","hsl":{"h":216,"s":0.98,"l":0.61}},"f2bba":{"val":"rgba(59, 136, 253, 0.1)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.1}},"trewq":{"val":"rgba(59, 136, 253, 0.3)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.3}},"frty6":{"val":"rgba(59, 136, 253, 0.45)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.45}},"flktr":{"val":"rgba(59, 136, 253, 0.8)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.8}}},"gradients":[]},"original":{"colors":{"30800":{"val":"rgb(59, 136, 253)","hsl":{"h":216,"s":0.98,"l":0.61}},"f2bba":{"val":"rgba(59, 136, 253, 0.1)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.1}},"trewq":{"val":"rgba(59, 136, 253, 0.3)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.3}},"frty6":{"val":"rgba(59, 136, 253, 0.45)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.45}},"flktr":{"val":"rgba(59, 136, 253, 0.8)","hsl_parent_dependency":{"h":216,"s":0.98,"l":0.61,"a":0.8}}},"gradients":[]}}]}__CONFIG_colors_palette__

TinyGS estaciones terrestres de código abierto

Bienvenidos a un capitulo nuevo de «La tecnología para todos«. Hoy vienen al podcast Oscar, German y José Manuel, para contar sobre Tiny GS la red … [+ info...]

raspberry pi vs intel nuc

Raspberry Pi vs Intel NUC

Bienvenidos a «La tecnología para todos«. En este capitulo de la sexta temporada junto a German y José Manuel, se plantea una incógnita: ¿Qué … [+ info...]

ESP-32

ESP32 Wifi y Bluetooth en un solo chip

ESP32 es una familia de microcontroladores de la empresa Espressif Systems. Su analogía más clara es la de un ESP8266 con esteroides, que incluye … [+ info...]

Copyright © 2021 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

GUARDAR Y ACEPTAR