Como Instalar Servidor Web con PHP en Raspberry Pi























HTTP y PHP en Raspberry, o lo que es lo mismo, un servidor Web en nuestra pequeña Raspi
. La tarjeta Raspberry puede – faltaría más – convertirse en un sencillo pero potente servidor Web. Y si al mismo le añadimos la potencia del lenguaje de servidor PHP estamos hablando ya de muchas más posibilidades de las que podemos imaginar. Vamos a describir una de las formas (hay otras) de instalar un servidor Web + PHP en la Raspberry.
Aunque podemos optar por el típico paquete LAMP, opción asequible en el sistema Raspbian, hemos elegido un servidor algo más liviano y añadirle, además, las correspondientes capacidades PHP. En esta entrada no comentaremos la opción de BBDD asociada, dejando este tema para más adelante. A continuación te comentamos su instalación de la forma más sencilla posible. Los pasos que hemos de seguir son:
1) Efectuar un update de nuestro sistema
2) Ajuste (opcional) a IP fija/estática en nuestra red local
3) Instalación del servidor Web (lighttpd)
4) Instalación/configuración de PHP
5) Otorgamiento de permisoss
6) Prueba del servidor Web
7) Ejemplo sencillo en PHP
Así que sin más preámbulos … vamos allá
- Paso (1) Efectuar un update de nuestro sistema -
Hemos de comentar que la instalación del servidor Web, en nuestro ejemplo, se efectua sobre una versión “Wheezy” de Raspbian de fecha 2013-02-09 , podemos verificar que es la nuestra con ejecutar el comando
uname -r
el cual nos devolverá
no obstante, no debería darnos problemas en otras versiones.
Efectuamos el update comentado mediante
sudo apt-get update
- (2) Ajuste (opcional) a IP fija/estática en nuestra red local -
Este paso no es mandatorio, pero si queremos que la IP de nuestra Raspi sea siempre la misma convendría que modifiquemos la configuracion del fichero/etc/network/interfaces. Es aconsejable realizar una copia del fichero interfaces antes de modificarlo, para lo cual, efectuamos una copia de seguridad
sudo cp /etc/network/interfaces /etc/network/interfaces.old
y ahora editamos para que la IP pase a ser estática con
sudo nano /etc/network/interfaces
El contenido, de acuerdo a nuestro rango de IPs privadas puede ser algo como esto
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.0.22
netmask 255.255.255.0
gateway 192.168.0.1
De esta forma no tendremos que preocuparnos de si la IP varía al arrancar, y podremos localizar siempre nuestra Raspberry bajo la misma IP.
Si hemos configurado la red local con la Raspberry a IP estática conviene que reiniciemos la Raspberry para que este cambio se haga efectivo. Podemos verificar que ha tenido efecto mediante el comando
ifconfig -a
- Paso (3) Instalación del servidor Web (lighttpd) -
Para la instalación del servidor Web ejecutaremos
sudo apt-get install lighttpd
este se instalará y se auto-ejecutará, además de que quedará configurado para arrancar cada vez que se encienda nuestra Raspberry.
- Paso (4) Instalación/configuración de PHP -
Vamos ahora a instalar PHP, un lenguaje del lado servidor que nos servirá -valga la redundancia- para realizar interesantes aplicaciones, y no estar anclados al típico código HTML. Para su instalación efectuamos el comando siguiente, el cual realizará una instalación de múltiples paquetes, pero es importante reseñar que estos se han de instalar estrictamente en el orden que damos, de otra forma se nos puede instalar el servidor Apache, cosa que no deseamos. Ejecutamos
sudo apt-get install php5-common php5-cgi php5
Una vez instalado PHP, hemos de efectuar alguna configuración adicional para que el servidor reconozca los scripts PHP, por ello habilitamos el módulo fastcgi-php mediante
sudo lighty-enable-mod fastcgi-php
y, a continuación, reiniciamos el servicio ya actualizado mediante
sudo service lighttpd force-reload
- Paso (5) Otorgamiento de permisos -
Los directorios típicamente utilizados por un servidor web en linux se sitúan en /var/www, y el usuario típico para dicho entorno suele ser www-data. Ahora vamos a crear el grupo y usuario estándar para nuestro servidor, a la par que otorgamos los permisos pertinentes y añadimos a nuestro usuario por defecto (pi) al grupo comentado. De esta forma no será preciso que el usuario root (su) sea siempre el que pueda operar en /var/www. Vamos allá
Cambiamos el usuario y grupo al directorio
sudo chown www-data:www-data /var/www/
Damos los permisos adecuados al directorio
sudo chmod 775 /var/www/
Añadimos el usuario pi al grupo www-data
sudo usermod -a -G www-data pi
Ahora, reiniciamos la Raspi… por si acaso.
- Paso (6) Prueba del servidor Web -
Una vez arrancada la Raspi procedemos a probar si el servicio Web (http) funciona correctamente, para lo cual tan solo hemos de abrir un navegador de cualquier ordenador de nuestra red doméstica (local) y teclear la IP de la Raspi anteriormente configurada (192.168.0.22 en nuestro ejemplo)
aunque también podemos probarlo desde la propia Raspberry, abriendo un navegador y tecleando en el mismo http://localhost
(http://127.0.0.1 también puede servirnos)
- Paso (7) Ejemplo sencillo en PHP -
Como quiera que Linux utiliza el directorio /var/www/ para posicionar sus archivos de servidor web, nos dirigimos allí y verificamos que la instalación de lighttpd ya ha colocado un fichero .html en dicha ubicación. Es, en concreto, el fichero que se nos muestra al acceder a la IP de la Raspi mediante el navegador externo.
Normalmente – y si el motor PHP está activado – podremos situar en este directorio el fichero que, por defecto, se visualizará al acceder al servidor desde un navegador. Lo “normal” es que el fichero por defecto sea nombrado como index.html (o .htm) si está constituido en lenguaje HTML; o bien index.php si se ha escrito utilizando este lenguaje.
A modo de prueba “muy práctica” vamos a colocar un nuevo fichero denominadoindex.php en la carpeta  /var/www/ , de forma y manera que al volver a acceder a nuestro servidor se muestre el mismo. Este fichero contiene parte de código HTML y parte PHP, razón por lo que su nombre habrá de ser index.php. Pero antes de efectuar escritura alguna en el disco efectuaremos una copia de seguridad del fichero que ahora tenemos allí, para lo cual ejecutaremos
sudo mv /var/www/index.lighttpd.html /var/www/index.lighttpd.old
y ahora procedemos a crear el fichero index.php comentado. Podemos teclear su contenido en la propia Raspi mediante el comando
sudo nano /var/www/index.php
y escribimos en el mismo


Raspi-Web


Datos internos de mi Web-SERVER


phpinfo();
?>


aunque también podemos – para más comodidad – descargarlo desde aquí …

Ejemplo PHP

Ahora todo lo que hemos de hacer es descomprimir el fichero .zip, copiar index.php en /var/www/ y volver a acceder al servidor de nuestra Raspi.
Y hemos dicho que el fichero es “muy práctico” porque utiliza una función PHP – en concreto phpinfo() - que nos devuelve la configuración completa de nuestro servidor. Conviene darle un vistazo y, muy probablemente, tengamos que volver a consultarla si queremos seguir programando en PHP pero eso … es ya otra historia.
Nota: no es recomendable dejar la info 
mostrada visible a cualquier usuario.
DIVERTIRSE con el servidor Web-Raspi.

No hay comentarios:

Publicar un comentario