Configurar un servidor debian 8 con php 5.x + php-fpm + apache 2.4 + Mariadb para usar Drupal 8

Los pasos para instalar y configurar un servidor debian 8 con apache 2.4 + (php 5.7 + fpm) + mariadb

Lo primero creamos un directorio llamado D8 (debian 8 + Drupal 8 ;) )

$ vagrant init ARTACK/debian-jessie; vagrant up --provider virtualbox

Una vez se ha descargado la máquina virtual y levantada entramos en la máquina virtual mediante ssh y actualizamos la máquina virtual

$ vagrant ssh
$ sudo apt-get update
$ sudo apt-get install git-core vim -y
$ sudo apt-get install apache2 apache2-doc apache2-utils apache2-mpm-worker -y

Agregamos los siguientes repositorios al proyecto:

$ sudo vim /etc/apt/sources.list


deb http://ftp.es.debian.org/debian stable main contrib non-free
deb-src http://ftp.es.debian.org/debian stable main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

Y ejecutamos

$ sudo apt-get update
$ sudo apt-get install libapache2-mod-fastcgi php5 php5-dev php5-fpm -y

Creamos el archivo de configuración de php5-fpm para apache 2.4 llamado php5-fpm.conf

$ sudo vim /etc/apache2/conf-available/php5-fpm.conf

Y pegamos el siguiente código:

<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization

<Directory /usr/lib/cgi-bin>
    Require all granted
</Directory>

</IfModule>

Ejecutamos las siguientes sentencias:

$ sudo a2enmod actions fastcgi alias
$ sudo a2enconf php5-fpm
# Si teneis mod_php activado usar este comando para desactivar
# $ sudo a2dismod php5
$ sudo service apache2 reload

Comprobamos que esta todo bien.

$ sudo apache2ctl configtest

Reiniciamos el servidor apache:

$ sudo service apache2 restart

Para instalar Mariadb en Debian 8 hay que instalar los repositorios en el servidor.

$ sudo apt-get install software-properties-common -y
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb http://tedeco.fi.upm.es/mirror/mariadb/repo/10.1/debian jessie main'

Una vez están los repositorios en el servidor se instala el paquete de MariaDB.

$ sudo apt-get update
$ sudo apt-get install mariadb-server -y

Los requisitos para instalar correctamente drupal:

Primero activar mods necesarios de apache:

$ sudo a2enmod rewrite headers expires
$ sudo service apache2 restart

Instalamos las dependencias necesarias de php:

$ sudo apt-get install php5-mysqlnd php5-curl php5-gd php5-imagick php5-imap php5-mcrypt php5-xmlrpc -y

¡Ojo! faltaría instalar Composer, Drush, Drupal console, pero Drush y Drupal Console están rotos en la rc1 lo dejamos para el siguiente post.

Un saludo

Oskar

Fuentes donde he consultado para montar el servidor:
https://www.digitalocean.com/community/questions/apache-2-4-with-php5-fpm
https://www.linode.com/docs/websites/apache/apache-web-server-debian-8
https://www.linode.com/docs/websites/apache/running-fastcgi-php-fpm-on-debian-7-with-apache
You don't have permission to access /php5-fcgi/info.php on this server.
https://downloads.mariadb.org/mariadb/repositories/#mirror=tedeco&distro=Debian&distro_release=jessie--jessie&version=10.1
https://www.garron.me/en/blog/ubuntu-lamp-apache2-mpm-worker-and-php-fpm.html
https://www.vultr.com/docs/use-php5-fpm-with-apache-2-on-ubuntu-14-04
http://jordanconway.com/set-up-apache-2-4-with-php-fpm-on-ubuntu-13-10/