Introducción

En estos momentos, WordPress es el CMS (Sistema de Manejo de Contenido) más popular en Internet. Permite que puedas configurar blogs y sitios web de manera flexible por encima de un backend con MySQL y procesamiento por PHP . WordPress es visto como una gran elección a la ahora de hacer que un sitio web funcione rápidamente.
 
En esta guía, nos centraremos en hacer funcionar una instancia de WordPress sobre un servidor Apache en Ubuntu 14.04 .
 

Requisitos

 
Antes de que empieces con esta guía, hay algunos pasos importantes que necesitas haber dado con respecto a tu servidor.
 
Vamos a proceder en esta guía asumiendo que eres un usuario no root con privilegios sudo, así que deberás de tener uno disponible.
Además, deberás tener configurado un servicio LAMP (Linux, Apache, MySQL, PHP) en tu servidor . Si no tienes estos componentes ya instalados y configurados, este es el momento de hacerlo, para ello lee el siguiente post: Como instalar Linux, Apache, MySQL y PHP (LAMP) en Ubuntu 14.04 .
 
Cuando hayas completado estos requisitos, podrás continuar con esta guía.
 

Paso 1 - Crear una Base de Datos MySQL y un Usuario para WordPress

 
El primero paso que vamos a dar es simplemente preparatorio. WordPress utiliza una base de datos relacional para administrar y almacenar la información de usuario y sitio. Tenemos MySQL instalado, el cual puede darnos esta funcionalidad, pero necesitamos construir una base de datos y un usuario con los cuales WordPress pueda funcionar. Para empezar, haz un login en la cuenta root (administrador) de MySQL usando este comando:
 
mysql -u root -p
 
Se te solicitará la clave que le diste a la cuenta root de MySQL cuando instalaste el software. Tras esto aparecerá una consola de comandos de MySQL. Primero, podemos crear una base de datos separada que WordPress pueda controlar. Puedes llamarla como quieras, pero en la guía la llamaremos wordpress porque es simple y descriptiva. Ingresa este comando para crear la base de datos :
 
CREATE DATABASE wordpress;
 
Toda sentencia de MySQL debe finalizar con punto y coma (;), así que asegúrate de que está presente si estás teniendo problemas. Detrás, vamos a crear una cuenta de usuario de MySQL separada que usaremos exclusivamente para operar con nuestra nueva base de datos.
 
Crear bases de datos y usuarios de una sola función es una buena idea tanto para administración, como para seguridad. Vamos a llamar a la nueva cuenta wordpressuser y le asignaremos como clave password. Evidentemente, deberías de cambiar la clave para tu instalación y el nombre de usuario podría ser el que más te guste. Este es el comando que necesitarás para crear el usuario :
 
CREATE USER wordpressuser@localhost IDENTIFIED BY ‘password’;
 
En este momento, ya tienes la base de datos y la cuenta de usuario, cada uno hechos específicamente para WordPress. Sin embargo, estos dos componentes no tienen relación alguna aún. El usuario no tiene acceso a la base de datos. Para solucionarlo vamos a darle acceso al usuario a nuestra base de datos con este comando:
 
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;
 
Ahora el usuario tiene acceso a la base de datos. Necesitamos hacer un flush a los privilegios para que la instancia de MySQL sepa acerca de los cambios que hemos realizado sobre los privilegios recientemente:
 
FLUSH PRIVILEGES;
 
Ahora ya tenemos todo listo. Podemos salir de la línea de comandos de MySQL escribiendo:
 
exit
 
Ahora deberías de estar de nuevo en la consola de comandos normal.
 

Paso 2 – Descargar WordPress

A continuación, vamos a descargar los archivos de WordPress de su sitio web. Afortunadamente, el equipo de WordPress siempre usa el mismo link para la versión estable más reciente de su software, el cual podemos conseguir escribiendo esto:
 
cd ~

wget http://wordpress.org/latest.tar.gz
 
