lunes, 26 de octubre de 2015

Gratuito, gratuito, gratuito.

Gratuito, gratuito, gratuito

En marzo de 2015 comencé con el proyecto de MyFamilyServer. La idea era crear un servidor web que pudiese correr en un hardware con pocos recursos, para así aprovechar algún pc antiguo y no tener que comprar uno nuevo. Sobre este servidor web se construye una aplicación para compartir cualquier cosa.

Lo interesante no es esto, lo interesante es que encontré el sistema operativo que necesitaba (justo lo que necesitaba) de forma gratuita, la base de datos, excelente base de datos, gratuita, el servidor web, el más utilizado en el mercado, gratuito, las herramientas de desarrollo, gratuitas, los lenguajes de desarrollo también gratuitos.

El proyecto continua queriendo dar publicidad a lo que he construido, entonces busco alguna opción para crear una web dinámica y actual y también encuentro este servicio de forma gratuita. Y por supuesto un blog para comentar novedades y curiosidades... También gratuito.

Ahora, con el servidor funcionando he tenido que buscar soluciones a detalles menores, como la gestión remota del servidor y la asignación de nombre de dominio sobre ip dinámica y ..... Curiosamente también lo encuentro de forma gratuita.

Es sorprendente la gran gran cantidad de software de calidad que encuentras disponible de forma gratuita, sin soporte? de eso nada, por cada pequeño problema encuentras 100 soluciones en publicaciones de unos y de otros. 
Es muy llamativo la cantidad ingente de soluciones gratuitas y de calidad, serias, que encuentras disponibles en internet, (habría que analizar, caso por caso, por que son gratuitas) pero creo, sinceramente, que un alto porcentaje son trabajos altruistas, lo cual dice mucho de nosotros mismos.

La verdad es que solo se me ocurre decir: Gracias, gracias, gracias.

sábado, 24 de octubre de 2015

Cliente de noip en Lubuntu

En este post explico de forma detallada, paso a paso, como instalar el cliente de noip en el servidor web que ya tenéis en casa (el servidor Lubuntu).

En este post doy por supuesto que anteriormente te has registrado en noip, has definido tu nombre de dominio y otras configuraciones, y solo te queda instalar el cliente en local que esta al tanto de los cambios que puede tener tu IP dinámica (por que apagas el router por ejemplo). 

Si no es así, debes registrarte en noip antes de seguir adelante.
Si estas despistado acerca de que estoy hablando, lee el documento de programas adicionales que hay publicado en la web de MyFamilyServer, en la sección de fuentes.

Ok. Retomo. Instalación de noip en TuFamilyServer

Es una buena idea instalar el cliente de noip en el mismo servidor en el que tienes la instalación de tu servidor familiar (y no en otro PC) ya que así sabes que cuando el servidor este funcionando, (es un servidor, lo normal es que este funcionando siempre), la IP esta correctamente registrada en noip, y así tendrás acceso desde cualquier sitio a tu servidor con el nombre que le has dado, de forma gratuita, en no-ip.

El proceso de instalación completo consta de cuatro pasos.



  • Primero: Temas previos a la instalacion.
  • Segundo: Instalación del cliente de no-ip.
  • Tercero: Puesta en marcha.
  • Cuarto: Configuración para ponerlo en inicio automático

Paso primero:
Primero, antes de comenzar, para poder crear el MAKE posteriormente hay que instalar un paquete.

Se instala desde una terminal (inicio - ejecutar - lxterminal).
El comando a ejecutar es:
sudo apt-get install build-essential
(como ya sabéis sudo es para ejecutar como superusuario y os pedirá la contraseña)
Este paso no forma parte de no-ip, es un requisito previo.

Paso segundo:
Nos ponemos con los comandos propios de instalación:

posicionarse en el directorio donde vamos a instalar:
cd /usr/local/src/

descargar el cliente desde la web de no-ip
sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

descomprimir el paquete descargado
sudo tar xf noip-duc-linux.tar.gz

posicionarnos en el directorio de instalación
cd noip-2.1.9-1/

compilar con el comando make (para esto hemos ejecutado el primer paso)

sudo make install
Entonces te pide el usuario del registro de no-ip y a continuación la password.
En este momento la aplicación local se conecta con el registro en las bases de datos de no-ip para validar tu usuario y que nombre de dominio tenias definido.

