Páginas

lunes, 3 de febrero de 2014

Instalando por enésima vez LAMP y phpMyAdmin, pero esta vez en Raspberry

No es la primera vez, ni será la última que me propongo instalar el paquete LAMP. Pero hace ya bastantes años que con anterioridad a LAMP, instalé WAMP. Eran los tiempos en que aún utilizaba Windows y que empezaba a hacer mis pinitos con Linux. Lo que LAMP significa para el entorno Linux, WAMP lo es para Windows.
LAMP no deja de ser un acrónimo que en su origen significaba: Linux (sistema operativo) , Apache (servidor Web), MySQL (Gestor de base de datos) y PHP ( lenguaje de programación diseñado para el desarrollo web de contenido dinámico). Y si cambiamos la L inicial por la W, se entiende lo de las siglas WAMP para el entorno Windows.
El conjunto de estas 4 piezas de software hizo posible desarrollar portales dinámicos capaces de atender simultáneamente decenas de miles de usuarios en red, a un coste ridículo.
Los cuatro elementos que componen LAMP pertenecen al mundo del Software libre y de Código abierto, una garantía para el usuario de no terminar a la larga siendo cautivo de intereses abusivos.
Con el tiempo, este paradigma de programación ha ido evolucionando e integrando otros módulos pero, a pesar de todo, conservando el acrónimo. Así para la letra P se han incorporado el lenguaje Perl o Python, para la M las bases de datos MariaDB y MongoDB, elementos que han continuado siendo de Software libre y Código abierto.
Aunque existen multitud de páginas (ver en la sección de Enlaces en esta misma entrada) que nos explican con todo lujo de detalles el procedimiento que hay que seguir para instalar este conjunto de programas, voy a intentar describir el modo en el que yo lo he hecho, ampliando algunos apartados que en estas páginas no venían descritas.

Procedimiento de instalación de LAMP

Lo vamos a realizar desde un terminal remoto conectándonos por ssh a Raspberry. Para ello, indicaremos el usuario con el que queremos conectarnos y averiguaremos la dirección IP en la que dentro de nuestra red local se encuentra nuestro RaspPi, pasando a ejecutar la sentencia ssh. Introduciremos la contraseña, lo que nos permitirá conectarnos a la RaspPi de forma remota.
¿Cómo he averiguado la dirección IP? Existen múltiples posibilidades. Si nos vamos al router de nuestra red local podremos averiguar la IP del equipo que tiene por nombre raspberry. Yo utilizo Fing, porque me es más cómodo, y porque tengo la aplicación instalada en mi Android. En este caso, el RaspPi me aparece como Edimax Technology. Pero ¿cómo sé que corresponde mi adaptador WiFi con Edimax Technology? Muy sencillo. Utilizo la instrucción lsusb de Linux para ver los dispositivos USB que tengo instalado en mi RaspPi.
Y de ahí identifico el vendedor del WiFi-USB, y con la aplicación Fing saco la dirección IP, asociada al vendedor identificado. Pero, qué duda cabe, es mucho más rápido utilizar la instrucción de linux ifconfig desde el propio terminal del RaspPi.
 Lo siguiente que vamos a hacer será instalar todos estos paquetes, tecleando por el terminal remoto lo siguiente:
sudo su
apt-get update && apt-get upgrade
apt-get install apache2 php5 mysql-client mysql-server
En el proceso de instalación de mysql se nos pedirá que introduzcamos una contraseña para el usuario root que se crea por defecto, lo que deberemos hacer, guardando en nuestra memoria la que hemos utilizado. Será la única manera de poder acceder a los servicios proporcionados por mysql.
Y ahora pasemos a probar si se nos han instalado y funcionan bien. Para ello, en un navegador introduciremos la dirección a la que responderá el servidor Web recién instalado en RaspberryPi, que coincide con su dirección IP. Se nos mostrará la página por defecto, que podemos editar para dejarla a nuestra entera satisfacción:
sudo nano /var/www/index.html
Al invocar este fichero desde un navegador (fichero que se abrirá como indicábamos con anterioridad simplemente introduciendo la dirección IP del RaspPi) podremos ver la página Web:
Prueba superada. Funciona el servidor Apache Web.
Ahora pasemos a probar que nos funciona el gestor de bases de datos que hemos instalado. En este caso, vamos a utilizar un acceso remoto a través del uso del comando ssh, como ya hemos hecho en otras ocasiones. Una vez hayamos establecido el acceso remoto con nuestro RaspPi, nos conectaremos al servidor mySQL, tecleando mysql --user=root -p. Si tecleamos correctamente la contraseña que nos solicita, que debe coincidir con la que introdujimos en fase de instalación de mySQL, entraremos en el monitor mySQL a nivel de comandos, tal como se muestra en la imagen siguiente. A partir de ahí podremos hacer uso de mysql, crear bases de datos, tablas, usuarios, introducir registros y todo aquello que solemos hacer con una base de datos.
Otra prueba superada. También funciona el servidor/gestor de bases de datos mySQL. Ahora, el siguiente en discordia, el que tenemos que probar que se ha instalado y funciona a la perfección, va a ser el PHP. Con tal fin, vamos a crearnos un fichero con el editor nano y con el contenido que se muestra en la imagen siguiente. Una vez guardado, lo invocaremos desde el navegador que utilicemos.
sudo nano /var/www/test.php
Lo llamamos desde el navegador que utilicemos y, si la instalación del PHP ha sido correcta y funciona, nos aparecerá lo siguiente:
Ya tenemos los tres paquetes básicos que conforman LAMP (además del sistema operativo Linux) funcionando a la perfección. Es el momento de instalar phpMyAdmin, una utilidad muy potente que se apoya en LAMP y que nos permite gestionar la base de dato MySQL desde un navegador.

Instalación de phpMyAdmin

De nuevo vamos a hacer uso de la consola remota para instalar phpMyAdmin.
sudo apt-get install phpmyadmin
Durante la instalación se nos pedirá que indiquemos 1) el servidor Web que utilizará phpAdmin por defecto, 2) los datos para crear la base de datos asociada a phpMyAdmin para su funcionamiento, y 3) la contraseña a utilizar por el usuario root, creado al instalar mySQL. Podemos utilizar la misma contraseña que introducimos. Ya tendremos tiempo de cambiarla o de crear nuevos usuarios con contraseñas y permisos específicos. En cuanto a la base de datos, yo he dejado los valores que por defecto sugiere utilizar.
Para que phpMyAdmin sea reconocido por el servidor Apache tendremos que editar el siguiente fichero:
sudo nano /etc/apache2/apache2.conf
Nos iremos al final del fichero y añadiremos la siguiente línea:
Include /etc/phpmyadmin/apache.conf
Finalmente reaarracaremos el servidor Apache:
sudo /etc/init.d/apache2 restart
y comprobaremos que phpMyAdmin es accesible desde nuestro navegador tecleando:
<IP del RaspPi>/phpmyadmin/
apareciéndonos en nuestro navegador lo siguiente:
Introduciremos el usuario (En este momento solo podemos acceder como usuario root) y la contraseña que hayamos considerado en la instalación de phpMyAdmin, redirigiéndonos a la página principal de gestión de bases de datos de MySQL:
A partir de ahora podremos gestionar MySQL de dos maneras: 1) utilizando la consola de comandos, tecleando mysql --user=root -p,  o 2) utilizando phpMyAdmin. Dependerá de lo que realmente queramos hacer para que nos decantemos para un modo u otro de gestión.
Podríamos continuar con ejemplos de cómo importar bases de datos, crear nuevos usuarios, acceder desde una aplicación JAVA que hayamos desarrollado. Pero por hoy considero suficiente lo avanzado, dejándolo para otra entrada los ejemplos que he propuesto.
Como siempre, estoy a las sugerencias de todos los lectores, que me propongan nuevos entradas o simples ampliaciones o mejoras a estas entradas existentes.

Enlaces

- LAMP (software bundle) en Wikipedia
- Software Libre y de Código Abierto, en Wikipedia
- RPi A Simple Wheezy LAMP install
- How to install LAMP on Raspberry Pi
- Raspberry Pi : Instalando LAMP y phpMyAdmin
- Turning your Raspberry Pi into a personal web server
- A vueltas con LAMP
- Fing - Network Tools (en play store)
- Apache HTTP Server
- MySQL
- phpMyAdmin
- Tutorial – Install PhpMyAdmin on your Raspberry Pi
- lsusb


No hay comentarios:

Publicar un comentario