WordPress

Para instalar WordPress puedes optar por la instalación automatizada o, si lo prefieres, por una instalación manual. En caso de que quieras importar un WordPress ya creado deberás optar por el segundo método.

En esta guía encontrarás indicaciones para ambos métodos.

Instalación Automatizada

Para poder instalar WordPress con este método es necesario que dispongas de un dominio/subdominio y que previamente hayas creado la entrada DNS de tipo A para que el dominio apunte a la IP de tu servidor. Puedes consultar esta sección para indicaciones: Crear registro DNS de tipo A.

Una vez tengas los registros DNS creados correctamente puedes acceder al panel de control en la sección Dominio > Añadir Dominio Nuevo o bien editando un dominio ya creado previamente. En el caso de edición de un dominio ya añadido previamente es necesario que su carpeta no contenga ya otra web ni ningún archivo. Si se diera este caso la instalación se abortaría para evitar una posible pérdida de datos.

Verás un formulario como el que se muestra en la siguiente imagen.

Screenshot

Formulario de instalación automática de WordPress.

Los valores necesarios serán:

  • El nombre del dominio.

  • Activar el Servidor Web.

  • Instalar WordPress.

  • Insertar dos veces la contraseña.

  • Elegir un Pool desde el desplegable PhpPool. De esta forma reforzarás la seguridad y el rendimiento de la web, a la que se asignará un proceso propio, aislado del resto de aplicaciones. Es recomendable asignar una única aplicación a cada Pool (el número entre paréntesis indica cuántos dominios están ya asignados al pool). Si necesitas añadir nuevos pools puedes hacerlo desde la página Sistema -> Php-FPM Pools. Puedes consultar esta página para más información sobre el funcionamiento de Php-fpm Pools.

  • Haciendo clic en el desplegable «Asignar Webmaster» se listarán todas las cuentas ordinarias que se pueden asignar como webmaster (aquellas que hayas creado con acceso SFTP o SSH). La cuenta webmaster tendrá permisos de lectura/escritura sobre los archivos de WordPress.

Seguridad

Además de la opción de ejecutar el proceso de WordPress en un Pool propio hemos incluido otras configuraciones por defecto cuyo objetivo es reforzar la seguridad y mejorar el rendimiento. Entre ellas:

  • Impedir la ejecución de PHP en wp-content/uploads.

  • Impedir la edición de los archivos desde la interfaz de administración.

  • Activar fail2ban para xml-rpc: el archivo xmlrpc.php es utilizado por la aplicación móvil de WordPress o por algún plugin como Jetpack para la publicación en remoto o programada de contenidos. Sin embargo, este archivo es cada vez más utilizado en diferentes ataques, incluido el intento de acceso por fuerza bruta, lo que además suele traducirse en un rendimiento lento de la web. Con fail2ban se bloquearán aquellas IPs que hagan repetidas peticiones (más de dos en una hora), de forma que no puedan seguir intentando el acceso ni consumir recursos del sistema.

  • Desactivar pingbacks y comentarios en general: muchas veces se dejan estas opciones activadas aunque no se utilicen. Si las necesitas, puedes reactivarlas desde el panel de configuración de WordPress.

El proceso de instalación tarda un par de minutos. Una vez terminado recibirás un correo de confirmación. Si no recuerdas la contraseña que elegiste durante la instalación puedes utilizar la funcionalidad de recuperación de contraseña de WordPress.

Manual Installation

  1. Descarga la aplicación desde la página oficial y descomprime la carpeta.

Screenshot

Descarga de WordPress desde su web.

  1. Sube al servidor los archivos de la carpeta «wordpress», dentro de la carpeta del dominio que se ha generado al activar el dominio desde el panel de control. Si has añadido el dominio example.com, la carpeta será /var/www/html/example.com/.

    Para hacerlo, puedes utilizar un cliente SFTP como Filezilla. Recuerda aquí cómo subir contenidos al directorio /var/www/html/example.com/. Advertencia: no debes subir la carpeta «wordpress» como tal, únicamente los archivos que contiene.

  2. Crea la base de datos.

    Para crear una base de datos, puedes utilizar la aplicación phpMyAdmin. Recuerda cómo usar phpMyAdmin aquí. Según el caso, sigue una de las dos guías siguientes.

Crear una nueva base de datos

Si se trata de una nueva instalación y todavía no tenemos creada una base de datos MySQL, es preciso crear una. Dentro de phpMyAdmin, tenemos que ir a «Bases de datos» > «Crear base de datos».

Screenshot

Creando una base de datos en phpMyAdmin.

