Archivos de Categoría: Linux - Paginas 2

Error de Drupal 8 al actualizar módulos o temas

No me gusta usar este tipo de CMS y menos Drupal con el que he pasado auténticos calvarios por intentar arreglar las ñapas de otros, pero cuando lo exige el cliente es lo que toca. El problema ha surgido cuando haciendo una instalación de Drupal 8 desde cero, he intentado instalar un módulo y pide un acceso por FTP. El acceso lo he creado sin problemas pero al intentar hacer la instalación del módulo me ha soltado el error:

The website encountered an unexpected error. Please try again later.
Drupal\Core\Form\EnforcedResponseException: in Drupal\Core\Form\FormBuilder->buildForm() (line 349 of core/lib/Drupal/Core/Form/FormBuilder.php).

Después de mucho googlear, dar permisos de todo tipo a la carpeta ./sites/default, la solución al final ha sido tan sencilla como asignar como propietario de la carpeta al usuario www-data, así que comando al canto:

chown www-data sites/default

A ver que es lo siguiente….

Actualizar la versión de PHP a 5.5

Me ha tocado instalar un Drupal 8 y exigencias del engendro, pide tener instalado minimo el PHP 5.5.9, por lo que automáticamente he intentado actualizar la paquete de php:

apt-get update
apt-get install php5

Pero va a ser que no cuela. La versión 5.5 debe estar aun en desarrollo o no la ven lo suficientemente estable para ponerla en los repositorios oficiales por lo que toca añadir nuevos repositorios donde si este disponible. Para ello editamos el fichero con la lista de repositorios:

nano /etc/apt/sources.list

Y añadimos los dos siguientes:

deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all

Si intentamos hacer la actualización ahora nos saltará un error de que una clave pública no está disponible, así que añadimos la clave para poder hacer la actualización (una vez actualizado, podemos borrar el fichero con la clave):

wget http://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

Ahora si nos debería permitir hacer la actualización:

apt-get update
apt-get install php5

Y por ultimo reiniciar el servicio de Apache:

service apache2 restart

Si queremos ver la versión instalada podemos crearnos un fichero php con el phpinfo() o directamente desde la consola con el comando:

Php -v

Configurar servidor FTP

Para crear un acceso por FTP a una máquina lo primero es abrir el puerto 21 en el router/firewall (el 21 es el puerto por defecto aunque se puede usar otro cambiando la configuración del servicio de FTP). Eso como depende del router/firewall que se este usando, no se explica en este caso.
Lo siguiente es crear el usuario que se va a usar para acceder por FTP. Lo ideal es que sea un usuario sin acceso a la consola y por defecto colocamos como su directorio home el directorio donde se va a acceder por FTP:

useradd -d /DIRECTORIO/FTP -s /bin/false USUARIOFTP

Y le asignamos una contraseña:

passwd USUARIOFTP

Lógicamente, el usuario debe tener permisos de escritura en el directorio si queremos que pueda subir archivos:

chown -R USUARIOFTP /DIRECTORIO/FTP/

Y ahora toca instalar el servidor de FTP, hay muchos pero yo el que he visto más sencillo de instalar es el ProFTPd. Se instala asi:

apt-get install proftpd

Y una vez instalado editamos el fichero de configuración:

nano /etc/proftpd/proftpd.conf

Donde debemos descomentar la línea siguiente para limitar que el usuario solo pueda acceder al su directorio home:

DefaultRoot ~

Al final del fichero añadimos el siguiente bloque para limitar el acceso por FTP solo permitiendo el usuario que hemos creado:

<Limit LOGIN>
AllowUser USUARIOFTP
DenyAll
</Limit>
RequireValidShell off

Y ya para terminar reiniciamos el servicio de ProFTPd para aplicar los cambios:

/etc/init.d/proftpd restart