Hay otras opciones como el uso de VestaCP, cPanel, Webmin las cuales facilitan el trabajo y hacen una tarea de pre-optimización de los servicios, sin embargo estas plataformas al ser robustas y contar con servicios extra consumen a la vez recursos del servidor, siendo necesaria mayor potencia.

La siguiente guía está destinada a la administración de un servidor VPS partiendo desde conceptos básicos y destinados a 1 solo sitio web, si se requiere la administración de varios sitios lo aconsejable es un panel de control como VestaCP, cPanel, Webmin o Plesk.

Fundamentos para un servidor Web

¿Qué es un servidor Web y qué opciones dispongo?

Un servidor web es aquel que se encarga de recibir y dar respuesta a solicitudes desde la Web, existen 3 servidores Web bastante conocidos, el protocolo que se usa para la comunicación es HTTP y HTTPS. La comunicación Web que se tenga con tu servidor Web ya corriendo sobre el VPS e instalado WordPress será mediante estos 2 protocolos.

Los 3 servidores más usados y conocidos son:

  • Apache
  • Nginx
  • LiteSpeed

En este tutorial nos centraremos en Apache v2 al ser el más conocido, a la vez debido a que es la opción más directa para el uso de un archivo .htaccess el cual te permite utilizar módulos sin tener que estar activándolos globalmente.

¿Cómo se ejecuta el código almacenado en el servidor?

Apache fue desarrollado para le trabajo en conjunto con PHP, este es un lenguaje de programación destinado a la vez, ampliamente conocido y que todavía recibe soporte, WordPress, Joomla, Prestashop, Laravel, CodeIgneter y multitud de plataformas corren con un núcleo basado en PHP, en esta guía nos centraremos en WordPress por tal razón es necesario saber que el código que se ejecuta desde el servidor estará hecho en PHP.

Como todo tipo de instrucción en un ordenador, este se carga en memoria RAM y dependiendo de la capacidad de computo necesaria puede demorar en dar una respuesta, por tal razón siempre es recomendable hacer tareas de optimización en el código, para así tener un sitio fluido y aprovechar mejor las inversiones que se hace en términos del Hardware del servidor.

Como te comentaba anteriormente Apache fue creado para el trabajo con PHP, por esta misma razón en sus configuraciones se definirá el directorio donde estará el código de nuestro sitio web, en este tutorial se manejará la ruta /var/www/html

¿Qué hay sobre la base de datos?

Para poder almacenar información y disponer de ella con técnicas optimizadas de lectura es necesario contar con una base de datos, existen multitud de plataformas (DBMS) entre ellas MySQL, PostgreSQL, MongoDB, MariaDB entre otros.

En esta guía nos centremos en MariaDB por cuatro razones puntuales:

  • Es compatible con MySQL por completo
  • Es más optimizado que MySQL
  • Recibe bastante soporte
  • Es libre y abierto

Funcionamiento de un servidor Web con Apache, MariaDB y PHP

Cuando alguna de esas direcciones devuelve un error a la consulta o no puede ser procesada se guarda en un reporte de errores (error log), usualmente los mensajes son pasados hasta Apache, el cual debido al error y categoría indicará uno u otro error, entre los errores básicos que puedes encontrar son:

  • Error 50x: Es un error al nivel de PHP, es posible que el código tenga conflictos para continuar ya que tiene fallos que producen un impedimento, o que el servidor pueda estar sobrecargado.
  • Error 40x: Es un error a nivel de Apache, ya que este no puede acceder al recurso solicitado.

Cualquier tipo de error que devuelva Apache es porque está siendo ejecutado y hay algo que falta configurar por parte del contenido.

¿Qué sistema operativo me recomiendan en mi VPS?

De forma personal yo recomiendo Debian 9 en su versión mínima, estos debido a 3 razones:

  • Debian es una distribución bastante usada en servidores Web
  • Al ser la versión mínima no viene con extras que ocupen recursos de Hardware.
  • Es libre, de fácil uso y administración.

