CREAR UN SERVIDOR WEB CASERO DESDE CERO

Buenos días comunidad, hoy me he levantado dando un salto mortal, dondo volteretas he llegado al baño, como diria los hombres G para empezar un nuevo post cargado de un contenido muy interesante.

Me he propuesto darle una segunda vida  a mi viejo dual core y he pensado en convertirlo en un servidor web, con todo lujo de detallas. 

FASE I 

Instalar un servidor web en Linux (CentOS 7)

Para empezar he elegido Centos  7 ( Compatible con whm y cpanel ) como sistema operativo de mi servidor:

Descargamos centos 7 desde: http://www.centos.org

el link es: http://mirror.tedra.es/CentOS/7.8.2003/isos/x86_64/

Para instalar centos lo he puesto en un lápiz usb con UNetbootin

el link es: http://unetbootin.sourceforge.net/unetbootin-windows-latest.exe

Fase 2 Configuración inicial del servidor LINUX

Un consejo, aunque creas que eres un experto de la informática y un gurú de los sistemas Linux, acostumbrate a hacer copias de los los archivos que vayas a modificar un simple (cp) te puede ahorrar mucho tiempo.

Partimos de la idea que ya tenemos una máquina física o virtual instalada con lo mínimo, y con la tarjeta de red configurada y con conexión a internet. En este caso es una distribución Linux con CentOS 7 de 64 bits, que instalamos a partir de la ISO Minimal: CentOS-7-x86_64-Minimal-1503-01.iso

Nuestro servidor será un servidor de desarrollo por lo que dejaremos un poco relajado el tema de la seguridad con:

Linux + Apache + MySQL+ PHP = LAMP

También vamos a suponer que estamos trabajando con el usuario root.

Que sabemos cual es la dirección de nuestra máquina (ip addr).

Lo primero que vamos a hacer es actualizar el sistema:

  • yum update

Luego instalaremos algunas herramientas básicas que utilizaremos:

  • yum install nano (a no ser que seas un fanático del vi)
  • yum install ftp
  • yum install wget

Instalación de Apache, en nuestro servidor web.

Y ahora empezamos con la instalación propiamente dicha, lo primero será instalar el servidor web Apache:

  • yum install httpd

 

systemctl start httpd.service
systemctl enable httpd.service

Ahora comprobamos que el Apache está funcionando:

Pantalla de bienvenida a Apache

Sino funciona puede que se tenga activado el FirewallD (el sustituto de iptables creado por la gente de Fedora), para abrir el puerto del firewall tendremos que ejecutar:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Ahora instalamos el lenguaje de scripts PHP:

yum -y install php

Reiniciamos el Apache para que soporte ahora PHP con la siguiente instrucción:

systemctl restart httpd.service

Y ahora creamos una pequeña página web en php.

con el editor «nano»:

nano /var/www/html/probando.php

creando una pagina en php

Comprobamos su funcionamiento en un navegador:

Comprobando funcionamiento de PHP

Instalamos ahora los módulos de PHP que nos permitirán conectarnos a una base de datos MySQL.

yum -y install php-mysql

Instalamos algunos módulos de seguridad y utiles de PHP:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
 

Comprobamos que se han instalado los módulos con la instrucción:

php -m

Si queremos ver donde se ubican los ficheros de configuración de PHP:

php --ini

Algunos parámetros que se suelen modificar del fichero «/etc/php.ini» son:

post_max_size = 50M
upload_max_filesize = 100M

Reiniciamos nuevamente Apache para que funcionen los nuevos módulos

systemctl restart httpd.service

Instalación de la última versión de PHP

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

 

Instalación de MySQL en CentOS 7.

CentOS 7 no incluye MySQL en su repositorio en su lugar utiliza MariaDB, así que si queremos forzar la instalación de MySQL deberos descargarlo nosotros previamente

En la página web http://repo.mysql.com/ podemos ver la última versión de MySQL, en estos momentos la última release es la 7-7, por lo que nuestro comando será:

 
wget http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm

instalacion mysql community

Luego procedemos a la instalacion del paquete en el repositorio:

rpm -ivh mysql-community-release-el7-7.noarch.rpm

Si hacemos:

ls -1 /etc/yum.repos.d/mysql-community*

ls -1 /etc/yum.repos.d/mysql-community*

AHORA ya podemos instalar los 80 Mb de MySQL:

yum install mysql-server

Una vez terminada la instalación debemos arrancar el servicio:

systemctl start mysqld

Configuración de MySQL

Primero tratamos el tema de seguridad de la cuenta «root»

mysql_secure_installation

La clave por defecto está en blanco, así que lo primero será crear una clave para el root, luego vendrán una serie de preguntas de seguridad por si queremos conectarnos desde el exterior, etc.

Si tenemos activado el FirewallD y queremos acceder a MySQL desde el exterior debemos abrir el puerto de MySQL:

 
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --zone=public --add-port=3306/tcp 

Si queremos que root pueda conectarse desde otros equipos:

mysql -u root -p
grant all on *.* to root@'%' identified by 'contraseña_que_sea';
flush privileges;

Permitir conexión root desde exterior

Instalación de PHPMyAdmin

Utilizaremos este software para administrar la base de datos MySQL. Los repositorios por defecto de CentOS no incluyen PHPMyAdmin así que lo primero que haremos es incluir el repositorio que si lo incluye http://pkgs.repoforge.org/rpmforge-release/ (miramos cual es el último):

rpm -iUvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum -y update
yum install phpmyadmin
 

Ahora la segunda parte sería poder acceder al phpMyAdmin desde un ordenador externo para ello hay que editar el archivo:

nano /etc/httpd/conf.d/phpMyAdmin.conf

y añadir las de bajo de las «Require ip 127.0.0.1»

Require ip 

Luego nuevamente reiniciamos el sistema:

systemctl restart httpd.service

Descarga directa de phpMyAdmin

Si no queremos modificar nuestro repositorio de paquetes y queremos descargar directamente PHPMyAdmin:

wget https://files.phpmyadmin.net/phpMyAdmin/4.5.5.1/phpMyAdmin-4.5.5.1-all-languages.tar.gz
tar -xzvf phpMyAdmin-4.5.5.1-all-languages.tar.gz
 

Nos creará una carpeta con todo el código de phpMyadmin.

Creando un directorio para un dominio

Una vez tenemos montado el servidor lo que nos interesa es alojar distintos dominio en el mismo para ello vamos a configurar Apache:

El directorio donde es aconsejable guardar todas las web será:

  • /var/www/html/

A partir de aquí podemos ir creando carpetas para cada web, luego tendremos que configurar los vhosts de Apache.

Permisos para apache:

las carpetas y archivos deben tener permisos de lectura para el usuario apache

Soluciones: pones todo como propietario a apache o bien aplicas los permisos correspondientes para resto de usuarios que no son el propietario:

chown -R apache:apache ./la_carpeta_que_sea
chmod -R 755 ./la_carpeta_que_seafas

FASE 3

Para el paso siguiente que es instalar whm y cpanel necesitamos primero desinstalar Maria DB e instalar MYSQL.

Estos son los pasos que hemos seguido para tal propósito.

Estos pasos funcionan en CentOS 6.5, por lo que también deberían funcionar en CentOS 7:

  1. yum remove mariadb mariadb-server
  2. rm -rf /var/lib/mysqlSi su datadir en /etc/my.cnf apunta a un directorio diferente, elimine ese directorio en lugar de / var / lib / mysql
  3. rm /etc/my.cnf
  4. Paso opcional: rm ~/.my.cnf
  5. yum install mariadb mariadb-server

EDITAR ] – Actualización para MariaDB 10.1 en CentOS 7

Los pasos anteriores funcionaron para CentOS 6.5 y MariaDB 10.

Acabo de instalar MariaDB 10.1 en CentOS 7 y algunos de los pasos son ligeramente diferentes.

El paso 1 se convertiría en:

yum remove MariaDB-server MariaDB-client

El paso 5 se convertiría en:

yum install MariaDB-server MariaDB-client

Los otros pasos siguen siendo los mismos.

FASE 4

Como instalar cPanel & WHM en CentOS o CloudLinux

cPanel y WHM se han convertido en una de las herramientas para la gestión de hosting para sitios web más usadas, cPanel es un panel de control de hosting muy estable y WHM es un panel de control para administradores de servidores que nos permite controlar bastante bien cualquier servidor dedicado o servidor VPS donde esté instalado cPanel.

Tanto cPanel como WHM son dos herramientas únicas, que además se complementan perfectamente con sistemas como CloudLinux, consiguiendo servidores muy estables a la hora de poder ofrecer un servicio de hosting compartido o hosting reseller de calidad para distintos perfiles de clientes.

instalar cpanelA pesar de que cPanel es un panel de control muy avanzado y que WHM tiene muchísimas herramientas, su instalación no es muy compleja, podemos instalar cPanel y WHM (siempre van juntos) sobre cualquier servidor dedicado o servidor VPS que tenga como sistema operativo CentOSCloudLinux o RedHat (RHEL).

En el momento de escribir este artículo, el instalador de cPanel es compatible con las versiones 6 y 7 de CentOSCloudLinux y RedHat (RHEL).

El sistema de instalación básico de cPanel es simple, apenas debemos seguir un asistente desde el terminal de Linux y posteriormente otro asistente directamente desde el navegador usando para acceder la dirección IP del servidor donde estamos instalando cPanel.

 

Requisitos para instalar cPanel & WHM

Como hemos dicho anteriormente, podemos instalar cPanel y WHM en cualquier servidor dedicado o servidor VPS que tenga como sistema operativo CentOSCloudLinux o RedHat (RHEL), tanto en su versión 6 como en su versión 7.

A nivel hardware cPanel no necesita demasiados recursos, pero debemos tener en cuenta que estamos instalando un stack completo de servicios en un servidor web, y esto quiere decir que las webs alojadas en el servidor van a necesitar los recursos para funcionar, si no hay recursos, vamos a tener problemas.

instalar cpanel¿Qué quiero decir con esto? Que aunque según la documentación oficial de cPanel, podemos instalarlo en un servidor con 226 Mhz de frecuencia de CPU y 768 MB de RAM, con estos recursos solo podremos instalarlo, no podremos alojar ninguna web porque los servicios como ApacheMySQL y PHP no van a ejecutarse correctamente y nos darán bastantes problemas.

En principio lo que recomendamos nosotros como MINIMO para tener un servidor cPanel totalmente funcional con todos los servicios funcionando perfectamente son estos:

  • 2 GB de memoria RAM.
  • 1 núcleo de CPU (al menos a 2 Ghz).
  • 20 GB de disco duro HDD o SSD.
  • CentOS 6 o CentOS 7, pero de 64 bits.

Con estos requisitos cumplidos, nuestro cPanel debería ir bien, y podemos empezar a hablar de alojar sitios web, pero ten en cuenta que cuanto más tráfico tengan los sitios web que alojes en tu servidor, más recursos necesitará tu servidor para funcionar correctamente.

 

Como instalar cPanel en CentOS

