Configurar un servidor ubuntu con nginx, pagespeed, naxsi, mysql y wordpress

En este articulo voy a mostrarte como configurar el mejor servidor web para tu VPS, con estos pasos tendrás un servidor rápido y seguro. Vamos instalar y configurar nginx, pagespeed, naxsi, mysql y wordpress sobre ubuntu. En en este articulo voy a enseñarte a realizar la misma configuración que uso para correr mis sitios web en mi VPS.

Por si no sabes que es cada una de estas opciones, voy a contarte un poco para que sirven:

  • nginx: es un servidor web, como apache, pero es mucho más eficiente, actualmente corro un blog con más de 4,000 visitas diarias, en un servidor con 512MB en ram, por solo 5$ al mes con digital ocean.
  • pagespeed: Es una herramienta de google que reduce el tiempo que tarda una página en cargar (en mostrarse en tu computadora), en general esto hace a los usuarios más felices y también te ayuda a salir mejor posicionado en las búsquedas de google, ya que ellos premian a las paginas que cargan rápido.
  • naxsi: Es un firewall web, y te protege de algunas vulnerabilidades que pueda tener wordpress, algún plugin o cualquier aplicación web en tu servidor. (Mantiene a los hacker/craker fuera de tu servidor)
  • MySQL o MariaDB: Es un servidor de bases de datos, gratis y muy bueno.
  • WordPress: El mejor gestor de contenido, especialmente para blogs.

Ahora manos a la obra, lo primero que necesitamos es un servidor ubuntu instalado, en este tutorial voy a utilizar ubuntu 17.04

NOTA: Para ejecutar los comandos vas a necesitar acceso a la consola del servidor, para ello puedes utilizar el programa Putty si estas usando Windows. Puedes copiar cada bloque de comandos y ejecutarlos en un solo paso, copiando y pegando en la consola.

Instalando nginx, pagespeed y naxsi desde su código fuente.

Vamos a instalar nginx junto a pagespeed y naxsi desde sus fuentes, esto hará que trabajen más rápido.

Nota: Vamos a necesitar acceso root, para no tener que digitar sudo antes de cada comando, digitamos
su -i y luego nuestra clave (en caso de no estar logeados como root).

Primero debemos de instalar algunas librerías que nos permitirán compilar los códigos fuente de los programas.

Ahora vamos a ir a la carpeta /tmp y descargar el código fuente de nginx, naxsi y pagespeed.

Ahora vamos a descomprimir los archivos de codigo fuente

Luego preparamos Google pagespeed para ser compilado

El siguiente paso es configurar nginx para ser compilado

Si no hay algún error, ahora vamos a generar el programa e instalarlo.

Ahora para comprobar si la instalación funcionó, ejecutamos este comando

Y la salida del comando deberá ser algo como esta:

Verificar si nginx esta instalado

Instalar MySQL o MariaDB

Ahora que tenemos nuestro servidor con nginx (servidor web), lo siguiente es instalar un servidor de base de datos. La opción más común es MySQL (o MariaDB)

Al ejecutar el comando anterior, se va a descargar e instalar mysql y en un momento nos pedirá ingresar una clave, luego presionamos la tecla Tab (para movernos al botón Ok) y presionamos la tecla Enter

Ingresar una clave al instalar mysql

Luego nos pedirá confirmar la clave anterior, entonces la ingresamos y presionamos nuevamente la tecla Tab y tecla Enter.

Repetir la clave al instalar mysql

Ahora vamos a ejecutar un asistente para configurar ciertas opciones relacionadas con la seguridad, cuando nos pida un password debemos ingresar el que colocamos en el paso anterior. Debemos leer las instrucciones que se presenten y aceptar o no las sugerencias.

Crear bases de datos y otorgar accesos

Primero debemos iniciar sesión en el servidor de base de datos, esto lo hacemos con este comando

y luego digitamos la clave de root (que colocamos en unos pasos anteriores)

Ahora vamos a crear una base de datos con este comando:

Donde mi_base, es el nombre de la base de datos que vamos a crear. Ahora vamos a crear un usuario y a darle acceso a la base de datos.

En el código anterior se debe cambiar todas las coincidencias de la palabra usuario, por el nombre de usuario que va a crearse, también la palabra Clave por la clave o password que va a usarse, mi_base es el nombre de la base de datos a la que va a darse acceso.

Ahora hemos creado la base de datos, un usuario y le hemos dado acceso a la base de datos, ahora esta todo listo con nuestra base de datos, para cerrar esta sesión y regresar a la consola de ubuntu digitamos este comando:

Configurar nignx para ejecutar código PHP

Ya tenemos instalado nginx y puede procesar paginas con código de HTML, pero lo más usual es ejecutar código dinámico como PHP, para instalar PHP vamos a correr estos comandos:

NOTA: Ahora vamos a configurar los programas, esto se hace editando archivos de texto en el servidor, en linux el editor de texto predeterminado es VI, si nunca has usado este programa, puedes leer una guía haciendo clic aquí.

Ahora vamos a configurar nginx, creando un archivo con este comando.

El contenido del archivo debe ser el siguiente:

Nota: Si una archivo ya tiene información, podemos borrar todo con este comando de vi :1,$d

También debemos de copiar este archivo:

Con este contenido:

Ahora este archivo

Con este contenido:

y también este otro archivo

Con este contenido:

Ahora vamos a configurar el host virtual para nginx, para ello creamos este archivo

Con este contenido, teniendo cuidado de cambiar la linea 192.168.56.132 por la ip de tu servidor o el nombre de dominio.

Vamos a crear unos directorios para nginx

Ahora si todo esta bien vamos a iniciar nginx o reiniciarlo con uno de estos comandos, si no lo hemos iniciado aun, lo hacemos con este comando

o si ya ha sido iniciado, debemos reiniciarlo

Instalar WordPress

Muy bien, ahora vamos a instalar wordpress en nuestro servidor, primero vamos a descargar el instalador en la carpeta que hemos preparado.

Ahora en un navegador colocamos la dirección ip o el dominio de nuestro servidor y seguimos los pasos del asistente para instalar wordpress

Instalar wordpress en un vps

Cuando termines de seguir los pasos de el asistente de instalación de wordpress ya habrás terminado de configurar tu servidor, ahora lo que sigue es crear algo de contenido en wordpress!.