Primeros pasos de instalación

Hasta este momento la guía ha sido bastante teoría esto debido a que al ser un servicio auto-administrado es necesario tener claro cómo funciona un servidor Web y si se tiene algún problema se puede buscar un poco más de información con los términos adecuados.

Instalación del Sistema Operativo

Lo primero a realizar es la elección del Sistema Operativo, en este caso Debian 9 64bit minimal,

Accede a tu panel de administración del VPS y luego ve a la sección Otras características, verás el apartado Sistema Operativo:

Asegúrate de elegir Debian 9 64bit minimal

Después de dicha operación es necesario esperar un par de minutos, en este caso me ha demorado 20 minutos, al ser todo un sistema operativo es normal demore.

Conexión con SSH mediante Putty

Putty es un cliente SSH bastante usando en entornos Windows, te permite la conexión remota al servidor mediante el terminal de Linux y se pueden ejecutar los comandos necesarios para gestionar el servicio, en un VPS se tiene permisos de root así que el control es total.

Puedes descargar Putty desde acá

Una vez abierto Putty verás algo similar a esto:

Es necesario indicar un usuario, hostname y el puerto específico.

Los datos de SSH los puedes conseguir desde acá:

En Putty sería similar a esto:

Una vez te conectes al servidor verás algo similar a esto:

Ahí colocas tu contraseña del VPS y te mostrará esta pantalla:

¡Ya tienes acceso por SSH y ya se pueden ejecutar comandos!

Comandos básicos para SSH

Los comandos más usados para SSH en Debian serían apt-get, cp, cd, mv, mkdir, nano, systemctl, apt, sudo, chown, chmod.

Actualización de dependencias

Una buena práctica es actualizar las dependencias y paquetes básicos e instalados al día, así se cuentan con versiones actualizadas y con mayor seguridad en muchos casos.

Para ello ejecuta los comandos:

sudo apt update

sudo apt upgrade

Si te pide la confirmación de instalación indica: Y
Luego presiona enter.

Es necesario esperar un momento para que todo esté instalado y descargado, al ser Debian 9 mínimo no instala muchas actualizaciones, así que no debería demorar mucho, lo usual es hasta 10 minutos.

Instalación de Apache v2

Ahora sí comenzamos con la instalación del servidor Web, en este caso Apache, ejecuta lo siguiente:

sudo apt install apache2 apache2-utils

Si te pide la confirmación de instalación indica: Y
Luego presiona enter.

Ahora se tiene que iniciar los servicios de Apache e indicar se iniciará también al encender el VPS, utiliza los siguientes comandos:

sudo systemctl start apache2
sudo systemctl enable apache2

Puedes comprobar la versión de Apache con el comando:

sudo apache2 -v

La salida será similar a esto:

Pruebas del servidor Apache

Ahora accede a tu VPS mediante el navegador de tu preferencia, en la URL indica la dirección IP, se verá algo similar a esto:

¡Ya tienes Apache instalado y funcionando! es decir que ya tienes un servidor HTTP para que entregue respuestas a solicitudes.

Permisos de archivos en el directorio por defecto de Apache

Es necesario otorgar permisos al usuario web en el directorio que le corresponde, en este caso al ser una instalación limpia de Apache la ruta es: /var/www/html/

Ejecuta el siguiente comando para que así tengas permisos y a posterior no tengas ningún problema con ello:

sudo chown www-data:www-data /var/www/html/ -R

Instalación de MariaDB como DBMS

MariaDB tiene bastantes beneficios como te lo he indicado más arriba, su instalación es igual bastante sencilla 😉 

Ejecuta los siguientes comandos:

sudo apt install mariadb-server mariadb-client

Si te pide la confirmación de instalación indica: Y
Luego presiona enter.

Este proceso demorará un poco debido a que MariaDB ya tiene un peso moderado, sin embargo lo usual es 15 minutos a más tardar.

