¿Cómo cambiar de Centos 6.8 a Ubuntu 14 en OVH?

Etiquetas: , ,

Si queréis tener soporte HTTP2 con HSTS con CENTOS 6.8 + Plesk, la única opción es reinistalar el sistema operativo. OVH no da como opción instalar CENTOS 7 + Plesk, por lo que la única opción que queda es instalar Ubuntu 14.04 + Plesk.

OJO: Esto es para usuario avanzados. Asegúrate de tener copias de seguridad de todo antes de realizar estos pasos.

Lo primero a tener en cuenta:

Nosotros lo que hacemos es:

Otros datos a guardar son:

Todo el resto de datos los volvemos a recuperar luego al importar las suscripciones.

Una vez guardadas todas las suscripciones y todo contenido relevante del VPS, en el panel de OVH se puede solicitar la reinstalación del VPS, seleccionándolo y (con las opciones avanzadas activadas) hacer click en «REINSTALL MY VPS».

Cómo volver a instalar Plesk para dejarlo como estaba

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.

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

Ahora hay que volver a loguearse en el PLESK del VPS sino da errores raros.

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

Luego añadimos componentes: Add/Remove Components

Continue + OK.

Ahora hay que volver a loguearse en el PLESK del VPS

Ahora actualizamos el Ubuntu desde la consola:

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

 

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 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

 

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

 

 

Volvemos a PLESK:

 

Para ir añadiendo los distintos dominios

Seguimos:

 

Y para acabar activar HTTP2 y HSTS

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

/usr/local/psa/bin/http2_pref enable

Cambios en SSL.conf (que ya no hacen falta)

Antes recomendábamos también ejecutar el siguiente comando (más que nada porque PLESK lo recomendaba en su ayuda), pero si lo hacemos, las webs con HTTP2 dejan de funcionar en Internet Explorer:

plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"

Si por algunda de aquellas habéis ejecutado ese comando, para «deshacerlo», hay que irse editar el archivo:

/etc/nginx/conf.d/ssl.conf

El contenido original del archivo es este:

ssl_ciphers EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:CHACHA20:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

Plesk recomienda no tocar ese archivo, pero si no funciona, no nos queda otro remedio.

Para que coja estos cambios lo más sencillo y rápido es reiniciar el VPS. Así todos los servicios que lo leen cogen su nuevo contenido.

Optimizar NGINX para HTTP2

Para optimizar NGINX:

sudo nano /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;

 

HSTS en WordPress

OJO si queremos que el soporte HSTS de las instalaciones de WordPress funcione correctamente (y pase las validaciones de hstspreload.appspot.com/) hay que añadir esto al archivo .htaccess de cada WordPress (ver también esta entrada):

Habilitar HSTS sin tener que añadirlo en el archivo .htaccess

Añadir la línea:

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

 

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.

 

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.

Créditos imágenes: Shutterstock

Salir de la versión móvil