Aparecerá el nombre de dominio que definiste al registrarte en la herramienta no-ip.
El siguiente parámetro que te pide es el intervalo de ejecución (expresado en minutos) (puedes poner, por ejemplo, 15).
Con esto ya tienes instalado y configurado el cliente de no-ip.

Paso tercero:
Para poner la herramienta en marcha es sencillo:
el comando:
sudo /usr/local/bin/noip2
deja la herramienta en ejecución en fondo.
 


!!Enhorabuena, Ahora ya esta funcionando.!!

Paso cuarto
Vale, ya lo tienes todo instalado y funcionando, pero hay que tener en cuenta que ocasionalmente el servidor se para o se reinicia, para esos casos se configura el sistema para que noip2 se ejecute siempre en el momento de arranque. 

Hay que cambiar un par de permisos para ejecutarlo sin problemas:
primero cambiar los permisos del ejecutable para que pueda ejecutarlo cualquier usuario:

sudo chmod 711 /usr/local/bin/noip2
y a continuación cambiar los permisos del fichero de configuracion para que pueda leer la configuración cualquier usuario:
sudo chmod 666 /usr/local/etc/no-ip2.conf


Perfecto, ya tenemos todo preparado, ahora desde el menú de Lubuntu seleccionas:
Preferencias - aplicaciones predeterminadas para lxsesion. En la herramienta de configuración de la LXSession seleccionas  - Inicio automático  y añades el nombre de la aplicación que queremos poner en automático (en este caso noip2) y seleccionas - añadir. Ahora noip2 aparecerá encima del recuadro donde la has tecleado y con la opción de eliminar. Si es así, has terminado, la aplicación ya esta preparada para ejecutarse en inicio de forma automática.


Ahora puedes reiniciar tu servidor y/o tu router cuando quieras sin mas preocupaciones. Que bien!! (bueno, solo una, el registro en no-ip hay que renovarlo mensualmente).
 

Otra información de interés:
Para cambiar la configuración el comando a utilizar es
sudo /usr/local/bin/noip2 -C
si cambias la configuración, el fichero que contiene la configuración (que es usr/local/etc/no-ip2.conf) vuelve a crearse, por lo tanto, cada vez que cambias la configuración se re-crea el fichero no-ip2.conf y hay que volver a cambiar los permisos del mismo con el comando:
sudo chmod 666 /usr/local/etc/no-ip2.conf

Esta documentación es para la configuración de noip en Lubuntu, tal como yo he propuesto la instalación en MyFamilyServer.
No-ip te entrega una documentación muy clara y extensa para instalar y configurar su herramienta en los sistemas operativos mas comunes, consulta la web de no-ip si tienes una instalación distinta a la que yo propongo o bien si quieres conocer mas.


El comando
/usr/local/bin/noip2 -S
Te dice si no-ip se esta ejecutando y con que parámetros

En el directorio /usr/local/src/noip-2.1.9-1 queda documentación de la herramienta, hay otras opciones de configuración e instalación que se pueden consultar en el fichero README.FIRST para saber como hacer otras configuraciones.


