Instalación CWP

Instalación CWP Centos Web Panel en Centos7

Instalación CWP Centos Web Panel

Hola el día de hoy vamos a revisar como instalar CWP (Centos Web Panel) para todos aquellos que desean usar una maquina virtual, ya sea en Amazon, Google o Linode. En este caso esta guía te va a servir perfecto para usarse en un Linode, Google y Amazon requieren pequeños ajustes distintos, pero no tan complicados, aunque para eso estaré escribiendo en las próximas semanas tutoriales o guías al respecto.

El día de hoy queremos ver como instalar CWP de forma general, pero ¿para qué podemos usar CWP?.  Para aquellos no tan familiarizados, cuando uno contrata un host normalmente viene con un panel de administración, este es el afamado CPanel, que se ha vuelto el sistema más usado, el problema es que la licencia precisamente por la alta demanda es algo elevada. CWP es 100% gratis y las funciones «premium» que logramos gracias a CWP Pro tienen un costo muy económico, actualmente son 11 USDS anuales.

Mucha gente quizá prefiera instalar directamente Apache, Varnish, PHP, Mysql, etc. El problema de hacer todo manualmente no es solo que te tomará más tiempo, existen muchas configuraciones básicas de seguridad que podrías olvidar y que dejaran vulnerabilidades en el sistema. Estas vulnerabilidades pueden ser aprovechadas por spammers para enviar cientos de correos con xploits entre muchas otras cosas. Un sistema como CWP te permite comenzar desde un punto más seguro y además incrementar la seguridad de manera más práctica y fácil.

También en el caso de que vayas a hostear varios dominios te permite gracias a cgroups, administrar cuantos recursos consume cada cuenta o dominio, esto es súper útil cuando tenemos dominios que tienen una cantidad muy alta de tráfico mientras otros tienen muy baja demanda.

