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:
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
Comprobamos su funcionamiento en un navegador:
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
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*
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;
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:
yum remove mariadb mariadb-server
rm -rf /var/lib/mysql
Si su datadir en /etc/my.cnf apunta a un directorio diferente, elimine ese directorio en lugar de / var / lib / mysqlrm /etc/my.cnf
- Paso opcional:
rm ~/.my.cnf
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
- CATEGORÍA: Sysadmin
- FECHA: 07 noviembre 2016
Índice del artículo
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.
A 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 CentOS, CloudLinux o RedHat (RHEL).
En el momento de escribir este artículo, el instalador de cPanel es compatible con las versiones 6 y 7 de CentOS, CloudLinux 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 CentOS, CloudLinux 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.
¿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 Apache, MySQL 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”.
(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:
1 | yum update –y |
Y podremos ver como empieza la actualización, debemos esperar a que acabe para continuar con el proceso:
Ahora 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.
1 2 | cd /home/ wget –N http://httpupdate.cpanel.net/latest |
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:
1 | sh latest |
Y con esto comenzara la instalación de cPanel y WHM en nuestro servidor.
Algo 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:
Esto 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:
1 | reboot |
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:
NOTA: OJO, SI nos lleva a una pantalla como esta:
Debemos ejecutar el siguiente comando con el fin de parar el firewall por defecto de CentOS 7, CloudLinux 7 o RHEL 7:
1 service iptables stopCon 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:
Debemos 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:
En 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):
Debemos 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”:
En el siguiente bloque, llamado “Hostname” sí que es necesario rellenar el único dato que nos pide, el hostname del servidor:
De 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:
Por ú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:
Finalmente 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:
Como 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.
Normalmente 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:
Lamentablemente 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:
Estas 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:
Elegimos 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.
En esta sección (paso 5) el resto de la configuración vamos a dejarla por defecto, con cPHulk activado:
Finalmente 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”:
Una 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:
Debemos 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:
Una 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.
Vamos 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 ISPConfig, Plesk, DirectAdmin 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.
Una 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:
1 2 | wget https://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy sh cldeploy –k <activation_key> |
(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:
A veces parece que el script de deploy de CloudLinux se queda parado y ha acabado, pero realmente no es así.
Cuando finalice el deploy o instalación de las librerías de CloudLinux nos aparecerá algo similar a esto en la pantalla:
Ahora 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
por Aaron Kili | Publicado: 26 de abril de 2018 | Última actualización: 29 de enero de 2020
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
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
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.ini
archivo.
# vim /etc/php.ini
Luego agregue la línea de abajo como la primera línea del php.ini
archivo.
zend_extension = / usr / lib64 / php / modules / ioncube_loader_lin_5.4.so
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
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.
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.
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.
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
Es importante validar que contamos con conectividad a la red, para esto podemos realizar un ping a cualquier sitio web:
En primer lugar actualizaremos todos los paquetes de CentOS 7 usando el siguiente comando:
yum update
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
2. Cómo iniciar los servicios de BIND en CentOS 7
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
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.
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
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.
Accedemos a dicho archivo usando el siguiente comando:
nano /etc/named.conf
Configuramos la primer zona de esta manera:
zone "solvetic.local" IN {
type master;
file "fwd. solvetic.local.db";
allow-update { none; };
};
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.
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; };
};
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.
El primer archivo a crear será el de la zona directa, ejecutamos lo siguiente:
nano /var/named/fwd.solvetic.local.db
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.
Los parámetros de dicho archivo son:
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
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.
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
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.
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
Allí agregaremos la siguiente sintaxis:
nameserver (Dirección IP del servidor DNS)
A continuación ejecutamos el siguiente comando para comprobar la zona directa:
dig www.solvetic.local
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%