Instalación KLOXO 64 bits paso a paso

– ¿Qué es Kloxo?

Kloxo es un panel de control con opción gratuita que podemos instalar en centos y así gestionar más cómodamente el servidor, clientes … etc… La versión gratuita permite mantener hasta 40 dominios sin coste alguno. Algo ideal para gestionar VPSs y reseller. Saber más acerca de Kloxo

– Descargamos (guía oficial http://wiki.lxcenter.org/Kloxo+Installation+Guide)

setenforce 0
su - root
cd /tmp
wget http://download.lxlabs.com/download/kloxo/production/kloxo-install-master.sh
sh ./kloxo-install-master.sh

(Opcional) Para traducir Kloxo a español :

– Instalar subversión para la traducción, se puede descargar el archivo manualmente, pero bueno, lo veo más rápido así.

yum install subversion
cd /usr/local/lxlabs/kloxo/httpdocs/lang
svn checkout http://svn.lxcenter.org/svn/i8nl/trunk/kloxo/es

Ahora accedemos a : https://tudireccion:7777/
– Nos pedirá cambiar contraseña
– Para cambiar idioma vamos a Admin/Information/Apear => Spanish
– Te pedirá configurar emailname, activar gaitas Lxguardian para evitar logeo fuerza bruta y bla bla bla.
– Por seguridad es recomendable cambiar puerto ssh 22 a uno personalizado. Vamos al apartado Security/SSH Config
– Guía del administrador ( http://wiki.lxcenter.org/Kloxo%20Admin%20Guide )

Tutorial – Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS – Montar servidor GRATUITO

Actualizar Repositorios Centos 5.5 64 bits

-Actualizar repositorios (a elección personal de cada uno)

rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

-Actualizamos

yum -y update
yum -y upgrade

Tutorial – Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS – Montar servidor GRATUITO

Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS

Tutorial – Instalación KLOXO 64bits sobre Centos 5.5 – KLOXO 64bits – IPTABLES – WEBMIN – CSF & LFD – MOD_EVASIVE – OCULTAR VERSIONES – TRUCOS

He creado un tutorial que nos indica paso a paso cómo montar y configurar un servidor con los servicios más generales, (apache, php, mysql, phpmyadmin, mail, webmail … etc …) de forma GRATUITA, es decir, con coste 0.

Además vamos a instalar un panel de control gratuito que nos va a facilitar las tareas de configuración, administración y nos va a otorgar la opción de reseller, es decir de vendedor. Y por si fuera poco se podría escalar fácilmente con más máquinas.

Bueno, antes que nada os aviso, no tengo apenas experiencia (2 años trasteando) sobre gestionar servidores por lo que la guía pretende ser orientativa.
Comparto con ustedes la información que he ido recopilando desde que ando metido en esto.

Vamos a utilizar la distribución de linux Centos 5.5 de 64 bits como base para el servidor, doy por hecho que ya tenemos un servidor, lo hemos particionado y hemos instalado el sistema operativo (¿No lo tienes?, visita la guía de instalación ). Sobre ella vamos a montar un panel de control llamado Kloxo para facilitar las tareas de gestión y venta a clientes, WebAdmin para facilitar las tareas de administración de nuestro servidor, para servir nuestras páginas web Apache (Apache Web Server) aunque podremos alternar su uso en un par de clicks con Lighttpd, como base de datos vamos a utilizar MySQL, para servir contenido dinámico vamos a instalar PHP, para gestionar la base de datos online PHPMyAdmin, para el envío y recepción de e-mails utilizaremos Qmail (Qmail Mail Server) y Courier Pop/Imap Server , como servidor dns utilizaremos Bind aunque podremos alternarlo con DjbDns. Para brindar al servidor de seguridad vamos a actualizar el poderoso cortafuegos IpTables además instalaremos CSF & LFD (firewall-antiddos) y para conectarnos internamente el servidor utilizaremos SSH con llaves de seguridad.

Seguro que me dejo muchas cosas, así que te insto a que ojees el índice y lo veas por ti mismo 😀

Dejando a un lado la instalación concreta de KLOXO, en temas de seguridad el proceso es ampliable a cualquier tipo de panel de administración.
Recomiendo hacer los pasos en orden.
Instalarlo todo cuesta aproximadamente ~30 minutos 😛
Se aceptan de buen grado sugerencias, consejos y correcciones 😀
Por supuesto si creen que falta algo para hacerlo todavía más seguro me encantaría saberlo para ponerme con ello.
Poco a poco intentaré ir mejorando la guía (espero que con su ayuda)

OpcionalActualizar repositorios Centos 5.5 64 bits

1º – Instalación KLOXO 64 bits
2º – Solucionar problemas de KLOXO en entornos de 64bits
– Solucionar : Carga incorrectamente las librerías.
– Solucionar : Carga incorrectamente IONCUBE
– Solucionar : Carga incorrectamente ZEN
3º – Instalar/Actualizar IPTABLES
4º – Instalar WEBMIN (panel administrador de servidor web)
5º – Instalar y configurar CSF & LFD (firewall-antiddos)
– Añadir CSF & LFD a WEBMIN
– Solucionar : MySql load data
– Solucionar : ATD activo al reinicio
– Solucionar : ANACRON activo
– Solucionar : Ssh UseDSN no
– Solucionar : SAFECHAINUPDATE
– CSF & LFD Solucionar : DNS recursion restrictions
– CSF & LFD Solucionar : Check /var/tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check /tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check /dev/shm is mounted noexec,nosuid
– CSF & LFD Solucionar : Check /tmp is mounted as a filesystem
– CSF & LFD Solucionar : Check SSH PasswordAuthentication
6º – Generar clave/llave de conexión para SSH desde pc
7º – Ocultar versiones de programas
– Ocultar versión Apache
– Ocultar versión PHP
– Ocultar versión BIND
– Ocultar versión ProFTPD
Instalar y configurar mod_evasive
– Parámetros de mod_evasive
– ¿Fallo de programación en mod_evasive?

– Otras cositas
– Consejo sobre Kloxo, eliminar usuarios MySQL no necesarios y/o remotos
– Codificación de idioma Apache

Espero que el tutorial les sirva de ayuda para montar o configurar su servidor.

Sus comentarios serán bien recibidos 😀

Averigua cuanto tarda en cargar tu sitio web desde todo el mundo con Internet Supervicion

Internet Supervision es una herramienta web que con sólo ingresar una URL, muestra en un mapamundi, los tiempos de carga del sitio desde posiciones distribuidas alrededor del mundo.

Internet Supervision es un herramienta muy sencilla pero útil que permite de una vez, tener una visión global del desempeño de nuestro website.

Web : internetsupervision.com

Visto en : www.distrogeek.com

Crear servicio de aviso por SMS con google calendar y PHP

Voy a explicar como crear un servicio de avisos por SMS con la renovada api de google calendar (la han actualizado hace poco) y PHP.
En el ejemplo explico la creación de una función PHP que nos añade eventos en google calendar con notificación SMS para recibirlos en nuestro móvil vía SMS .

Lo primero es crear una cuenta o loguearnos en google calendar (si tienes una cuenta google para otro servicio también nos sirve).

Una vez dentro clickamos sobre Configuración/Cofiguración de Calendar y luego en la pestaña Configuración para móviles. Una vez verifiquemos nuestro móvil (nos envían un mensaje con un código) ya no tendremos que hacer nada más en google calendar.
*Puedes hacer pruebas en google calendar añadiendo eventos con aviso de notificación por móvil. Te llegará un mensaje con el título del evento, el lugar y la hora 😀

Ahora vamos a utilizar el potencial de google calendar para enviar desde nuestro servidor avisos por SMS.
Por ejemplo cuando deja de hacer ping nuestro servidor, cuando falla el backup, cuando nos hacen un pedido … como ves tiene multitud de aplicaciones.

Tenemos que tener en nuestro servidor instalado Zend Gdata. (link de descarga al final)
Si no quieres cargar los módulos siempre desde PHP.ini puedes hacerlo manualmente cuando te haga falta simplemente incluyendo la ruta donde se encuentra la librería (tal y como explico en el siguiente código)

<?php
// Carga manual de librerías Zend_Gdata
ini_set('include_path', '/ruta hasta las librerías/ZendGdata-1.11.0/library');
require_once ('/ruta hasta las librerías/ZendGdata-1.11.0/library/Zend/Loader.php');
// Declaramos las clases
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata_Extension_When');

// Función para crear evento SMS en Google Calendar
//Título indica el título del SMS; Texto indica parte del cuerpo del SMS;
//Minutos indica la demora del aviso; Email indica el login de la cuenta
//Password indica la contraseña de la cuenta
function crearEventoSMS ($titulo, $texto='', $minutos=5, $email='micuenta@gmail.com', $password='micontraseña') {
        // Nombre del servicio de Google Calendar
	$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
	$client = Zend_Gdata_ClientLogin::getHttpClient($email,$password,$service);

	$gdataCal = new Zend_Gdata_Calendar($client);
	$event = $gdataCal->newEventEntry();
	$event->title = $gdataCal->newTitle($titulo);
        // Añadimos texto
	if($texto!=''){
		$event->where = array($gdataCal->newWhere($texto));
		$event->content = $gdataCal->newContent("$texto");
	}
	// Calculamos la hora de creación del evento con la demora incluida para que nos avise
	$time=time()+$minutos*60;
        // Hora en formato RFC 3339
	$endDate = $startDate = date("Y-m-d", $time);
	$endTime = $startTime = date("H:i", $time);
	$tzOffset = "+01";

	$when = $gdataCal->newWhen();
	$when->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
	$when->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";

	// Añadimos el recordatorio SMS
       $reminder = $gdataCal->newReminder();
       $reminder->method = "sms";
       // Tiempo de adelanto (no tiene sentido en el ejemplo actual)
       $reminder->minutes = 0;

	// Aplicamos
        $when->reminders = array($reminder);
        $event->when = array($when);

        // Añadimos el evento a google calendar
        $newEvent = $gdataCal->insertEvent($event);
}
?>

Para añadir notificaciones ya solamente tenemos que llamar a la función (por supuesto debemos incluirla en nuestro código)

<?php
     // Requerimos el archivo de la función
     require_once('ruta_hasta_nuestra_funcion.php');
     // La llamamos
     crearEventoSMS('SinPing');
     // Otra llamada para dentro de 2 horas
     crearEventoSMS('ComprobarPago', 'Tenemos que comprobar pago XXX', 120);
     // Otra llamada para otra cuenta que no es la default
     crearEventoSMS('EncargoOnline', 'El cliente tal tiene avería.', 10, 'fontanero@gmail.com', 'chirigota');     
?>

Espero que les sirva de utilidad 😀

– Descargar Zend Gdata

– Google Calendar

– Documentación Api Google Calendar