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.con
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
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)“