Antes de nada, vamos a soportar esta guía de instalación con un vídeo de como instalar cPanel & WHM en un servidor CentOS 7, ya que creo que el simple hecho de ver la facilidad con la que podemos instalar cPanel ya sirve para darse cuenta de que el proceso no tiene ninguna dificultar (eso no quiere decir que su configuración posterior sea fácil, si necesitas ayuda para configurar cPanel después de su instalación, contacta con nosotros).

Ahora que has visto el vídeo, vamos a seguir el proceso en formato guía escrita, vamos a empezar entrando por SSH al servidor donde vamos a instalar cPanel y WHM, para ello usamos nuestro cliente SSH habitual, yo en este caso estoy en Windows, y voy a usar Putty, pero en Linux o Mac podemos usar perfectamente el terminal de Linux o de Mac con el comando “ssh”.

instalar cpanel & whm(El terminal SSH que ves pertenece a uno de nuestros servidores VPS, concretamente a un VPS 2 SSD con CentOS 7).

Empezamos el trabajo actualizando el sistema operativo, ya que normalmente salen bastantes actualizaciones que nos ayudaran a mantener nuestro sistema optimizado, seguro y estable.

Para actualizar un CentOS usamos el siguiente comando:

Y podremos ver como empieza la actualización, debemos esperar a que acabe para continuar con el proceso:

instalar whmAhora vamos a empezar con el proceso de instalación en sí, para ello vamos a ejecutar un comando en la terminal de Linux a la que estamos conectados por SSH.

Como puedes ver en los comandos anteriores, primero nos movemos a la carpeta /home/ para descargarnos ahí el script de instalación y posteriormente descargamos el script de instalación de cPanel con WGET.

Y finalmente ejecutamos el instalador (script que acabamos de descargar) usando el siguiente comando en la carpeta actual:

Y con esto comenzara la instalación de cPanel y WHM en nuestro servidor.

whm cpanelAlgo que debemos tener en cuenta es que cPanel compila muchos paquetes durante su instalación, por lo que la instalación necesita bastante potencia de CPU y puede tardar más o menos tiempo dependiendo de los recursos disponibles en el servidor y de la potencia de CPU que tenga.
Normalmente, podemos tener 30 minutos de espera, pero si los recursos de la maquina están más limitados podemos llegar a estar esperando 1 hora o más.

Cuando termine de trabajar el script de instalación de cPanel, podremos ver algo similar a esto en el terminal SSH:

whm cpanelEsto quiere decir que la instalación ha acabado, y que debemos empezar el asistente de configuración inicial.
Lo primero que vamos a hacer es reiniciar el servidor usando el comando siguiente:

Esto lo hacemos simplemente por si el instalador ha tenido que cambiar la versión del kernel o similar, ya que con esto se aplicaran ciertos cambios que sin reiniciar sería imposible aplicar.

El asistente de configuración inicial se realiza mediante el navegador web del ordenador sobre el que estamos trabajando, para ello debemos poner en la barra de navegación la dirección IP del servidor donde acabamos de instalar cPanel y posteriormente ponemos el puerto :2087, si el servidor está bien instalado y no hubo ningún error, nos redigira directamente a una pantalla del navegador como esta:

instalar cpanel

 

NOTA: OJO, SI nos lleva a una pantalla como esta:

cpanel installDebemos ejecutar el siguiente comando con el fin de parar el firewall por defecto de CentOS 7, CloudLinux 7 o RHEL 7:

Con esto desactivaremos IPTABLES, las volveremos a activar posteriormente tras reconfigurar el firewall del sistema operativo.
Sin esto no podremos acceder a través del puerto 2087 (WHM) ni tampoco del 2083 (cPanel).

En la pantalla que mencionamos antes en la foto:

instalar cpanelDebemos entrar con los datos de ROOT que hemos usado para entrar al servidor por terminal SSH.

 

Step 1: AGREEMENT

Una vez que nos autentificamos con los datos correctos, podremos ver algo similar a esto, un asistente de 6 pasos para realizar la configuración inicial del sistema cPanel:

como instalar cpanelEn la pantalla anterior, lo primero que debemos hacer es aceptar la licencia, para ello simplemente debemos pulsar sobre el botón azul “I Agree/Go to Step 2” que hemos rodeado con un cuadro rojo en la imagen anterior.

 

Step 2: SETUP NETWORKING

En la siguiente pantalla del asistente (paso 2):

instalar cpanelDebemos rellenar los cuadros o bloques con los datos correspondientes, algunos datos son obligatorios pero otros muchos no.

Del bloque “Contact Information” solo tenemos que rellenar obligatoriamente el campo “Server Contact Email Address”:

cpanel whmEn el siguiente bloque, llamado “Hostname” sí que es necesario rellenar el único dato que nos pide, el hostname del servidor:

cpanel whmDe hecho, como puedes ver en la imagen anterior por el simbolito verde, además debe estar verificado para que la configuración del servidor sea la correcta.
Si nos leemos el texto o leyenda que hay debajo del campo, nos dice exactamente el formato que debe tener el hostname del servidor.

En el siguiente bloque llamado “Resolvers” debemos configurar las direcciones IP de los servidores DNS que usaremos para resolver los nombres de dominio y hostnames desde el servidor, simplemente tenemos que poner 2 y con las IPs de los DNS de Google será suficiente como puedes ver en la imagen:

cpanel whmPor último, en el último bloque llamado “Main Network/Ethernet Device” debemos configurar cual es la tarjeta o interfaz de red predeterminada del servidor.
Esta es una configuración bastante “personal” dependiendo del servidor donde estamos instalando cPanel, pero en casos como el mío donde simplemente es un servidor VPS con 1 sola interfaz virtual de red, dejamos la configuración por defecto:

cpanelFinalmente pulsamos el botón azul “Save & Go to Step 3” para continuar al siguiente paso del asistente de instalación de cPanel.

Step 3: SETUP IP ADDRESSES

En servidores con una sola dirección IP y una sola interfaz de red, el paso 3 es bastante simple, ya que basta con avanzar al paso 4.

Podremos ver algo como esto:

cpanelComo he dicho, en servidores dedicados con una sola interfaz de red o servidores VPS, podremos avanzar directamente al paso 4, a no ser que tengamos varias direcciones IP asignadas y queramos seleccionar que IP es la que va a servir para que los clientes alojen sus webs en el servidor.

Esta parte de la configuración varía mucho dependiendo de cómo sea el servidor y su configuración de red, debemos tener conocimientos de lo que estamos haciendo sino tendremos un problema.

Una vez acabada esta parte de la configuración, avanzamos al paso 4 con el botón azul “Go to Step 4”.

 

Step 4: NAMESERVERS

En el paso 4 debemos elegir varias cosas relacionadas con el servidor DNS que va a darle servicio al servidor cPanel que estamos instalando, incluso podemos dejar el servidor DNS desactivado, aunque para tener un hosting cPanel funcional, lo recomendable es instalar uno.

hosting cpanelNormalmente nosotros recomendamos BIND como servidor DNS, por lo que en este caso vamos a dejar BIND marcado, aunque sabemos perfectamente que BIND es el que más recursos consume si lo comparamos con MyDNS por ejemplo.

Más abajo, en el bloque “Choose which nameservers domains on this server will use” debemos poner los servidores DNS que usaran las webs alojadas en nuestro servidor cPanel para apuntar al servidor.
Llegados a este punto hay varias formas de hacer esto, pero nosotros recomendamos crear dos nameservers propios a través del registrador de dominio y apuntarlos a la IP del servidor cPanel que estamos instalando:

cpanel hostingLamentablemente no podemos explicarte como crear nameservers propios, ya que esto varía mucho dependiendo del registrador de dominios, si tu dominio está registrado con nosotros pregúntale a nuestro departamento de soporte y ellos te dirán como puedes hacerlo.

El bloque final llamado “Configure Address Records for Nameservers & Hostname” podemos dejarlo sin rellenar:

cpanel hostingEstas configuraciones podemos modificarlas después desde WHM para adaptar mejor el funcionamiento de nuestro servidor cPanel.

Una vez que acabamos de configurar esto, avanzamos al siguiente paso, el paso 5, pulsando sobre el botón azul “Go to Step 5”.

 

Step 5: SERVICES

En esta pantalla debemos configurar algunos servicios básicos del servidor:

hosting cpanelElegimos el software que gestionara el servicio FTP del servidor, en este caso ProFTP, ya que es el normalmente seleccionamos nosotros, ya que creemos que es bastante más estable y seguro que Pure-FTPD.

cpanel serverEn esta sección (paso 5) el resto de la configuración vamos a dejarla por defecto, con cPHulk activado:

cpanel serverFinalmente pulsamos el botón azul “Save & Go to step 6” para continuar al último paso del asistente de configuración de cPanel.

 

Step 6: SET UP QUOTAS

En este último paso vamos a dejar marcada la opción por defecto “Use file system quotas”:

cpanel hostingUna vez que tenemos esa opción seleccionada pulsamos el botón “Finish Setup Wizard” para finalizar la configuración inicial del servidor cPanel.

 

Nuevas opciones de cPanel

Pero esto aún no ha acabado, ahora cPanel nos permitirá configurar algunas opciones nuevas que se han implementado hace poco en el instalador, y que nos recuerda que podemos configurarlas, por ejemplo, en el momento de realizar esta guía, cPanel nos permitió elegir esto:

cpanel hostingDebemos tener en cuenta que esto va cambiando según van pasando versiones de cPanel, por lo que es muy posible que cuando tu hagas tu instalación te aparezcan otras opciones, no estas que te estoy mostrando en la imagen anterior.

De todas formas, puedes no configurar ninguna de estas opciones y finalizar el asistente si pulsas el enlace que hay abajo a la derecha que pone “Exit to WHM”.

 

Configurar cPanel desde WHM

Ahora empieza lo bueno, algo en lo que no vamos a profundizar en este artículo, ya que simplemente es una guía de instalación de cPanel.

Al finalizar la instalación accederemos a WHM, que tiene la siguiente apariencia o al menos parecida:

cpanelUna vez que llegamos a este paso, la configuración que queramos implementar en nuestro servidor va a variar bastante dependiendo de que uso le queramos dar al servidor y el perfil de clientes que queramos alojar.

Una de las primeras cosas que deberíamos hacer al acabar la instalación de cPanel y WHM en nuestro servidor, es la securizacion del servidor, volviendo a activar IPTABLES y reconfigurando el firewall para evitar ataques o problemas de seguridad.

También añadir, que las pantallas de WHM en el momento de escribir este artículo están en continuo cambio debido a las actualizaciones de cPanel & WHM, por lo que pueden no ser exactamente iguales en esta guía.

 

cPanel y CloudLinux

CloudLinux es uno de los sistemas más usados y más desconocidos por el usuario de hosting compartido.
Normalmente el usuario ve cPanel, pero en pocos casos el usuario se da cuenta de que detrás esta CloudLinux.

cpanel installVamos a intentar aclarar un poco mejor en que nos puede ayudar CloudLinux en hosting compartido.

También quiero recalcar que CloudLinux no solo es compatible con cPanel, sino que también es compatible con otros paneles de control de hosting como ISPConfigPleskDirectAdmin o incluso uno nuevo como CentOS Web Panel.

 

¿Que es CloudLinux?

Realmente CloudLinux es una distro Linux, pero también puede ser aplicada como parche a CentOS para transformarlo en un sistema adaptado a ofrecer hosting compartido.

Lo que hace CloudLinux es aislar o virtualizar cada cuenta de hosting de forma totalmente individual para que lo que hace un usuario en su cuenta no afecte al resto de cuentas alojadas en el servidor, esto es aplicable a infecciones, sobreusos de recursos, ataques, etc…

CloudLinux ayuda a mejorar radicalmente la seguridad y la estabilidad del servidor, la diferencia de estabilidad entre un servidor de hosting con CloudLinux y sin CloudLinux es completa, sin CloudLinux cuanto más grande es el servidor y más clientes hay alojados en él, menos estable es el servidor.

cloudlinuxUna de las cosas buenas de CloudLinux es que permite bloquear procesos, lo que hace que un solo proceso no pueda bloquear por completo un servidor, ya que el sistema de CloudLinux lo cerrara antes de que suponga un problema.

Además de las ventajas que tiene CloudLinux para el proveedor de hosting, también tiene ventajas para el usuario de hosting alojado en el servidor, ya que mejora bastante el rendimiento de las aplicaciones que usan PHP y MySQL, pero es que además actualmente también integra sistemas como OptimumCache que actua como cache de archivos y nos permite mejorar bastante el rendimiento en servidores grandes que alojan bastantes sitios web.

Por otro lado, también permite al usuario del hosting ver los recursos que esta usando de RAM, CPU e I/O entre otros recursos.

 

Instalar CloudLinux en CentOS

Para instalar CloudLinux y cPanel, primero debes tener una instalación de CentOS convertida a CloudLinux, vamos a ver cómo convertirla.

Partiendo de un CentOS 6 o CentOS 7 instalado en un servidor VPS KVM o Xen, o en un servidor dedicado con cPanel previamente instalado siguiendo el proceso de la sección anterior, vamos a ejecutar los siguientes comandos para convertir CentOS en CloudLinux.

Empezaremos por descargar el sistema de deploy de CloudLinux y lo ejecutamos:

(Debemos cambiar <activation_key> por nuestra clave correspondiente)

Vamos a dar por hecho que tenemos una clave valida de CloudLinux, sino no podremos instalarlo.

Una vez que ejecutamos el segundo comando (el de la key) podremos ver lo siguiente en la terminal SSH que tenemos abierta y donde ejecutamos los comandos:

cpanel cloudlinuxA veces parece que el script de deploy de CloudLinux se queda parado y ha acabado, pero realmente no es así.

cpanel cloudlinuxCuando finalice el deploy o instalación de las librerías de CloudLinux nos aparecerá algo similar a esto en la pantalla:

cpanel cloudlinuxAhora solo nos faltara reiniciar el sistema y ver los cambios que ha hecho CloudLinux en WHM y cPanel, además debemos configurar los límites que nos permite configurar CloudLinux y revisar los parámetros de LVE.

 

 

FASE 8

iNSTALAR IONCUBE PARA PHP

Cómo instalar ionCube Loader en CentOS 7

 
Certificaciones de Linux – Certificación RHCSA / RHCE | Certificación de Automatización Ansible | Certificación LFCS / LFCE
 
 

ionCube es un paquete de software comercial que consta de un codificador PHP, una fundición de paquetes, un paquete, una aplicación de detección de intrusos en el sitio en tiempo real y una aplicación de informes de errores, así como un cargador.

El codificador PHP es una aplicación para la protección del software PHP: se utiliza para proteger, cifrar y licenciar el código fuente PHP. El cargador ionCube es una extensión utilizada para cargar archivos PHP protegidos y codificados con un codificador PHP. Se utiliza principalmente en aplicaciones de software comerciales para proteger su código fuente y evitar que sea visible.

Lea también : Cómo instalar ionCube Loader en Debian y Ubuntu

En este artículo, mostraremos cómo instalar y configurar ionCube Loader con PHP en distribuciones CentOS 7 y RHEL 7 .

Prerrequisitos:

Su servidor debe tener un servidor web en ejecución ( Apache o Nginx ) con PHP instalado. Si no tiene un servidor web y PHP en su sistema, puede instalarlos usando el administrador de paquetes yum como se muestra.

Paso 1: Instale el servidor web Apache o Nginx con PHP

1. Si ya tiene un servidor web en ejecución Apache o Nginx con PHP instalado en su sistema, puede saltar al Paso 2 ; de lo contrario, use el siguiente comando yum para instalarlos.

-------------------- Instalar Apache con PHP --------------------
# yum instalar httpd php php-cli php-mysql

-------------------- Instale Nginx con PHP -------------------- 
# yum install nginx php php-fpm php-cli php-mysql

2. Después de instalar Apache o Nginx con PHP en su sistema, inicie el servidor web y asegúrese de habilitarlo para que se inicie automáticamente en el momento del arranque del sistema utilizando los siguientes comandos.

-------------------- Inicie el servidor web Apache --------------------
# systemctl start httpd
# systemctl habilita httpd

-------------------- Inicie Nginx + PHP-FPM Server --------------------
# systemctl start nginx
# systemctl enable nginx
# systemctl start php-fpm
# systemctl habilita php-fpm

Paso 2: Descarga IonCube Loader

3. Vaya al sitio web de inocube y descargue los archivos de instalación, pero antes de eso primero debe verificar si su sistema se está ejecutando en una arquitectura de 64 bits o 32 bits utilizando el siguiente comando.