La web de no-ip (http://www.noip.com/) tiene documentación clara y completa para multitud de sistemas operativos.

miércoles, 21 de octubre de 2015

En los detalles esta la diferencia

En esta publicación explico como configurar tu servidor web para que la página por defecto sea la de MyFamilyServer.

Este detalle ayuda a que el acceso sea más sencillo ya que la dirección de acceso será solamente el nombre del servidor.

Explico en esta publicación como realizar esta configuración y también he actualizado la documentación disponible en MyFamilyServer. He incorporado la configuración de la página por defecto al documento de instalación de MyFamilyServer.

El servidor web que habéis instalado en vuestro antiguo PC, tiene un (buen) conjunto de configuración por defecto, por ejemplo, qué página mostrar en el navegador si no estás solicitando ninguna página en particular (esa página es index.html que ya has visto varias veces). Ahora explico como cambiar esa configuración para que sea la página de entrada en MyFamilyServer. De este modo, solo con el nombre del servidor podrás acceder a tu instalación de TuFamilyServer.

MyFamilyServer (como yo lo he propuesto) es una instalación Lubuntu Linux, eso determina dónde encontrar los ficheros de configuración.
El fichero de configuración es dir.conf 
y se encuentra en la ruta /etc/apache2/mods-availables/

En otras instalaciones (no Lubuntu linux) el fichero es: apache2.conf
y suele encontrarse en la siguiente ruta: /etc/apache2/

En ambos casos la configuración es la misma (aunque se encuentra en ficheros diferentes) y la explico a continuación.

Desde una terminal (lxterminal por ejemplo) te posicionas en el directorio que quieras trabajar (con el comando cd).
Ejemplo: cd /etc/apache2/mods-availables
Una vez en este directorio editas el fichero de configuración (con gedit)
Tecleas el comando: sudo gedit dir.conf
(utilizas sudo para tener permiso para modificar) y puedes ver el contenido del fichero de configuración. 
El parametro a modificar es 'DirectoryIndex' (búscalo con las herramientas de búsqueda de gedit). En este parámetro se define, por orden, cual es la página por defecto que va a mostrar el servidor web. Cada una de las páginas están separadas una de otra por un espacio.

Este es el aspecto de mi fichero dir.conf


En mi caso, la primera página que va a mostrar el servidor (siempre que no se pida una específicamente) será Family_P00.php (qué es la página inicial de MyFamilyServer), si el servidor no encuentra esta página, buscará la siguiente, qué es index.html, si esta tampoco la encuentra mostrará la siguiente, qué es index.cgi y así sucesivamente.

Este fichero que os presento es como deberíais configurar vuestro servidor para MyFamilyServer.

Una vez grabado el fichero de configuración hay que reiniciar apache (eso es fácil), en una terminal tecleas: sudo /etc/init.d/apache2 restart

y todo listo, a partir de ahora puedes acceder a tu instalación de MyFamilyServer directamente con el nombre o dirección del servidor (más fácil y rápido, imposible).

La documentación (actualizada) se encuentra en la web de MyFamilyServer. He incorporado esta explicación al documento 4 (Instalación de MyFamilyServer)

martes, 13 de octubre de 2015

Otros componentes adicionales.

Para completar tu instalación de MyFamilyServer te propongo un conjunto pequeño de herramientas y componentes gratuitos que merece la pena conocer:


  • PhpMyAdmin.
  • Komodo Edit.
  • nicEdit.
  • noip.
  • Teamviewer.


La primera aplicación, phpMyAdmin es una herramienta para gestionar las bases de datos de MySQL de forma gráfica, mediante un conjunto de páginas web dinámicas, gracias a esta herramienta es fácil trabajar o consultar cualquier dato en nuestra base de datos MySQL.
phpMyAdmin está desarrollado en PHP y es un producto open-source gratuito.


Como editor yo utilizo Komodo, es un editor para desarrollo muy util para desarrollar en diversos lenguajes de programación (todo MyFamilyServer ha sido desarrollado con el). Te permitirá editar y crear nuevos programas en php y html entre otros muchos lenguajes. Komodo es una herramienta más amplia y tiene opciones gratuitas y opciones de pago. La opción de instalación propuesta (y gratuita) es únicamente el editor.
(Hace unos días cambie de servidor de desarrollo, ahora tengo uno mas potente para mis propios trabajos, al disponer de mas memoria y CPU también he instalado mas herramientas. He incorporado NetBeans como editor e IDE... Es Muy bueno. Es un entorno completo que permite editar, ejecutar, hacer debugging etcetera, todo en gratuito y funcionando perfectamente, es muy recomendable como entorno de desarrollo PHP, Java, C++, HTML)

Para mejorar la edición de texto dentro de tus páginas web he utilizado nicEdit. nicEdit es un editor que permite escribir en formato WYSIWYG (What You See Is What You Get) dentro de una página web, lo que consigues, con esta herramienta, es poder dar formato a un campo de texto en una página web que tu construyas. Está incluido dentro de MyFamilyServer, por lo tanto es algo que ya está instalado para el desarrollo de MyFamilyServer pero te resultará útil si vas a desarrollar otras páginas.

Finalmente otras dos herramientas que te ayudan a mejorarla gestión remota y el acceso a tu servidor:

noip es una solución para dar un nombre de dominio a tu servidor familiar, teniendo en cuenta que tu servidor está alojado en tu casa y puede tener una dirección ip dinámica (que cambia). Con esta solución podrás acceder a tu servidor siempre con el mismo nombre aunque cambie la dirección IP de tu router.

Y finalmente teamviewer te ofrece un escritorio remoto de tu servidor en cualquier otro dispositivo.

Yo he probado todas estas soluciones, todas son gratuitas y me dan buen resultado para el proyecto de servidor familiar. Usalas, te ayudarán a ti también.

Tienes documentación completa en la web de MyFamilyServer