Configurar servidor dedicado con WHM (Guía Completa y Video)

Hoy voy a enseñarte a montar tu propio VPS(Virtual Private Server) o Servidor dedicado. Desde hace ya un tiempo he decidido dejar atrás los shared hostings que si bien son muy sencillos de usar cuando empiezas en este mundillo solo sirven para tener webs con pocas visitas o pocos sitios web.

servidor-dedicado-problemas

Indice de contenidos

Desventajas de un hosting compartido

  • Recursos limitados
  • El funcionamiento de tu sitio web puede verse afectado por otros sitios web compartiendo el servidor.
  • Tendrás problemas en el largo plazo si tienes varios sitios y aumentan en visitas. No es ampliable.
  • Más problemas de seguridad por compartir ip.
  • Hay que aumentar las medidas de seguridad.
  • Soporte limitado.

Llegado un momento el proveedor del hosting os empezará a dar la lata con que consumís demasiados recursos y que el ecosistema del shared peligra.

En un shared suelen meter un porronazo de webs de otros usuarios y claro cada dominio solo debería consumir un 3% de CPU(por poner un ejemplo,  cuando empiezas a más visitas esto aumenta y además también aumentan los ataques a tus webs.

Si no conocéis a vuestros vecinos podéis descubrirlo metiendo vuestra ip o nombre de vuestro sitio web en http://www.yougetsignal.com/tools/web-sites-on-web-server/ o en http://spyonweb.com/. Estos vecinos pueden hacer que nuestros sitios web puedan ser perjudicados o funcionen más lentamente si no optimizan bien sus cms con los plugins óptimos y sistemas de caché.

De hecho pódeis ver a seorocket con 568 dominios más!!!!

dominios-misma-ip

Dentro de poco estaré en una ip aislado pero de momento no es necesario.

Ventajas de un VPS

  • Para empezar podremos soportar muchas más visitas, podemos empezar con un VPS normalillo e ir midiendo los crecimientos de nuestra red para ir subiendo en los planes de vps o directamente pasarnos a los servidores dedicados.
  • No tendremos vecinos que puedan perjudicarnos de alguna u otra forma.
  • Podremos tener nuestros sitios webs con ips distinas con todo el beneficio que eso puede conllevar para algún plan maléfico de linkbuilding. Muhahahahhahaha.
  • Puedes configurar cualquier cosa en el servidor, con un shared tienes una configuración pre-establecida.
  • Aumentar o bajar de plan según necesidades.
  • Más espacio y ancho de banda.
  • Capacidad para alojar más sitios webs.

¿Cuándo pasar de un alojamiento compartido a un VPS?

diferencias-servidor-compartido-VPS

Deberías cambiar tu alojamiento compartido por un VPS si:

  • Tu sitio web está consumiendo todos tus recursos.
  • Tu sitio web está consumiendo muchos recursos de CPU y RAM.
  • Quieres tener más control sobre el servidor.
  • Si vas a enviar más correos electrónicos.
  • Si quieres ampliar el nivel de rendimiento existente.

VPS vs Servidor Dedicado

diferencias-vps-Servidor-Dedicado

EL VPS no deja deja de ser un servicio compartido aunque no tan bestia como los hostings compartidos y tenemos algo más de control sobre nuestro pedazo de servidor privado virtual.

que-es-un-vps

Ventajas de un servidor dedicado

  1. No compartes recursos, por lo tanto tus sitios web estarán más seguros e irán más rápidos.
  2. El mantenimiento del servidor dedicado puede llevarlo la propia empresa proveedora, fíjate a la hora de contratarlo si pone “administrado” o “no administrado”.
  3. Podrás alojar sitios web con muchas visitas y con una necesidad de seguridad mayor.

 

Entrando por primera vez al VPS o servidor dedicado

Tu proveedor te enviará dos urls al contratar el VPS:

  • Url del manager
  • Url del WHM/cPanel

Lo primero que nos darán es el acceso al manager, en mi caso OVH tiene el siguiente panel. Ahí veremos lo que tenemos contratado y poco más. Este panel solo es a nivel proveedor para contratar más servicios. Aquí contrataremos más IPs.

manager-ovh

Pero ya digo este panel es meramente con el proveedor para comprar el VPS, un dedicado o IPS.

¡Ojo! Disponer de una “interfaz” sencilla para manejar el VPS o el dedicado tiene un coste mensual de 9.99$. Si aprendéis a hacerlo todo sin panel será más barato todo. Yo lo pago porque paso de ponerme a aprender a ser un sysadmin. Si lo quisiera lo haría porque no creo que sea complicado al ser informático pero para alguien sin conocimientos puede ser la muerte…

Entrando al cPanel WHM

La primera vez que entremos tendremos una pantalla con lo siguiente:

instalar-vps-paso-1

Debemos aceptar los términos y condiciones en la parte inferior.

En el paso 2 configuramos el email de contacto…

instalar-vps-paso-2

…y abajo normalmente va venir todo configurado, en mi caso creo que solo me traía el server hostname. Si no viene el Primary resolver y el secondary resolver debéis solicitarlos al proveedor o consultarlos en el panel del manager. No son más que las DNS a las que responde el vps.

instalar-vps-paso-3

Después pasaremos al paso 3 en el que no haremos nada.

instalar-vps-paso-4

En el paso 4 viene todo configurado.

instalar-vps-paso-5

Nos vamos a la parte inferior y pulsamos en Save & go to Step 5. Veréis que empieza a hacer cositas:

instalar-vps-paso-6

Cuando acabe estaremos en el paso 5:

instalar-vps-paso-7

Yo paso palabra y guardo. Llegamos por fin al ansiado paso 6:

instalar-vps-paso-8

Finalizamos sin cambiar nada.

Después de eso os intentarán colar alguna funcionalidad pero las desmarcamos todas.

instalar-vps-paso-9

Salvamos y por fin veremos el panel de WHM con el que tendremos cpanel para cada dominio.

panel-whm-vps

La primera vez que vi este panel flipé en colores. Pero con los pasos que os voy a dar es un juego de niños. Si estabas acostumbrado al Cpanel habrás pensado ¿Y esto que cojones es? Pues es WHM que es donde crearas los cpanel para cada dominio y entonces si podrás trabajar igual que lo hacías en un hosting normal con cpanel.

Esto te serviría realmente para vender hosting, a cada usuario le asignarías unos recursos y con la URL de su cpanel ya podría operar 🙂 también es una buena forma de cobrarle a un cliente por alojarle su sitio web en tu VPS.

Añadir nuestro primer dominio a WHM/cPanel

Antes de añadir un dominio deberemos crear un paquete, pensad que esto es como si vosotros fuerais un reseller. Debéis crear paquetes delimitando los recursos del hosting final.

WHM >> Packages >> Add a Package

Yo he creado un paquete único sin limitaciones, pero en caso de que tengáis clientes pódeis limitarle todo.

whm-cpanel-crear-paquetes

whm-cpanel-package

Hay más opciones que no salen en las capturas, configuradlo como creais conveniente. Ahora crearemos el hosting ¡POR FIN!

Añadir dominios al WHM/cPanel

WHM >> ACCOUNT FUNCTIONS >> CREATE A NEW ACCOUNT

Aquí añadiremos el dominio a WHM y lo configuraremos con un package creado anteriormente que definirá los recursos que podrá usar.

crear-dominio-whm-cpanel

Arriba rellenamos los datos del dominio y en la captura de abajo el paquete que usará y la configuración del cpanel.

configurar-dominio-whm

No hay que configurar nada más, el resto lo dejamos como está y salvamos. Ahora podremos ver todos nuestros dominios en WHM >> Account Information >> List accounts.

 

Añadir una nueva IP a WHM/cPanel

Previamente debemos comprar las ips si queremos tener distintas en nuestro proveedor y después iremos al WHM y con la ip ya comprada la daremos de alta en el sistema desde IP Functions >> Add new IP.

anadir-ip-whm-cpanel

Añadimos la IP y dejamos el resto como está. Fácil.

Crear DNS para los dominios en WHM

¿Cansado? Jejeje la vida del sysadmin es dura como la picha del rey. Ahora debemos crear las DNS del hosting, en un hosting contratado esto te lo dan y solo tienes configurarlo en tu proveedor de dominios.

WHM >> DNS FUNCTIONS >> ADD A DNS ZONE

añadir dns en whm cpanel

Añadimos el dominio y la ip correspondiente y al guardar vamos a:

WHM >> DNS FUNCTIONS >> EDIT DNS ZONE

En las líneas que pone NS es donde le pondremos el nombre de la DNS, en la imagen inferior es como estaría al no estar configurado.

configurar dns dominio whm

Debemos ponerlo así:

editar dns whm

¡MUY IMPORTANTE! el punto al final del dominio, en en este caso ns1.dominiodeprueba.net. <- ¡Sin el punto no funcionará!

Más abajo vemos que pone “Add New Entries Below this Line”:

configurar-dns-whm-cpanelPues bien aquí lo configuraremos de la siguiente forma; elegiremos donde pone Select la opción A y pondremos la ip del dominio y a la izquierda las dns con el . al final.

La configuración completa quedaría así:

configuracion-dns-dominio-whm-cpanel

Con esto le estamos diciendo que las dns que hemos creado respondan a esas ips. Ahora solo tenemos que ir a nuestro proveedor de dominios y configurar el dominio con estas dns para que apunte a este hosting.

Creando un hosting con cPanel en WHM

WHM >> Account Information >> List accounts

Aquí por fin veremos todas nuestras cuentas creadas y el acceso al cPanel para cada dominio. Voilá! Ya podemos acceder con cPanel como lo hacíamos antes desde cualquier hosting contratado.

Posibles errores iniciales en WHM/cPanel al migrar un sitio web

De primeras sin configurar el WHM he tenido problemas con un sitio web al pasarlo del shared hosting al vps. Daba continuamente errores de conexión con la base de datos. En concreto los errores eran estos:

Error estableciendo una conexión con la base de datos

error-inodb

Si me iba al /wp-admin/ conseguía acceder a esta pantalla en la que dice:

error-inodb2

Y accedía a la pantalla que ves abajo.

error-inodb3

Pero no conseguía reparar  la base de datos.

error-inodb4

El problema es que la base de datos del sitio tiene tablas del tipo innodb e ISAM y esto provocaba errores. Investigando el tema decían que podría no estar activo innodb en el VPS pero lo comprobé y estaba así que opté por la solución fácil que todo informático haría: Reiniciar el servicio MySQL.

error-inodb5

Y voilá! funcionó. La web se podía ver perfectamente pero con caracteres extraños y warnings en la cabecera.

Caracteres extraños y warnings en WordPress

Algo que hay que hacer sí o si al migrar un sitio web es desconectar la caché y forzar una generación del sitio de nuevo. Así que si tenéis un sistema de cachés tipo wp caché o similar lo desactiváis y entráis en la web. Se mostrará todo correctamente.

Si teníais activa la caché cuando exportaseis los archivos y la base de datos vais a ver warnings en la cabecera de la página y no os va dejar entrar en wp-admin. El error que muestra es algo así:

Warning: include(/xxx/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /xxx/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Para solucinar esto debéis ir a los archivos mediante el cPanel. Esto se puede hacer con el administrador de archivos o entrando con un gestor FTP a la raíz del dominio. Allí estará el archivo wp-config.

Debemos comentar las siguientes líneas:

define(‘WP_CACHE’, true);
define( ‘WPCACHEHOME’, ‘/ruta de vuestro server/wp-content/plugins/wp-super-cache/’ );

Simplemente lo ponéis así:

//define(‘WP_CACHE’, true);
//define( ‘WPCACHEHOME’, ‘/ruta de vuestro server/wp-content/plugins/wp-super-cache/’ );

Y ahora si podréis entrar en wp-admin, borrar la caché y restablecer el sistema de caché.

Si tenéis otro sistema de caché la idea es la misma, quitarlo del wp-config para que cargue la web normal y corriente.

Fatal error: Allowed memory size

Otro error que se produce con frecuencia en los wordpress:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in /home/xyz/public_html/abc/tuv/wp-includes/kses.php(1005) : runtime-created function on line 1

Este es fácil de arreglar, tendréis que ir de nuevo al wp-config.php y meterle una línea a mayores.

define( ‘WP_MEMORY_LIMIT’, ‘128M’ );

 

Aumentar la memoria desde el propio servidor

Puede que aumentéis la memoria en el wp-config de cada web y que siga fallando. Esto se debe a que la configuración general de php en el servidor tiene memoria 32M por defecto.

Debéis ir a WHM > Service configuration > PHP Configuration Editor

aumentar-memoria-php-whm-cpanel

En la imagen superior es donde debéis cambiarlo. Después de eso no habrá problemas.

Fatal error: Class ‘ZipArchive’ not found

Este error también lo puede dar si alguna de vuestras webs necesita que esto esté activado en el servidor. El zip hay que activarlo en apache por lo tanto iremos a:

WHM > Software > Easy Apache

Dejamos que cargue todo y entramos en la rosquilla indicada en amarillo.

configurar-easy-apache-whm

Siguiente…

configurar-easy-apache-whm-2

Siguiente en la siguiente pantalla y después veremos un listado como este:

configurar-easy-apache-whm-exhaustive-options
Vamos a las opciones exhaustivas y llegaremos al sitio donde se habilita el zip archive para Apache.

activar-zip-archive-apache

Lo marcamos y abajo de todo Save and Build. Confirmamos y empezará  a hacer el proceso que durará unos minutos. Luego podéis reiniciar el servidor por si las moscas para que pille bien el cambio. Ahora el wordpress no os dará ese aviso.

Out of memory: The process “php” was terminated

Pero aquí no acaban los problemas, después de estas optimizaciones se me caía el sitio web cada cierto tiempo dando e nuevo el error de “Error estableciendo una conexión con la base de datos”.

El error que me llegaba al correo del VPS era el siguiente:

Out of memory: The process “php” was terminated because the system is low on memory.

In order to avoid a system crash due to low memory, the kernel terminated the process named “php” with the process ID “20422”.

Lo de arriba viene a decirnos que se ha terminado un proceso que se estaba comiendo la memoria. El proceso es el siguiente:

/usr/local/cpanel/3rdparty/perl/514/bin/spamd –daemonize –max-spare=1 –max-children=3 –allowed-ips=127.0.0.1 –pidfile=/var/run/spamd.pid -i127.0.0.1

 

Investigando dsscubrí que spamd.pid es un proceso de Eximstats…

Como desactivar Eximstats en WHM/cPanel

Eximstats parsea los logs de exim y los ficheros syslog para mostrar un análisis estadístico de los mensajes procesados. Por defecto se genera un texto con el análisis. Eximstats consume muchísimos recursos haciendo muchas veces que los sitios se caigan o que den errores en base de datos.

Si quieres desactivar Eximstat en WHM/cPanel debes seguir los siguientes pasos:

Eximstats almacena estadísticas en MySQL y después de un tiempo la base de datos puede crecer monstruosamente y satura el servicio MySQL provocando errores en los sitios web que usan las conexiones a base de datos. También usa más CPU y memoria lo que lastrará nuestro servidor.

Pasos para desactivar Eximstats en WHM/Cpanel :

  • Loguearse en WHM
  • Ir a Service Configuration y dentro a Service Manager
  • En la opción tailwatchd
  • Desactiva Eximstats

Guarda los cambios y Eximstats quedará deshabilitado. Habrás acabado con un  problema gordo.

Optimizar WHM/cPanel en un VPS o servidor dedicado

Si tenemos un VPS o un servidor dedicado  con WHM/cPanel debemos tenerlo bien optimizado para que no consuma recursos de más y que además sea seguro. La versión con la que estoy trabajando actualmente es WHM 11.52.2 pero las configuraciones que veremos están disponibles en todas las versiones.

Antes de nada debéis tener muy claro que váis a necesitar en vuestro vps o servidor dedicado, yo por ejemplo no uso herramientas de correo ni los análisis de datos que nos puede proporcionar WHM ya que estoy usando Google Analytics. Con esto consigo ahorrar memoria.

Lo que os presento a continuación son parámetros que podeis configurar según lo que necesitéis, usadlo en consecuencia:

WHM >> Server Configuration >> Tweak Settings

Seleccionamos la opción MAIL.

whm tweak settings

  1. Initial default/catch-all forwarder destination. Lo ponemos en modo “FAIL“, es la opción ideal si nos hacen ataques por correo electrónico.
  2. Discard FormMail-clone message with bcc: Lo ponemos en “ON“.
  3. Maximum percentage of failed or deferred messages a domain may send per hour. 300% es una buena cifra.
  4. Enable BoxTrapper spam trap. OFF si no usamos correo.
  5. Enable Horde Webmail. OFF si no usamos correo.
  6. Enable Mailman mailing lists. OFF si no usamos correo.
  7. Enable Roundcube webmail. OFF si no usamos correo.
  8. Enable Apache SpamAssassin™ spam filter. OFF si no usamos correo.
  9. Enable SquirrelMail webmail. OFF si no usamos correo.

Ahora vamos a la opción SYSTEM.

whm tweak settings system

  1. Use cPanel® jailshell by default . Lo ponemos en ON.
  2. Conserve memory. Esto hará que se consuma menos memoria.

Ahora nos vamos a la opción “Stats Programs“, aquí creo que a todo el mundo le servirá con desactivar todo porque este trabajo ya lo hace Google Analytics.

tweak settings stats

WHM >> Security Center

  1. PHP open_basedir Tweak:  Activamos la protección para prevenir al usuario de abrir cualquier fichero fuera de la home con php.
  2. Shell Fork Bomb Protection: No permite que un usuario pueda usar todos los recursos del servidor a través de ssh. Esta opción activada consume bastantes recursos.
  3. Compiler Access: desactivamos los compiladores c/c++, muchos exploits los usan así que un problema menos.
  4. cPHulk Brute Force Protection: activalo para evitar ataques de fuerza bruta al cPanel.
  5. Host Access Control: Si te interesa tener acceso al server solo desde una IP lo puedes activar.
  6. Password Strength Configuration: mínimo debe estar a 50 para que exija contraseñas seguras.

WHM >> Service Configuration >> FTP Server Configuration

Aquí vamos a desactivar conexiones y subidas de archivos para cuentas anónimas:

whm ftp server configuration

WHM>>Account functions >> Manage Shell Access

Si no váis acceder mediante shell desactivadlo. En caso de querer algún acceso de este tipo pódeis activar Jailed Shell.

WHM >> SQL Services >> MySQL Root Password

Cambia la contraseña root del MySql ya que viene con una contraseña por defecto. No uses carácteres(* o . ) en la contraseña ya qye MySQL puede dejar de funcionar.

WHM >> System Health >> Background Process Killer

Este es un proceso que se ejecuta continuamente para matar procesos maliciosos. Marcalos todos y salva.

WHM >> Service Configuration >> Service Manager

Lo que hemos desactivado en Tweak Settings debe desactivarse aquí como puede ser el caso de:

  • Mailman
  • Spamid
  • Eximstats

WHM >> Backup >> Configure Backup

Aquí podemos guardar un backup de toda la cuenta, recordad revisar el espacio que tenéis en el disco duro para no saturar esto. Como mucho hacer un backup semanal.

WHM >> cPanel >> Manage Plugins

Aquí puedes instalar el antivirus ClamAV, pensado para si tienes clientes en el VPS que puedan instalar software malicioso. Si solo lo vas usar para tus webs no lo actives, consume bastantes recursos.

Aumentar el tamaño de subida de los SQL en PhPmyadmin

Esta es una incidencia que os va ocurrir casi seguro cuando intentéis subir la base de datos con un fichero sql de más de 50MB desde PhpMyAdmin en el propio cPanel del dominio en cuestión.

importar-sql-cpanel-phpmyadmin

Solo tenemos que ir a WHM >> Tweak Settings y buscar a la derecha de todo “upload” y “post”.

tweak-max-upload-size-cpanel

Aumentamos la capacidad para subir ficheros de más de 50MB.

tweak-post-size-cpanel

Y ya podemos aprovechar y permitir por POST ficheros más grandes también.

Con esta configuración ya podréis, desde cada cPanel de cada dominio, subir ficheros más grandes.

Video para saber configurar cPanel

Si aún te quedan dudas aquí os dejo un videotutorial muy completo.

 

Donde comprar licencias de cPanel WHM más baratas

Después de comparar precios en la página oficial de cpanel y en otros distribuidores he descubierto que comprar licencias de cpanel es más barato en cualquier distribuidor de licencias. En un plan anual para dedicado o vps suele salir por unos 50 euros más barato. Entre ellos podemos encontrar a buycpanel.com.

Esto ha sido todo, puede que este post sea actualizado con más incidencias y errores que se puedan producir en un futuro pero hasta ahora esto es con lo que he trasteado. Espero que os sirva!

Si te ha servido para resolver algún problema o lanzarte de lleno con los vps o hostings no dudes en compartir, me estarás dando ánimos para compartir más contenidos útiles.

 

 

¿Te ha gustado?
¿Quieres recibir todos mis experimentos y trucos sobre SEO y Marketing Online directamente en tu mail?

Recibirás trucos, links, videos y técnicas extras a tu correo.

26 Comments
  1. febrero 25, 2016
    • febrero 28, 2016
    • agosto 10, 2016
      • agosto 12, 2016
      • agosto 21, 2016
  2. agosto 10, 2016
    • agosto 21, 2016
      • agosto 22, 2016
        • septiembre 6, 2016
  3. octubre 30, 2016
    • noviembre 3, 2016
  4. enero 15, 2017
    • enero 15, 2017
  5. febrero 3, 2017
    • febrero 3, 2017
  6. febrero 17, 2017
    • febrero 22, 2017
  7. febrero 23, 2017
    • febrero 23, 2017
  8. marzo 30, 2017
    • abril 3, 2017
  9. marzo 31, 2017
    • abril 3, 2017
  10. abril 11, 2017
  11. agosto 13, 2017
    • agosto 16, 2017

Comentar

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