Uno de los grandes beneficios de usar Moss es que rara vez tienes que lidiar con los detalles de bajo nivel de configuración de servidores y sitios web 😊. Sin embargo, a veces tienes que ensuciarte las manos y proporcionar configuración extra para tus aplicaciones.

Moss respetará tu propia configuración y no la sobrescribirá. En este artículo te enseñamos cómo.

Configuración extra de PHP-FPM

Moss sirve tus aplicaciones PHP utilizando PHP-FPM, una implementación del protocolo FastCGI para PHP.

En tus servidores encontrarás la configuración de PHP-FPM dentro de los directorios /etc/php/<version>/fpm/, donde <version> es cada una de las versiones de PHP instaladas en tu servidor. Por simplicidad en los ejemplos del resto del artículo asumimos PHP 7.0, pero todo aplica al resto de versiones de PHP soportadas.

moss@<servidor>:~$ ls -F /etc/php/7.0/fpm/
conf.d/  php-fpm.conf  php.ini  pool.d/

Moss configura varios de estos ficheros por ti. Pero afortunadamente, puedes sobrescribir los valores de las directivas que desees incluyendo ficheros .ini adicionales dentro del directorio /etc/php/7.0/fpm/conf.d/ (p.ej. /etc/php/7.0/fpm/conf.d/99-extra.ini).

Moss no sobrescribirá la configuración que introduzcas en esos archivos. Una vez que hayas acabado de configurarlo todo, entra en Moss y reconfigura tu sitio web para recargar el demonio PHP-FPM con la nueva configuración.

Configuración extra de Nginx

Moss instala y configura el servidor web Nginx en tus servidores. En el caso de sitios WordPress, Nginx actúa como un proxy delante de Apache. Puedes utilizar este mismo stack en aplicaciones PHP con framework 'Otro'.

Encontrarás los ficheros de configuración de Nginx en los directorios /usr/local/openresty/nginx/conf/ y /usr/local/openresty/nginx/sites/ de tu servidor.

Puedes ajustar la configuración de cada sitio editando los siguientes archivos:

  • /usr/local/openresty/nginx/conf/server_params.sitio.com: directivas Nginx del bloque server de tu sitio.com.
  • /usr/local/openresty/nginx/conf/root_params.sitio.com: directivas Nginx del bloque location / de tu sitio.com.
  • /usr/local/openresty/nginx/conf/fastcgi_params.sitio.com: directivas Nginx para bloques con configuración de FastCGI (por el momento, el bloque location ~ .php$) de tu sitio.com.

Moss no sobrescribirá la configuración que introduzcas en esos archivos. Una vez que hayas acabado de configurarlo todo, entra en Moss y reconfigura tu sitio web para recargar Nginx con la nueva configuración.

Configuración extra de Apache

La mayoría de sitios configurados por Moss usan Nginx en modo standalone, es decir, como el único servidor web para tu aplicación. Sin embargo, hay algunas excepciones:

  • Los sitios WordPress siempre usan Nginx como proxy inverso enfrente de Apache.
  • Los sitios PHP que no usan un framework soportado por Moss de forma nativa pueden usar Nginx como proxy inverso enfrente de Apache (tú decides).

En estos casos, puedes ajustar la configuración de Apache de varias formas:

  • Crea archivos de configuración en /etc/apache2/conf-available/ y ejecuta a2enconf a continuación (p.ej. crea el archivo myconfig.conf y ejecuta a2enconf myconfig). Puesto que estás cambiando la configuración global, debes entrar a tu servidor por SSH como usuario moss y convertirte en root usando sudo. Una vez hayas acabado, entra en Moss y reconfigura tu sitio web para recargar Apache con la nueva configuración.
  • Crea archivos .htaccess en los directorios con el contenido de tus sitios web. Puesto que estás modificando la configuración de un sitio, debes crear estos archivos como usuario dev.
  • Si eres usuario de WordPress, probablemente utilizarás algún plugin para que realice configuraciones como establecer cabeceras para la caché del navegador, entre otros. Dicho plugin añadirá la configuración necesaria a un fichero .htaccess, por lo que no necesitarás hacerlo tú a mano.

Nota para usuarios de CentOS

Este artículo y los que encontrarás abajo se refieren a servidores Ubuntu 16.04, el sistema operativo que te recomendamos usar. Moss también proporciona soporte experimental para CentOS 7, por lo que aquí te dejamos las rutas y nombres de comandos en los que Ubuntu y CentOS difieren, por si no puedes prescindir de CentOS.

  • Comando PHP-FPM: php-fpm 
  • Directorio de configuración base PHP-FPM: /etc/ 
  • Directorio de configuración extra PHP-FPM: /etc/php.d/ 

¿Ahora qué?

¿Necesitas algunos ejemplos? En los enlaces de abajo puedes encontrar enlaces a artículos que describen casos de uso comunes.

No dudes en ponerte en contacto con nosotros si tienes algún otro caso de uso en mente 😉

Did this answer your question?