Una vez creada, tenemos que seleccionar el apartado «Privilegios» para crear una nueva cuenta que pueda acceder a la base de datos, leer y escribir en ella (se desaconseja usar la misma cuenta root o admin por razones de seguridad).

Elige un nombre y una contraseña y haz clic en «Otorgar todos los privilegios para la base de datos «MiBaseDeDatos»». Apunta el nombre de la cuenta y la contraseña que acabas de crear, puesto que serán necesarios durante el proceso de instalación de WordPress.

Screenshot

Otorgando privilegios para base de datos en phpMyAdmin.

Importar una base de datos existente

En caso de que ya tengas una base de datos MySQL de tu WordPress (por ejemplo, en casos de migración desde otro servidor), es necesario importarla. Desde phpMyAdmin, tienes que seleccionar el apartado «Importar» y subir el archivo que corresponda (.sql, o .gzip, .bzip2 o .zip en caso de que esté comprimida).

Screenshot

Importando base de datos en phpMyAdmin.

Una vez importada, sigue los mismos pasos indicados en el apartado anterior («Otorgar privilegios») para crear una cuenta que pueda acceder a la base de datos, leer y escribir en ella.

Configurar WordPress

Cuando tengamos creada la base de datos y los archivos de la carpeta WordPress ya estén en /var/www/html/example.com/, tenemos que visitar el dominio con el navegador. Aparecerá un formulario para finalizar el proceso de instalación de WordPress, en el que se solicitarán las credenciales de la cuenta de MySQL que hemos creado.

Screenshot

Asistente de instalación de WordPress.

Recuerda que cambiar el prefijo wp_ por otro en el apartado «Table Prefix» añade una capa de seguridad adicional a tu instalación.

Problemas frecuentes en la instalación de WordPress

Asegúrate de que los permisos de los archivos que has subido por SFTP sean los correctos. Para que WordPress pueda subir imágenes y plugins desde el panel de administración, la carpeta /var/www/html/example.com/wp-content tiene que tener los siguientes permisos:

drwxrws--- es decir, 770

Para comprobar que los permisos sean correctos, desde FileZilla debes hacer clic con el botón derecho encima de la carpeta wp-content y seleccionar la opción «Permisos de archivo» o «Atributos de archivo», según tu versión.

Los permisos tienen que quedar de esta manera, siendo el valor numérico 770. Esto quiere decir que tanto la cuenta Webmaster como Apache podrán escribir en la carpeta. Si los permisos que tienes son diferentes, puedes proceder a modificarlos desde el mismo Filezilla, asignando dos permisos diferentes para carpetas y para archivos. Para las carpetas es necesario el permiso de ejecución. Pondrás entonces el permiso 770 y marca la opción «Aplicar solo a directorios».

Screenshot

Edición de permisos de carpetas.

Repite la operación para los archivos, que no necesitan permiso de ejecución. Puedes asignar permisos 660 y seleccionar la opción «Aplicar solo a ficheros».

Screenshot

Edición de permisos de archivos.

Si quieres habilitar la opción de actualizar todo el WordPress desde el panel web de administración (wp-admin) tendrás que seguir los mismos pasos pero aplicando estos cambios no solo a la carpeta wp-content, sino a todas las carpetas de WordPress, es decir /var/www/html/example.com/.

A pesar de que los permisos de las carpetas del WordPress sean los correctos, podrías tener problemas a la hora de instalar plugins o subir imágenes. Para solucionarlo, añade la siguiente línea al final del archivo wp-config.php:

define( 'FS_METHOD', 'direct' );

Cuando subes imágenes o plugins desde WordPress, en lugar de hacerlo desde un cliente SFTP, quien ejecuta la operación no es tu propia cuenta, sino Apache (www-data). A pesar de que esta cuenta tenga permisos de escritura sobre los archivos, no es la propietaria. En servidores compartidos, esto podría representar un problema de seguridad, ya que la misma cuenta www-data podría estar siendo utilizada por todas las personas que tengan acceso. Por ello, WordPress utiliza un método que comprueba, además de los permisos, si la propietaria de los archivos coincide con la cuenta que está realizando la operación de escritura. Como esa situación no se da, no continúa con la operación y te solicita las credenciales FTP.

En MaadiX no tienes FTP ni FTPS, únicamente SFTP, que utiliza el puerto 22 en lugar del 21, que es el que utiliza WordPress sin darte la opción de cambiarlo. La solución de definir el método como direct hace que WordPress acceda de forma directa al sistema de archivos, en el que la cuenta www-data tiene los permisos necesarios para escribir.

Si quieres saber más, puedes consultar estos dos enlaces: