Si queremos tener un entorno de desarrollo web en nuestro PC, podemos instalar el paquete de herramientas XAMPP, que ofrece un sencillo asistente para tener todo el ecosistema de servidor web (Apache, MySQL y PHP) en unos pocos clics.

Pero si tenemos algún problema con estos «meta-paquetes», o queremos tener un entorno más optimizado/personalizado, podemos instalar todo por separado.

En este artículo vamos a ver paso a paso los componentes a instalar y los ajustes necesarios para trabajar con WordPress.

Artículo en vídeo:

Instalar el servidor Apache

sudo apt install apache2

Comandos para Apache:

Arrancar Apache

sudo systemctl start apache2

Reiniciar Apache

sudo systemctl restart apache2

Detener Apache

sudo systemctl stop apache2

Para comprobar que Apache está iniciado, podemos ir a nuestro navegador y acceder a la url http://localhost, donde debe aparecer una pantalla similar a esta:

La carpeta donde se ubicarán nuestros proyectos es:

/var/www/html

Instalar el gestor de bases de datos MariaDB

sudo apt install mariadb-server
sudo apt install mariadb-client

Comandos para iniciar y ver el estado de MariaDB:

sudo systemctl start mariadb
sudo systemctl status mariadb

Por defecto, MariaDB se instala con el usuario root sin contraseña. Podemos crear una contraseña llamando al módulo:

sudo mysql_secure_installation

Definimos una contraseña. También nos preguntará si deseamos quitar usuarios invitados, eliminar las tablas de tests o el acceso remoto de root. Podemos especificar que sí a todo.

En este momento podemos crear nuestro usuario MySQL distinto de root. Para ello accedemos a la consola de MySQL con el comando:

sudo mysql -u root -p

Ponemos la contraseña de root y aparecerá el prompt de MySQL

Para crear nuestro usuario ejecutamos la orden:

CREATE USER tu_usuario IDENTIFIED BY 'tu_clave';

Aprovechamos también para crear la base de datos para WordPress y asignar el nuevo usuario a esta:

CREATE DATABASE wordpress;

Asignamos nuestro nuevo usuario a la base de datos wordpress con todos los privilegios:

GRANT ALL PRIVILEGES ON wordpress.* TO tu_usuario;
FLUSH PRIVILEGES;

Instalar PHP

Instalamos la versión que venga en los repositorios de nuestra distro actual. En el caso de Ubuntu 18.04, la versión de php disponible es la 7.2.

sudo apt install php7.2
sudo apt install php7.2-fpm
sudo apt install php7.2-mysql
sudo apt install php7.2-curl

Para comprobar si PHP se ha instalado correctamente podemos crear un archivo con nano en el directorio de proyectos de Apache:

sudo nano /var/www/html/info.php
<?php echo phpinfo(); ?>

Y acceder desde el navegador a http://localhost/info.php

Debe aparecer una pantalla con la información de PHP:

Instalar phpMyAdmin

sudo apt install phpmyadmin

Durante la instalación el terminal nos hará algunas preguntas, como en qué servidor queremos configurar phpMyAdmin, donde elegiremos apache2.

También nos preguntará si queremos utilizar dbconfig-common para configurar la base de datos, respondemos que .

Ajustes y recomendaciones para WordPress

Ahora podemos instalar nuestros proyectos WordPress como siempre, utilizando la ruta /var/www/html, pero debemos hacer algunos ajustes para que WordPress no nos de problemas.

Activar el módulo ReWrite de Apache

Este módulo es necesario para activar los enlaces permanentes de WordPress (para que reconozca nuestros slugs).

Para activarlo ejecutamos la orden:

sudo a2enmod rewrite

Ahora editamos el archivo de configuración:

sudo nano /etc/apache2/sites-available/000-default.conf

Añadiendo al final:

<Directory "/var/www/html">
AllowOverride All
</Directory>

Y reiniciamos Apache:

sudo systemctl restart apache2

PARÁMETROS RECOMENDADOS PARA WORDPRESS EN PHP.INI

Editamos con nano el archivo php.ini modificando los siguientes parámetros:

sudo nano /etc/php/7.2/apache2/php.ini
memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000

Y con esto dejamos terminado nuestro entorno de desarrollo web optimizado para trabajar en WordPress.

Si tienes dudas o algún problema, no dejes de escribirlo en los comentarios. Nos vemos en el siguiente post 😉