Esto descargará la versión en inglés, para obtener la versión en español deberíamos de entrar en la web de WordPress en español ( http://es.wordpress.org/ ) y continuar hasta el link al archivo .tar.gz y copiar la url en la línea de comandos , usándola en lugar de la url en inglés.
 
Con esto habremos descargado el archivo comprimido con el contenido de WordPress en nuestra carpeta raíz. Podemos extraer los archivos para reconstruir el directorio de WordPress escribiendo :
 
tar xzvf latest.tar.gz
 
Esto creará un directorio llamado Wordpress en nuestra carpeta raíz. Así mismo deberíamos de conseguir algunos paquetes más que necesitamos . Podemos obtenerlos directamente desde los repositorios por defecto de Ubuntu después de que hayamos actualizado nuestro índice local de paquetes:
 
sudo apt-get update
 
Y tras ello, deberemos de obtener los dos paquetes necesarios :
 
sudo apt-get install php5-gd libssh2-php
 
Esto permitirá que trabajes con imágenes, que instales plugins y que actualices porciones de tu sitio usando tus credenciales SSH para logarte.
 

Paso 3 – Configurar WordPress.

 
La mayor parte de la configuración que haremos más tarde será a través de un interface web. Sin embargo, es necesario que hagamos algo de trabajo a través de la línea de comandos antes de tener esto listo y funcionando. Empezamos moviéndonos hacia el directorio de WordPress que acabamos de descomprimir:
cd ~/wordpress
 
Un archivo de configuración de ejemplo , que se acerca mucho al que necesitamos, está incluido por defecto. Aunque, necesitamos copiarlo a la localización del archivo de configuración por defecto para que WordPress reconozca al archivo. Lo haremos así:
 
cp wp-config-sample.php wp-config.php
 
Ahora que tenemos un archivo de configuración con el que trabajar, lo abriremos con un editor de texto :
 
nano wp-config-php
 
Como dijimos anteriormente, este archivo se puede adaptar a nuestras necesidades. Las únicas modificaciones que necesitamos hacer son en los parámetros que tienen la información acerca de nuestra base de datos.
 
Necesitamos encontrar las configuraciones de DB_NAME , DB_USER y DB_PASSWORD para que WordPress pueda conectar y autenticarse correctamente en la base de datos creada . Corrige esos parámetros con los valores que correspondan a la base de datos que creaste anteriormente. Debería de ser algo parecido a esto:
 
/ ** MySQL settings - You can get this info from your web host ** //

/** The name of the database for WordPress */

define('DB_NAME', 'wordpress');



/** MySQL database username */

define('DB_USER', 'wordpressuser');



/** MySQL database password */

define('DB_PASSWORD', 'password');
 
Estos son los únicos valores que necesitas cambiar, así que cuando lo hayas hecho guarda y cierra el fichero .
 

Paso 4 – Copiar Archivos a la Raíz de Documentos de Nuestro Servidor Web

 
Ahora que tenemos nuestra aplicación configurada, necesitamos copiarla dentro de la raíz de documentos de nuestro servidor web, desde donde podrá ser servida a los visitantes de nuestra web. Uno de los métodos más fáciles y fiables de transferir archivos de un directorio a otro es con el comando rsync
 
Éste preserva los permisos y tiene unas buenas opciones para mantener la buena integridad de los datos. La localización de la raíz de documentos en el LAMP de Ubuntu 14.04 es /var/www/html . Podemos transferir nuestros archivos de WordPress allí escribiendo:
 
sudo cp -r ~/wordpress/* /var/www/html/
 
Esto copiará de forma segura todos los contenidos del directorio que descomprimiste a la raíz de documentos. Ahora deberíamos de movernos hacia dentro de la raíz de documentos para hacer unos cambios finales a los permisos:
 
cd /var/www/html
 
Necesitaremos cambiar el propietario de nuestros archivos para incrementar la seguridad . Queremos darle la propiedad al usuario no root con privilegios sudo que creamos, planeando usarlo para interactuar con nuestro sitio. Puedes usar ese usuario si quieres, aunque algunos pueden sugerir que crees un usuario adicional para este proceso. Es cuestión de cada uno decidirlo.
 
Para esta guía, vamos a usar la misma cuenta que creamos durante los pasos iniciales de configuración del servidor, al cual llamaremos demo. Esta es la cuenta en la que vamos a hacer las acciones que tiene esta guía. La pertenencia a grupo se la daremos al proceso del servidor web, el cual es www-data. Esto permitirá que interactúe con el contenido como sea necesario. Podemos asignar rápidamente estos valores de pertenencia escribiendo:
 
sudo chown –R demo:www-data *
 
Esto configurará las propiedades de pertenencia que estamos buscando. Mientras estemos tratando con pertenencia y permisos, debemos de tener cuidado también con asignar la pertenencia correcta en nuestro directorio de uploads. Esto nos permitirá subir imágenes y otro contenido a nuestro sitio web. Ahora mismo los permisos son demasiado restrictivos.
 
Primero , vamos a crear manualmente el directorio de uploads tras el directorio de wp-content en nuestra raíz de documentos. Este será el directorio padre de nuestro contenido:
 
mkdir /var/www/html/wp-content/uploads
 
Ahora tenemos un directorio donde dejar los ficheros que subamos, pero los permisos siguen siendo muy restrictivos. Necesitamos dejar que el propio servidor web escriba en este directorio . Podemos hacer eso asignando pertenencia a grupo de este directorio para nuestro servidor web, de esta manera:
 
sudo chown -R :www-data /var/www/html/wp-content/uploads
 
Esto permitirá al servidor web crear archivos y directorios a partir de este mismo directorio, lo cual nos permitirá subir contenido al servidor.
 

Paso 5 – Completar la Instalación a través de la Interface Web

 
Ahora que tienes los archivos en su sitio y tu software está configurado, puedes completar la instalación a través el interfaz web.
 
En tu navegador web, dirígete a la URL de tu servidor web:
 
http://nombre_DNS_o_IP
 
Veras la página inicial de configuración de WordPress, donde crearás una cuenta inicial de administrador. Rellena la información de la cuenta de administración para tu sitio que desees. Cuando hayas finalizado, haz click en el botón de instalar abajo. WordPress confirmará la instalación y te pedirá que accedas con la cuenta que acabas de crear. Presiona el botón de debajo y después rellena los campos necesarios para acceder con la información de tu cuenta.
 
Tras esto verás la interfaz de WordPress y podrás comenzar a montar tu web o blog :)
 
Créditos de la imagen: https://www.flickr.com/photos/lucasartoni/15050940206/in/photostream/