Instalar un VPS de OVH con Ubuntu【 2019 】

Hoy compartimos unas breves instrucciones para instalar y configurar un nuevo VPS en OVH.

Si ahora contratáis un VPS en OVH ya no nos da la opción de elegir UBUNTU como sistema operativo, sino solamente: «Plesk Onyx on Debian 8 64 bits».

Servidor VPS nuevo de OVH con PLESK

Si tenéis varios VPS con Ubuntu normalmente querréis tener los nuevos con el mismo sistema operativo. Esto se puede hacer contratando el VPS con el sistema operativo que nos sugieren: «Plesk Onyx on Debian 8 64 bits» y una vez lo han creado e instalado, en el panel de administración de OVH podemos reinstalar otro sistema operativo y aquí si que está disponible Ubuntu + Plesk.

Reinstalar VPS de OVH con PLESK: opciones

Lo instalamos y nos esperamos 30 minutos que tardan aproximadamente en hacer la reinstalación. Aunque en el panel de OVH no se vea que pase nada, el VPS se está reinstalando y al terminar la reinstalación nos llega un email confirmándola.

OJO: Que la diferencia es que la imagen de DEBIAN lleva la última versión de Plesk y en las imágenes de Centos y Ubuntu hay que actualizar la versión de Plesk para llegar a la última.

Configuración rápida de un VPS nuevo

Primer login

Login a PLESK + Aceptar las condiciones de uso de plesk + Seleccionar «Corporate / Business Use y quitar» «Enable access to premium commercial apps» (Si sale un error de «Existe un problema con el certificado de seguridad de este sitio web» podéis tranquilamente seleccionar: «Vaya a este sitio web (no recomendado). «)

Crear algún usuario temporal.

Actualización de la versión de Plesk

Ir a Server / Updates and Upgrades + Install or upgrade product + Continue (actualizar a 12.8.xx)

Primer problema: Apache config file cannot be generated: «Wrong variable to subsitute»
Para solucionarlo en la consola:

mv -f /usr/local/psa/admin/conf/templates/custom /root/custom_templates/
/usr/local/psa/admin/sbin/httpdmng --reconfigure-all

Volvemos a Server / Updates and Upgrades + Install or upgrade product + Cuando ha acabado: OK.

Instalación de componentes adicionales

Luego añadimos componentes: Add/Remove Components

  • Server Health Monitor
  • Fail2Ban
  • Mail hosting: SpamAssassin
  • Webhosting: ModSecurity + PHP interpreter versions: PHP 7.2, PHP 7.1 y PHP 7.0.
  • Plesk extensions: Plesk Firewall, Watchdog system monitoring y Let's Encrypt

Continue + OK.

Ahora hay que volver a loguearse en el PLESK del VPS y ver que podemos entrar. Si no podemos entrar al PLESK hay que mirar este artículo: 

Actualización Ubuntu desde la consola

Ahora actualizamos el Ubuntu desde la consola:

sudo apt-get update
sudo apt-get upgrade -y

Instalamos CLAMAV