Requerimientos :

  1. Una instancia virtual con Centos7. (la que yo recomiendo). Aunque puedes usar Centos8 y otras distribuciones de linux, para ver esta información actualizada siempre puedes visitar esta liga (https://control-webpanel.com/installation-instructions)
  2. Una IP estática. Esto es muy importante, si tienes una IP que cambia ,por ejemplo, cada que reinicias la instancia, vas a quedarte sin acceso a la instancia.
  3. Preferentemente una instancia recien creada y completamente «nueva». Es decir, una instalación fresca de la distribución de Linux que elijas. En mi caso Centos7.
  4. Acceso SSH. Parece bastante obvio pero es importante para aquellos que no tienen tanta experiencia, todo lo harémos via SSH.
  5. Crear un hostname como srv.tudominio.com , ya que lo usaremos desde el dominio y desde CWP para instalar correctamente CWP y de hecho es el paso número 1 en las instrucciones oficiales de instalación.

Índice de pasos que vamos a seguir:

  1. Creación del hostname srv.tudominio.com
  2. Configurar el dominio para acceder a srv.tudominio.com
  3. Instalar Wget
  4. Descargar e Instalar CWP
  5. Convertir CWP a CWP Pro
  6. La configuración inicial recomendada
  7. Creando una cuenta para un dominio
  8. Configurando parametros de php-fpm

1. Creación del hostname srv.tudominio.com

Lo primero que necesitamos hacer claro es crear la instancia. Pero vamos a dar por hecho que haz creado una instancia en Centos7 (para este ejemplo) y que la tienes recien creada. Lo primero que necesitamos es configurar la instancia para poder instalar CWP y para eso necesitamos ingresar los parametros o indicar un hostname, para nuestra instancia.

Los valores aceptables para hostname incluyen:

Letras minúsculas de la a a la z
Números del 0 al 9
Puntos y guiones
Los nombres de host deben tener entre 2 y 63 caracteres
Los nombres de host deben comenzar y terminar con un número o letra

Una vez que ingreses a tu nueva instancia via SSH, debes ingresar en la terminal.

 hostnamectl set-hostname srv.tudominio.com

Por si no fuera obvio no olvides remplazar srv.tudominio.com por tu dominio real en uso.

Lo siguiente es verificar que ajustamos correctamente el hostname. Para ello usaremos el siguiente comando

hostnamectl

En tu terminal deberías de ver algo así.

hostname on centos

En el ejemplo anterior el nombre del host o hostname es «sofija.server» en el caso de tu dominio seguramente termine en .com , .net o algo parecido. En esta guía el hostname será «srv.tudominio.com»

Una vez que hemos verificado que el «static hostname» ha sido ajustado y muestra nuestro dominio tenemos que editar el archivo hosts de nuestro linux.

Editar el archivo /etc/hosts

Para editar este archivo desde la terminal ingresamos.

sudo vim /etc/hosts

En el editor de texto, busca la línea que comienza con 127.0.0.1 (la dirección IP que hace referencia al sistema en el que está trabajando). Debería leer:

127.0.0.1  localhost localhost.localdomain localhost 4 localhost4.localdomain4 old.hostname

Cambia old.hostname por el dominio que usaras para hostname «srv.tudominio.com» (en nuestro caso).

127.0.0.1  localhost localhost.localdomain localhost 4 localhost4.localdomain4 srv.tudominio.com

Guarda los cambios en el archivo y cierralo.

Es un buen momento para reiniciar la instancia por primera vez para que se propagen los cambios. Ingresa

reboot

2. Configurar el dominio para acceder a srv.tudominio.com

En este caso ya que la guía esta pensada para Linode, colocaremos en los Nameservers la información de Linode , en este caso sería algo como

ns1.linode.com
ns2.linode.com
ns3.linode.com

En mi caso y por seguridad recomiendo administrar los correos en Google Cloud, a mi me funciona excelente, pero puedes administrarlos desde CWP, en este segundo caso puedes saltarte esta configuración, si quieres administrar tus correos en Google Cloud, necesitas darlos de alta , en mi caso los registros MX se ven algo así como

ASPMX.L.GOOGLE.COM

Google te proporcionará los pasos para configurar tu dominio de forma correcta.

Y ahora la parte más importante, necesitamos crear srv.tudominio.com dentro de los registros del dominio «tudominio.com», así que lo haremos creando un registro A dentro del dominio.

Dentro de la sección A/AAAA Record de tu dominio hay que añadir un nuevo registro.

hostname : srv
I.P. Address: XX.XX.XX.XXX (aquí colocas la IP Fija de tu instancia)
TTL : Default

Listo, solo necesitas esperar un poco hasta 24 o 48 horas para que este cambio se propague.

3.Instalar Wget

Ahora que tenemos lista la configuración del dominio y nuestro hostname , vamos a instalar CWP, para eso regresamos a nuestra terminal y accedemos vía SSH a la instancia. Y una vez conectados ingresamos en la terminal.

yum -y install wget

Y a continuación vamos a actualizarlo a la última versión.

yum -y update

Es un buen momento para reiniciar de nuevo nuestra instancia. Ingresamos el comando para reiniciar la instancia:

reboot

¡Listo!, es hora de descargar e instalar Centos Web Panel.

4.Descargar e Instalar CWP

Lo primero que necesitamos es ir al directorio /usr/local/src, para esto ingresamos:

cd /usr/local/src

Una vez dentro de ese directorio descargamos CWP usando el siguiente comando.

wget https://centos-webpanel.com/cwp-el7-latest

Y una vez que termine la descarga, procedemos a instalar CWP usando el siguiente comando

sh cwp-el7-latest

¡Listo! una vez terminado este paso necesitas copiar y guardar la información donde CWP te entrega la contraseña del usuario root, también te dará la contraseña principal para Mysql así que copia esta información en un lugar seguro y guardala bien, es tu llave principal, no la pierdas.

Instalación CWP
Instalación CWP

Te comparto el video que ofrece CWP sobre esto por si tienes aún alguna duda :

5.Convertir CWP a CWP Pro

Para lograr convertir tu CWP a CWP Pro solo necesitamos comprar una licencia y asignarla a tu IP, esto lo puedes hacer ingresando a la siguiente dirección.

https://support.centos-webpanel.com/

Registra tu cuenta y accede , ya que hayas ingresado dentro del sistema ve a servicios (services) y ordenar nuevo sevicio (order new service)

menucwpsupport

Y en la sección de Licencias podrás encontrar la licencia de CWP Pro SIN SOPORTE ,con un costo de tan solo 11 USDs anuales.

cpwpro

Cuando compres la licencia te solicitarán el IP que quedará asignado a la licencia, usa el IP Fijo de tu instancia, y ten cuidado porque hasta donde yo se, no se permite cambiarlo después.

Ahora es tiempo de ingresar en tu nueva instancia que ya debe ser Pro.

Para esto puedes ingresar en «srv.tudominio.com:2031» y ahí puedes usar el usuario root y la contraseña que CWP te dio al finalizar la instalación.

Una vez dentro en el pie de página deberías de ver la leyenda de CWP Pro activado, esto es importante porque las mejores configuraciones están disponibles solo para CWP Pro.

cwpprobottom

En caso de que no veas esto , puedes usar el comando

sh /scripts/update_cwp

Este comando actualiza CWP y solo te recomiendo usarlo para que valide tu nueva licencia. Ya en otra oportunidad hablaremos sobre actualizar CWP de la mejor forma posible

6.La configuración inicial recomendada

Ahora necesitamos configurar nuestro sistema base, como muchos de mis clientes corren sus sitios en WordPress, normalmente yo uso la siguiente configuración, que además te resultará útil y compatible con cualquier aplicación en PHP , e incluso con aquellas que estén en REACT u otro lenguaje, solo que en el caso de REACT por ejemplo necesitas asignar ciertos puertos que no estén en uso y editar los VHOSTs, pero por ahora nos limitaremos a configurar todo para poder tener varias cuentas funcionando con el máximo rendimiento en WordPress (PHP).

Casi todas las configuraciones que nos interesan las podrás encontrar dentro de este menú.

webservermenu

En mi caso recomiendo usar Nginx & Varnish & Apache.  

Pero te recomiendo mucho ver este video para que puedas tener más claros algunos detalles, el video no tiene desperdicio y ayuda mucho

Como podemos ver también la configuración que ofrece un mejor rendimiento es sumar a la anterior PHP-FPM

Rendimiento configuraciones
Rendimiento configuraciones usando PHP-FPM

Es muy importante que selecciones la opción Force Apache to use PHP-FPM Selector, como se muestra a continuación.

phpfpmcwp

Una vez que terminamos este paso y damos click en «Guardar y reconstruir configuración» (Save & Rebuild Configuration) no debemos olvidar después de este paso reiniciar tanto PHP como los demás servicios, yo recomiendo hacer un reboot completo del sistema usando nuevamente.

reboot

7.Creando una cuenta para un dominio

Si quieres añadir más dominios a esta cuenta solo tienes que darlos de alta en linode en tu sección de dominios , apuntar el dominio hacía la instancia que tiene instalado CWP y en tu dominio apuntar los name servers hacía

ns1.linode.com
ns2.linode.com
ns3.linode.com

Esta es la configuración que a mi me parece más estable.

una vez configurado el dominio puedes ir en tu Panel de CWP al menú de «User Accounts» > «New Account»

usermenu listacc

Y ahí simplemente tienes que llenar los campos correspondientes. Encontrarás una sección donde te preguntará que «paquete» quieres elegir para esa cuenta, aquí puedes crear paquetes en la sección de «Packages»

paquetes

Ahí puedes crear los paquetes que te facilitarán el asignar una capacidad de procesos, espacio en disco duro, cuentas de correo, bases de datos en mysql y otros recursos a la hora de crear cada cuenta. En otro ejercicio veremos como asignar o designar cierto RAM y cierto volumen del procesador a cada cuenta. Eso se hace desde cGroups en CWP y es muy fácil, puedes encontrar este apartado en «Security» > «cGroups Resource limit».

Por ahora después de crear o modificar los paquetes que vienen por default puedes regresar a la sección de «New Account» y llenar todos los datos.

newaccount

Una vez que guardes los cambios y la nueva cuenta sea creada, copia todos los datos que te arroja como resultado CWP, entre ellos estará la contraseña y las instrucciones para ingresar al Panel de Control de cada cuenta, desde ahí tu cliente o el usuario de este dominio puede administrar su FTP, correos , etc, como lo haría desde CPanel en cualquier hospedaje normal.

8.Configurando parametros de php-fpm

Uno de los primeros problemas que enfrenté con esta configuración es que el archivo PHP ini que configura a cada versión de PHP no va colocado dentro de cada cuenta (como lo hacía normalmente). Para editar el archivo principal de configuración de PHP para cada versión general de PHP el archivo se encuentra en una ruta como la siguiente.

/opt/alt/php-fpm81/usr/php/php.ini

Para editarla puedes ir desde File Manager o puedes ingresar en WebServers Conf Editor

webservermenu

configcwp 1

También es posible crear una configuración para cada cuenta, si entramos en la pestaña que aparece en la imagen anterior en la carpeta /users/, solo tienes que crear el archivo .conf para el usuario al que quieres modificar.

Para modificar el parámetro de «memory_limit» en PHP que se hace de forma muy común necesitarías ingresar al final de ese archivo (ya sea el php-fpm.conf o el usuario.conf)

Aquí un ejemplo modificando algunos valores de PHP.

php_admin_value[memory_limit] = 512M
php_admin_value[post_max_size] = 15M
php_admin_value[upload_max_filesize] = 15M
php_admin_value[max_execution_time] = 6000

Y pues creo que por ahora eso debe servirte muchísimo para comenzar. Es la instalación completa de CWPanel y algunos de los tips en configuración principales que me hubiera gustado saber desde el día 1 que comencé a usar CWP.

Gracias amigos, ojalá les sea útil, hasta la próxima!

Actualización : Si deseas ver algunos detalles que necesitas configurar en tu Instancia Virtual dentro de Google Cloud y el entorno de Compute Engine, te recomendamos este nuevo artículo : Configurando Google Cloud para Centos Web Panel