7.2.2.3. Recetas

Este apartado de recetas se dedica a dar instrucciones de cómo instalar en nginx y configurar mínimamente algunas aplicaciones web escritas en PHP. En cualquier caso, sea cual sea la aplicación, su instalación siempre se ajusta a un mismo esquema que podemos resumir en los siguientes pasos:

  1. Preparación del servidor web

    Debemos tener instalado y en funcionamiento nginx, PHP y un SGBD (mySQL, en nuestro caso) y habernos asegurado previamente de que es capaz de ejecutar código PHP.

  2. Instalación de la aplicación

    Consistirá en obtenerla de internet y dejarla en un directorio adecuado (nosotros usaremos un subdirectorio de /srv/www para seguir las directrices del FHS)[1].

  3. Configuración de la base de datos

    Normalmente hay involucrado un SGBD. Las aplicacione suelen soportar varios y casi todas ellas mySQL. En esta configuración podemos distinguir tres pasos distintos:

    1. Creación de un usuario con permisos de lectura y escritura.

    2. Creación de la base de datos.

    3. Creación del esquema en la base de datos, esto es, las tablas que la componen.

    El primer paso siempre es manual y para mySQL se reduce a ejecutar en su consola:

    GRANT ALL PRIVILEGES ON nombre_base.* TO 'usuario_base'@'localhost' IDENTIFIED BY 'contraseñadificil';
    

    «nombre_base» es el nombre de la base de datos (que en el caso de my| SQL| no necesita estar previamente creada), «usuario_base», el nombre del usuario y «contraseñadificil», su contraseña. Deberemos recordar estos tres datos porque los necesitaremos más adelante.

    El segundo paso suele ser manual, aunque a veces toca hacerlo también a mano en su consola:

    CREATE DATABASE nombre_base;
    

    El tercer paso, en cambio, suelen hacerlo las propias aplicaciones en su configuración manual. En algunas más simples no es así, y proporcionan un guión SQL para que lo ejecutemos nosotros mismos en la terminal:

    # mysql nombre_base < guion.sql
    
  4. Configuración del servidor web

    esto es, crear en /etc/nginx/sites-available un archivo de configuración adecuado. Por lo general, es una variante de nuestro ejemplo mínimo al que la complejidad de la aplicación exigirá añadir más o menos líneas. Lo habitual es que nos proporcione información la propia documentación oficial o encontremos ejemplos de este archivo en tutoriales de internet.

  5. Configuración inicial de la aplicación.

    Tal configuración suele limitarse a acceder a la aplicación a través de la web (para lo cual habrá que haber hecho el paso anterior) y al detectar el software que se accede por primera vez y aún no hay un configuración inicial desencadenerá el proceso de configuración en vez de ejecutar normalmente la aplicación.

    En algunos casos, antes de este primer acceso, la documentación de la aplicación, además, nos exigirá que editemos un archivo de configuración. En algunos casos, cuando la aplicación es relativamente sencilla, esta edición será la única configuración inicial y al acceder a la aplicación por primera vez, se nos mostrará ya funcional.

    Es en la configuración inicial donde deberemos proporcionarle a la aplicación los datos de conexión a la base de datos, esto es, el nombre de la base de datos y el usuario y contraseña de acceso.

Nota

Es un buen ejercicio al repasar las recetas que proporcionamos a continuación, intentar identificar estos pasos en ellas.

Advertencia

Para la confección de estas recetas, cuando la configuración exige tráfico seguro, se ha usado la configuración con certificado autofirmado, aunque no es la recomendable. Se obra así, porque para realizar pruebas de instalación en máquinas virtuales, es lo más cómodo. Cambiar la configuración para usar certificados confiables es, no obstante, trivial.

Notas al pie