miércoles, 30 de agosto de 2017

Preparando Rasberry Pi 3 para php y MySql

Parece ser que la nube gratuita OpenShift V2 que venía utilizando para albergar el servidor de la estufa de pellets en la que tenía una mini aplicacion PHP con datos en MySql ha llegado a su fin. Los de OpenShift me lo ponen dificil. Tendría que migrar a V3 que es completamente diferente, y me obligaría aprender a manejar cosas que no tengo ganas de aprender.

Así que el plan B para disponer de un nuevo servidor es usar una Raspberry PI 3 permanentemente encendida en alguna casa que tenga conexión continua a Internet.

Para empezar decir que he seguido el siguiente tutorial que aunque lo deja todo muy claro, parece que necesito hacer algunas matizaciones:

https://geekytheory.com/tutorial-raspberry-pi-15-instalacion-de-apache-mysql-php


  • La carpeta por defecto donde se pueden albergar archivos php no es /var/www sino /var/www/html. Una vez creado en ella un fichero testphp.php puedo navegar perfectamente a el con la url: http://192.168.43.222/testphp.php.
  • En vez de hacer un enlace simbólico, siguiendo otro tutorial lo que hago es añadir una Include /etc/phpmyadmin/apache.conf en el fichero /etc/apache2/apache2.conf y luego reinicio el apache con /etc/init.d/apache2 restart. Una vez rearrancado puedo gestionar la base de datos mediante la siguiente URL: http://192.168.43.222/phpmyadmin/ 

Es impresionante lo bien que funciona todo en la Raspberry pi a la primera.

He creado la base de datos php, e importado la base de datos MySql que había exportado previamente desde OpenShift. La importación funcionó a la primera.

Luego, copié todo el código fuente php que ya tenía sobre una nueva carpeta en /var/www/html/domos.

Solamente he tenido que modificar el comun.php para establecer la conexión con el nuevo usuario y contraseña de mysql y añadir una sentencia php-mysql para establecer el juego de caracteres UTF-8 ya que en caso contrario no me salían las letras "ñ". Una vez hecho esto ya tengo trasladado mi servidor domos desde una nube a  una raspberry pi:


DNS Dinámico

He encontrado un Dns dinámico gratis que tiene buena pinta. Se trata de http://www.duckdns.org/. Para renovar la Ip se propone una shell ejecutada desde el cron cada 5 minutos. Esta shell hace una simple petición al servidor con un Token propio para renovar la ip del dominio.

El dominio es:

      macetero.duckdns.org

Y ya puedo consultar la estufa en esta URL:

http://macetero.duckdns.org/domos/query.php

Port Forwarding del Router
Lo siguiente ha sido configurar el router para que encamine las peticiones del puerto 80 hacia la ip local del Raspberry Pi.

Y ya está funcionado !!!