# uname -a

Linux tecmint.com 4.15.0-1.el7.elrepo.x86_64 # 1 SMP dom 28 de enero 20:45:20 EST 2018 x86_64 x86_64 x86_64 GNU / Linux

El resultado anterior muestra claramente que el sistema se ejecuta en una arquitectura de 64 bits .

Según el tipo de arquitectura de su sistema Linux, descargue los archivos del cargador de ioncube en el directorio / tmp usando el siguiente comando wget .

-------------------- Para el sistema de 64 bits --------------------
# cd / tmp
# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

-------------------- Para el sistema de 32 bits --------------------
# cd / tmp
# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

4. Luego descomprima el archivo descargado con el comando tar y muévase a la carpeta descomprimida. Luego ejecute el comando ls para enumerar los numerosos archivos del cargador de ioncube para diferentes versiones de PHP.

# tar -zxvf ioncube_loaders_lin_x86 *
# cd ioncube /
$ ls -l
Archivos Ioncube Loader

Archivos Ioncube Loader

Paso 3: Instale el cargador de ionCube para PHP

5. Habrá diferentes archivos de cargador de ioncube para varias versiones de PHP, debe seleccionar el cargador de ioncube adecuado para su versión de PHP instalada en su servidor. Para conocer la versión de php instalada en su servidor, ejecute el comando.

# php -v
Verifique la versión de PHP

Verifique la versión de PHP

El resultado anterior muestra claramente que el sistema está utilizando la versión PHP 5.4.16 , en su caso debería ser una versión diferente.

6. Luego, busque la ubicación del directorio de extensiones para PHP versión 5.4 , es donde se instalará el archivo del cargador de ioncube. Desde el resultado de este comando, el directorio es / usr / lib64 / php / modules .

# php -i | grep extension_dir

extension_dir => / usr / lib64 / php / modules => / usr / lib64 / php / modules

7. Luego necesitamos copiar el cargador ioncube para nuestra versión PHP 5.4 en el directorio de extensión ( / usr / lib64 / php / modules ).

# cp /tmp/ioncube/ioncube_loader_lin_5.4.so / usr / lib64 / php / modules

Nota : Asegúrese de reemplazar la versión de PHP y el directorio de extensión en el comando anterior de acuerdo con la configuración de su sistema.

Paso 4: Configurar ionCube Loader para PHP

8. Ahora necesitamos configurar el cargador ioncube para que funcione con PHP, en el php.iniarchivo.

# vim /etc/php.ini

Luego agregue la línea de abajo como la primera línea del php.iniarchivo.

zend_extension = / usr / lib64 / php / modules / ioncube_loader_lin_5.4.so
Habilitar el cargador de ionCube en PHP

Habilitar el cargador de ionCube en PHP

Nota : Asegúrese de reemplazar el directorio de extensión y la versión de PHP en el comando anterior de acuerdo con la configuración de su sistema.

9. Luego guarde y salga del archivo. Ahora tenemos que reiniciar el servidor web Apache o Nginx para que los cargadores de ioncube entren en vigor.

-------------------- Inicie el servidor web Apache --------------------
# systemctl restart httpd

-------------------- Inicie Nginx + PHP-FPM Server --------------------
# systemctl restart nginx
# systemctl restart php-fpm

Paso 5: pruebe el cargador ionCube

10. Para probar si el cargador de ionCube ahora está instalado y configurado correctamente en su servidor, verifique su versión de PHP una vez más. Debería poder ver un mensaje que indique que PHP está instalado y configurado con la extensión del cargador ioncube (el estado debe estar habilitado), como se muestra en la siguiente captura de pantalla.

# php -v
Prueba de ionCuber Loader

Prueba de ionCuber Loader

El resultado anterior confirma que el PHP ahora está cargado y habilitado con el cargador ioncube.

El cargador ionCube es una extensión PHP para cargar archivos protegidos y codificados con codificador PHP. Esperamos que todo haya funcionado bien mientras sigue esta guía, de lo contrario, utilice el formulario de comentarios a continuación para enviarnos sus consultas.

 

FASE 8

INSTALACION DE SOFTACOLOUS EN CPANEL

Visión general

La siguiente guía le mostrará cómo instalar Softaculous en cPanel.

Requisitos

  • Un servidor con cPanel
  • Si tiene un firewall, permita el acceso para descargar todos los paquetes desde  * .softaculous.com

Nota  : permita el acceso a los siguientes dominios a su firewall, ya que estos son los espejos utilizados para descargar los paquetes de script.

192.198.80.3 # api.softaculous.com
158.69.6.246 # s1.softaculous.com
192.200.108.99 # s2.softaculous.com
213.239.208.58 # s3.softaculous.com
138.201.24.83 # s4.softaculous.com
167.114.200.240 # s7 .softaculous.com

Instalando Softaculous

Nota : Antes de comenzar la instalación, asegúrese de que los cargadores de ionCube estén habilitados. Puede consultar la siguiente guía  Enable_Ioncube_cPanel . Asegúrese de que el cargador Ioncube esté seleccionado para la copia de back-end de PHP. Ahora SSH a su servidor e ingrese los siguientes comandos:

wget -N http://files.softaculous.com/install.sh
chmod 755 install.sh
./install.sh

Ahora vaya a: WHM> Complementos (complementos en versiones anteriores a 11)> Softaculous – Instalaciones instantáneas

La siguiente página web se abrirá si la instalación fue exitosa:

¡Eso es, la instalación de Softaculous está completa!

Configuraciones de suPHP

Si tiene suEXEC o suPHP habilitado en su servidor, lea la   página de Configuración de suPHP para configurar Softaculous.

¡Eso es, la instalación de Softaculous está completa!

Instalación rápida

Si desea finalizar la instalación rápidamente y luego descargar los paquetes de script en segundo plano, utilice este método.

Nota : Antes de comenzar la instalación, asegúrese de que los cargadores de ionCube estén habilitados. Para eso, vaya a WHM y haga clic en Ajustes de ajustes. Asegúrese de que el cargador Ioncube esté seleccionado para la copia de back-end de PHP. Ahora SSH a su servidor e ingrese los siguientes comandos:

wget -N http://files.softaculous.com/install.sh
chmod 755 install.sh
./install.sh --quick

No use PHP de terceros

Si no desea que Softaculous use binarios PHP de terceros, simplemente puede pasar un parámetro y Softaculous usará el binario PHP predeterminado de cPanel.

wget -N http://files.softaculous.com/install.sh
chmod 755 install.sh
./install.sh --nocpphp

Usar la configuración de proxy

Si desea que Softaculous use la configuración de proxy, simplemente puede pasar los parámetros y Softaculous usará la configuración de proxy que usted proporcionó.

wget -N http://files.softaculous.com/install.sh
chmod 755 install.sh
./install.sh proxy proxy_ip = YOUR_IP: PORT proxy_auth = NOMBRE DE USUARIO: CONTRASEÑA

Parámetros de proxy   :

  • proxy_ip (obligatorio): ingrese la IP y el puerto de su servidor proxy.
  • proxy_auth (opcional): ingrese los detalles de autenticación del servidor proxy, es decir, nombre de usuario y contraseña

FASE 10

Cómo instalar y configurar servidor DNS en CentOS 7

Tutorial para instalar y configurar detalladamente un servidor DNS en una distribución CentOS 7 de Linux.


Escrito por Solvetic Sistemas jun 06 2019 09:36centos

Uno de los roles más importantes dentro de todo el proceso de gestión y configuración de un servidor es el DNS (Domain Name System – Sistema de Nombres de Dominio) el cual nos permite traducir las direcciones IP a nombres de dominio y viceversa, de este modo es mucho más fácil tener presente Solvetic.com y no 178.33.118.246.

 

Este rol es fundamental para todo el proceso de transferencia de información y permite que como administradores y usuarios frecuentes de la red tengamos claridad qué sitios visitamos. En Linux, BID tiene la tarea de configurar y administrar los DNS py deberíamos comprobar que su versión es mayor que la 4 siendo lo ideal tener la 8 o 9. BIND está formado por tres partes o elementos: named, resolver library y pruebas del servidor.

 

En este tutorial vas conocer paso a paso cómo instalar y configurar VNC Server en CentOS 7.

 

Cuando se adquiere un servidor se debe tener dos servidores de nombres que estarán recogidos en el DNS. Cuando hacemos una petiticón web y necesitamos saber una dirección en una página web, BIND se encargará de hacer la petición resolviéndola, de ahí la parte resolver. BIND hace la petición para encontrar a través de la gestión del servidor DNS y dándonos como resultado el nombre de la página web.

 

Qué es BIND
BIND (Berkeley Internet Name Domain) es un software libre, de código abierto que cumple las funciones de DNS en un sistema, su nombre se debe al sitio donde fue desarrollado, la universidad Berkeley en California en el año de 1980.

 

Gracias a BIND podemos contar con una plataforma segura y estable que cumple a la perfección con todos los estándares de DNS.

 

Hoy este tutorial analizará cómo configurar este rol DNS en CentOS 7 de una forma práctica.
A continuación veremos cómo configurar e instalar este servidor DNS en CentOS 7 y de este modo comenzar a disfrutar al máximo de este importante rol.

 

 

1. Cómo instalar BIND9 en CentOS 7

 

Paso 1

Es importante validar que contamos con conectividad a la red, para esto podemos realizar un ping a cualquier sitio web:

 

2-hacer-ping.png

 

Paso 2

En primer lugar actualizaremos todos los paquetes de CentOS 7 usando el siguiente comando:
yum update
Paso 3

Una vez concluya el proceso de actualización de CentOS, procedemos a instalar BIND y sus utilidades usando el comando yum, para ello ingresaremos el siguiente comando. Aceptamos la descarga y respectiva instalación de BIND y sus componentes.
yum install bind bind-utils

3-Instalación-de-BIND9-en-CentOS-7.png

 

 

 

2. Cómo iniciar los servicios de BIND en CentOS 7

 

Paso 1

Una vez todos los paquetes de BIND hayan sido instalados procedemos a iniciar el respectivo servicio usando los siguientes comandos en su orden:
systemctl enable named
systemctl start named
systemctl status named

 

Paso 2

Podemos ver que el estado actual de BIND es activo y en ejecución. Si deseamos verificar la versión de BIND ejecutaremos el siguiente comando:
/usr/sbin/named –v

 

 

 

3. Cómo configurar el servidor DNS con BIND en CentOS 7


Con esto en mente iniciaremos la configuración del servidor DNS en CentOS 7.

 

Paso 1

El archivo de configuración de BIND lo encontramos en la ruta /etc/named.conf por lo cual debemos acceder a él usando el editor preferido, en este caso usaremos nano:
nano /etc/named.conf
Paso 2

En el archivo abierto realizaremos las siguientes tareas:
  • Comentamos, con el símbolo #, las siguientes líneas:
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };

 

  • Agregamos la dirección IP sobre la cual los equipos cliente consultarán el DNS, adicional podemos agregar la dirección IP de un segundo servidor en caso de tenerlo, usaremos las siguientes líneas:
allow-query { localhost;IP/Red; };
allow-transfer { Ip segundo servidor; };

 

  • Guardamos los cambios usando la combinación de teclas

 

 

 

Ctrl + O

 

y salimos del editor usando las teclas:

 

Ctrl + X

 

 

 

4. Cómo crear las zonas de BIND en CentOS 7


Una vez definidos estos parámetros el siguiente paso será crear y configurar las respectivas zonas directa e inversa las cuales deben ser agregadas en el archivo named.conf.

 

Paso 1

Accedemos a dicho archivo usando el siguiente comando:
nano /etc/named.conf
Paso 2

Configuramos la primer zona de esta manera:
zone "solvetic.local" IN {
type master;
file "fwd. solvetic.local.db";
allow-update { none; };
};
Paso 3

Los parámetros configurados son:
  • Solvetic.local: Nombre del dominio
  • Master: Es el DNS primario
  • fwd. solvetic.local.db: Indica la zona directa
  • allow-update: Hace referencia al DNS primario.

 

Paso 4

Ahora agregamos las siguientes líneas para la zona inversa:
zone "10.168.192.in-addr.arpa" IN {
type master;
file "10.168.192.db";
allow-update { none; };
};

 

Paso 5

Guardamos los cambios usando la combinación de teclas siguiente:

 

 

Ctrl + O

 

 

 

5. Cómo crear los archivos de zona de BIND en CentOS 7


Hemos creado las zonas, ahora debemos crear los archivos de dichas zonas.

 

Paso 1

El primer archivo a crear será el de la zona directa, ejecutamos lo siguiente:
nano /var/named/fwd.solvetic.local.db
Paso 2

Esto creará un nuevo archivo donde ingresaremos lo siguiente:
$TTL 86400
@ IN SOA primary.solvetic.local. root. solvetic.local. (
2016042112 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
43200 ;Minimum TTL
)
;Name Server Information
@ IN NS primary. solvetic.local.
;IP address of Name Server
primary IN A 192.168.0.11
;Mail exchanger
linux.local. IN MX 10 mail. solvetic.local.
;A - Record HostName To Ip Address
www IN A 192.168.0.3
mail IN A 192.168.0.4
;CNAME record
ftp IN CNAME www. solvetic.local.

 

 

Paso 3

Los parámetros de dicho archivo son:

 

A –
Grabador

 

NS –
Nombre del servidor

 

MX –
Email de Exchange

 

CN –
Nombre canónico

 

Paso 4

Guardamos los cambios y cerramos el editor. Ahora crearemos el archivo para la zona inversa ejecutando lo siguiente:
nano /var/named/0.168.192.db
Paso 5

En el archivo en blanco agregaremos lo siguiente. Después guardamos los cambios en el archivo y salimos del archivo.
$TTL 86400
@ IN SOA primary.solvetic.local. root. solvetic.local. (
2014112511 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS primary. solvetic.local.
;Reverse lookup for Name Server
8 IN PTR primary. solvetic.local.
;PTR Record IP address to HostName
100 IN PTR www. solvetic.local.
150 IN PTR mail. solvetic.local.

 

 

 

6. Cómo reiniciar servicios de BIND en CentOS 7


Una vez configurados estos parámetros el siguiente paso será reiniciar los servicios para su respectiva aplicación.

 

Paso 1

Para ello ejecutaremos los siguientes comandos en su orden:
chmod 777 /var/named/fwd.solvetic.local.db
chmod 777 /var/named/0.168.192.db
systemctl restart named.service

 

Paso 2

Si deseamos consultar el estado del servicio ejecutaremos el siguiente comando. Podemos comprobar que su estado es activo y ejecutándose.
systemctl status named.service

 

 

 

7. Cómo Comprobar las zonas en los equipos cliente de BIND en CentOS 7


Ahora que BIND ha sido configurado resta configurar la maquina cliente para que tome el DNS y a través del resuelva las direcciones IP.

 

Paso 1

Para esto iniciamos sesión en algún maquina cliente, en este caso en Ubuntu, y accedemos al archivo
/etc/resolve.conf:
nano /etc/resolve.conf
Paso 2

Allí agregaremos la siguiente sintaxis:
nameserver (Dirección IP del servidor DNS)
Paso 3

A continuación ejecutamos el siguiente comando para comprobar la zona directa:
dig www.solvetic.local

 

Paso 4

Ahora, para verificar la zona inversa ejecutaremos el siguiente comando:
dig -x (Ip de la maquina cliente)

 

 

 

8. Cambiar y configurar Hostname y dirección IP estática CentOS 7


Dentro de la configuración de servidores y redes debemos conocer diferentes aspectos para que el funcionamiento sea correcto. En primer lugar debemos poder configurar el hostname que es el nombre que se le puede configurar en un ordenador. Esto es bastante útil si estamos gestionando un servidor core en tareas como correspondencia dentro de una red. Hay que indicar que para que sea una disponibilidad válida el nombre del host debe incluir también la subzona donde se encuentra. A esto se le añade el nombre de dominio y junto formarían una FQDN, es decir, una dirección que pueda entender el usuario.

 

A la hora de configurar un hostname conseguiremos que sea identificarlo más fácilmente dentro de la red. También estableceremos una dirección IP estática si en CentOS 7 se van a desarrollar tareas relacionadas con DNS, DHCP o similares.

 

La dirección IP estática por su parte es la dirección identificativa para un ordenador en concreto. El nombre del host ayudaría a que pudiésemos identificar el nombre del equipo usando la dirección IP. El comando sería el siguiente (cambia ip adress por la dirección IP)

nslookup %ipaddress%

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Ingenio Hosting.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.