Instalamos el CLAMAV (para configurar el escaneo diario, tenemos instrucciones aquí: Instalar ClamAV en Ubuntu 14 en un VPS Comandos SSH para Ubuntu 14 con Plesk (OVH y Gigas):

sudo apt-get install clamav clamav-daemon -y
sudo freshclam

Activamos MOD_EXPIRES.C

Activamos el módulo mod_expires.c necesario para muchos plugins de caché:

sudo a2enmod expires
service apache2 restart

Si lo quisiéramos desactivar en algún momento:

sudo a2dismod expires
service apache2 restart

Configuramos la compresión GZIP

Además del módulo mod_expires.c tenemos que comprobar que esté habilitada la compresión GZIP en el VPS. Aquí hay una entrada extensa sobre el tema: Cómo habilitar compresión GZIP en Plesk sobre Ubuntu (OVH y GIGAS).

vi /etc/nginx/nginx.conf

Dentro de http buscar las siguientes líneas:

#gzip on;
#gzip_disable "MSIE [1-6].(?!.*SV1)";

Quitar la almohadilla de comentario. Si no os la deja quitar pulsar la tecla insertar. Justo después hay que pegar lo siguiente:

gzip_comp_level 9;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 10;
gzip_buffers 16 8k;
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
# GZIP Types - NEW
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/xhtml+xml application/javascript application/json application/vnd.ms-fontobject application/x-font-truetype font/eot font/opentype font/otf image/svg+xml image/vnd.microsoft.icon;

Guardar con ESC + :wq + Enter

Comprobar la sintaxis del archivo de configuración de NGINX con:

nginx -t

Si nos dice que la sintaxis es correcta volvemos a arrancar NGINX y APACHE con:

service nginx restart
sudo /etc/init.d/apache2 restart

Activamos HTTP2 y HSTS

Para activar el soporte accedemos por SSH al servidor y ejecutamos en la consola:

/usr/local/psa/bin/http2_pref enable

Optimizamos NGINX para HTTP2

Para optimizar NGINX:

sudo vi /etc/nginx/nginx.conf

La conexión inicial entre el servidor y el usuario tarda bastante y se puede cachear añadiendo estas líneas al final del bloque http del archivo nginx.conf (ojo: añadirlo dentro del bloque de http, antes del paréntesis que lo cierra):

ssl_session_cache shared:SSL:5m;
ssl_session_timeout 1h;

Habilitar caché HTTP2 en NGINX

habilitamos HSTS en WordPress

sudo vi /etc/nginx/nginx.conf

Añadir la línea antes del paréntesis que cierra HTML.

add_header Strict-Transport-Security "max-age=15768000" always;

Si queremos que también se aplique a subdominios, la sintaxis a añadir es esta:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

y así no tenemos que añadirlo en el archivo htaccess.

Ahora solo falta volver a arrancar NGINX (primero comprobamos que la sintáxis del archivo sea correcto con -t. Si no lo es, hay que corregir los errores):

sudo nginx -t
service nginx restart
service apache2 restart

Revisamos el servidor de actualizaciones de PLESK que usa el servidor

El tema tiene que ver con la configuración del servidor de actualizaciones de PLESK establecido por la imagen del sistema operativo instalada por OVH. En este caso el MIRROR SERVER es algo como http://20170719-.... cuando debería de ser: http://parallels.mirrors.ovh.net/parallels/.

Editar: vi /root/.autoinstallerrc
Editando SOURCE="http://20170719-...." y cambiándolo por SOURCE="http://parallels.mirrors.ovh.net/parallels/"
Si nos deja editar, pulsar la tecla INSERT. Para guardar: ESC + :wq

Más información en el post sobre el tema: No puedo actualizar a PLESK 17.8.x desde 17.5.x en OVH.

OPCIONAL: Actualizamos MySQL de 5.5x a 5.7

Aquí están las instrucciones si os interesa actualizar MySQL de la versión 5.5.x a la versión 5.7.x: Actualizar MySQL a la versión 5.7.xx (VPS de Gigas y OVH con Ubuntu).

Si queréis hacer la actualización, seguir los pasos de ese post.

Y con esto por ejemplo evitamos los errores de Duplicator o Duplicator Pro acerca de utf8mb4_unicode_520_ci:

  • STATUS: The collation test failed! The database server being connected to does not support a collation from where the database was created.
  • DETAILS: This test checks to make sure this database can support the collations found in the database.sql script.
  • Collations in database.sql: utf8mb4_unicode_520_ci: Fail – latin1_swedish_ci: Pass

Acabamos de configurar PLESK

Volvemos a PLESK:

  • Tools & Settings / Branding: Personalizamos el nombre y el logo del VPS para poder distinguirlos.
  • Tools & Settings / IP Addresses: Añadimos las IPs adicionales.
  • Custom Buttons: Eliminamos el botón de «Order a new domain» de OVH.
  • Activar ModSecurity (esto en Ubuntu de vez en cuando da un error interno, pero se activa de todas formas y funciona correctamente).
  • Activar IP Address Banning con «Enable intrusion detection» y luego configuración de los jails (que por defecto están todos desactivados). OJO: En IP Address Banning / Trusted IP Addresses hay que verificar que estén todas las IPs asignadas al VPS porque sino puede ser que banee IPs propias por acceder demasiado por ejemplo a MySQL. Se supone que PLESK cada vez que le añadimos una IP la añade aquí pero en la práctica algunas veces las añade otras no; por eso mejor comprobarlo.
  • Activar la limitación de envíos de email y la comprobación del SPF (en Tools & Settings / Mail Server Settings / Switch on limitations on outgoing email messages y  Tools & Settings / Mail Server Settings / Switch on SPF spam protection).

OPCIONAL: Configuramos el acceso al la línea de comando

Generar una clave de acceso SSH para poder acceder a un VPS de OVH. Esta combinación de clave pública y privada sustituye al acceso con contraseña. Aquí está la explicación: Cómo acceder con una clave SSH a un VPS de OVH o GIGAS

Configuramos los backups

Configuración de copias de seguridad: «Backup Settings». OJO: Nosotros siempre usamos una contraseña de encriptación propia y no la de PLESK. Más que nada por si le pasa algo a la instalación de PLESK y ya no se pudiera recuperar la contraseña anterior.

Nosotros solemos siempre excluir los siguientes archivos y carpetas de las copias porque realmente no aportan mucho a las mismas:

/httpdocs/wp-content/cache/*,/httpdocs/wp-content/debug.log,/httpdocs/wp-content/uploads/backwpup*,/httpdocs/wp-content/temp/*,/httpdocs/wp-content/tmp/*,/httpdocs/wp-content/uploads/temp/*,/httpdocs/wp-content/uploads/tmp/*

 

Y ya lo tenemos todo listo y funcionando

Y con esto lo deberíamos de tener todo listo y funcionando. No obstante en el proceso pueden pasar mil cosas por lo que solo es para usuarios avanzados.

P.D. Aquí tenéis algunos comandos de Ubuntu de la consola útiles en el día a día: «Comandos SSH para Ubuntu 14 con Plesk (OVH y Gigas)«

Créditos imágenes: Shutterstock

4 comentarios en “Instalar un VPS de OVH con Ubuntu【 2019 】

  1. El Desarrollador Web

    Hola amig@s! De nuevo yo por aquí, se acuerdan que quería hacer un update de MySQL v5.5 en un Ubuntu 14 hacia la versión 5.7? Pues me desmadré y acabé con mi Ubuntu en v18 con un Plesk Obsidian (también 2018). Luego les cuento porque me interesa la primera parte de este post.

    Responder
      1. El Desarrollador Web

        Jajajaj! Nunca sale a la primera… El caso es que después de la actualización a Plesk 18. Me sale este error: «Los nuevos archivos de configuración para el servidor web Apache no fueron creados debido a errores en las plantillas de configuración: nginx: [emerg] cannot load certificate «/opt/psa/var/certificates/NOMBRE-CERTIFICADO-GENERADO»: PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE) nginx: configuration file /etc/nginx/nginx.conf test failed».

        Cuando intento activar NGINX, este es el error y las webs caen. Densinstalo el mod, y todo bien. Yo me imagino que será alguna herencia, pero purgo la instalación y nada… Haber si se les puede ocurrir algo a ustedes o alguna idea

        De antemano, mil gracias.

        Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.