Ahora tenemos que iniciar MariaDB y también indicar se inicie junto al VPS:

sudo systemctl start mariadb
sudo systemctl enable mariadb

También aplicaremos unos cuántos criterios de seguridad, para ello ejecuta lo siguiente:

sudo mysql_secure_installation

Introduce la contraseña de root, si gustas cambiar la contraseña de root en el siguiente paso indica Y o caso contrario indica n

Luego acepta todo lo que se te indique, esta configuración es para que el acceso a la base de datos solo sea posible desde el VPS, no así desde afuera, para las conexiones desde afuera usaremos PHP como intermediario, como se mostró en el esquema de más arriba.

Te mostrará una salida como esta:

Puedes revisar la versión de MariaDB instalada con el siguiente comando:

mariadb --version

Creación de una base de datos para la instalación de WordPress

Ahora que ya tenemos MariaDB instalado, e iniciado vamos a conectarnos como root al servidor, utiliza el siguiente comando:

sudo mariadb -u root

Ahora verás el terminal de MariaDB 

Desde ahí se puede hacer la gestión de MariaDB mediante comandos, en este caso se creará una base de datos llamada wordpress, con el usuario llamado wordpress y contraseña test1234 el cual tendrá todos los permisos para esa base de datos.

CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'test1234';

Puedes salir del usuario MariaDB con el comando

exit;

Instalación de PHP 7

PHP es el encargado de procesar todo el código de WordPress, se recomienda instalar PHP >= 7.0 debido a que trae mejoras sustanciales en cuando a velocidad y seguridad, la instalación puede ser hecha de esta forma:

sudo apt install php7.0 libapache2-mod-php7.0 php7.0-mysql php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline

La instalación suele demorar 10 minutos o menos.

Ahora quedaría habilitar el módulo de PHP para Apache e indicar el reinicio de Apache para que tome efecto:

sudo a2enmod php7.0
sudo systemctl restart apache2

Puedes comprobar la versión de PHP con:

php --version

Ahora crearemos un archivo de pruebas para ver que Apache + PHP funcionan, utiliza el siguiente comando:

sudo nano /var/www/html/info.php

Te abrirá un editor de texto, ahí escribe esto:

<?php phpinfo();

Presiona ctrl+x, luego Y y después enter, enter.
Ahora ingresa desde la http://LaIPDeTuVPS/info.php se verá lo siguiente:

Todo en orden, PHP funcionando, Apache funcionando y MariaDB funcionando.

Apuntando el dominio

WordPress requiere de un dominio para ser instalado, en este caso lo aconsejable sería revisar nuestros dominios disponibles:

Y luego seguir esta guía para apuntarlo a la IP del VPS:
https://www.hostinger.es/tutoriales/apuntar-dominio-vps/

En caso de no contar con el dominio se puede hacer uso del archivo hosts en el ordenador, puedes revisar esto

Instalación de WordPress

Ahora que ya se ha apuntado el dominio, en mi caso estoy usando dominioprueba.com y se tiene la siguiente salida:

Ahora quedaría descargar WordPress e instalarlo, para ello se usarán estos comandos:

cd /var/www/html
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
mv wordpress/* ./
rmdir ./wordpress/
rm -f latest.tar.gz
rm index.html
sudo chown www-data:www-data /var/www/html/ -R

De esta forma los archivos de WordPress estarán en el directorio público /var/www/html y ya todos los archivos necesarios deberían estar listos para la instalación de WordPress.

Ahora al ingresar al sitio web se verá lo siguiente:

Ya podemos empezar la instalación manual de WordPress:

Si todo está en orden te mostrará esta pantalla:

Y luego se puede proceder a llenar los datos de acceso y configuración básica:

Si todo salió en orden debería salirte una pantalla como esta:

Si ingresas a tu panel de control verás el clásico panel de WordPress:

Y a la vez puedes gestionarlo y manipularlo como de costumbre.

¿Encontró su respuesta?