Mostrando las entradas con la etiqueta php. Mostrar todas las entradas
Mostrando las entradas con la etiqueta php. Mostrar todas las entradas

lunes, noviembre 03, 2014

Script PHP para revisar si el servidor esta funcionando y enviar alerta por correo


Hola, les ha de caer de sorpresa que ande por aqui nuevamente posteando :P, pero la verdad es que, tratando de cumplir con un projecto, me encontre algo interesante que espero les ayude, es una aplicacion escrita por completo en PHP que les permite revisar el estado de conexion de una maquina y les envia un correo electronico al momento de que esta no esta en linea.  A mi se me hace una excelente aplicacion para revisar el estatus de alguno de tus servidores y correrle en caso de que necesite atencion :)

Aqui les dejo el codigo, con un poco de explicacion:

$system = ini_get('system'); //Sirve para que la aplicacion sepa si esta trabajando en windows o linux.
//$win  = (bool)  $windows;
$count = 1;

// -------------------------
// Se escribe el IP del servidor dentro de las comillas. 
// -------------------------
$host[1] = "192.168.1.149";
// -------------------------
// Nuevamente dentro de las comillas, escribe el nombre del servidor (nadamas para que se vea bonito).
// -------------------------
$services[1] = "ElSeRvErMaSfReGoNdElMuNdO";

// Aqui se dibujan las tablas y se le da el funcionamiento
echo "<table border=\"0\" align=\"center\">";
foreach ($host as $value) 
{
$counter = 0;
$counter1 = $counter + 1;
 echo "<tr><td width=120>$value</td>"; 
      echo '<body bgcolor="#FFFFFF" text="#000000"></body>';       
      //Aqui se revisa si el IP responde a un ping
 $pingreply = exec("ping -n $count $value");
 if ( substr($pingreply, -2) == 'ms')
  {
echo "<td width=60><strong><font color='#006600'>UP</font></strong></td>";
echo "<td width=60><img src='images/up.png'></td>";
echo "<td width=230>". $services[$counter1] . "</td>";
   echo "<td>Reply Speed ";
   echo substr($pingreply, -13);
}
 else 
{
echo "<td width=60><strong><font color='#990000'>DOWN</font></strong></td>";
echo "<td width=60><img src='images/down.jpg'></td>";
echo "<td width=230>". $services[$counter1] . "</td>";
   echo "<td>";
echo "Timeout...";
 // ********** Envia Correo ************
//** A quien se envia el correo.
$email="mycorreo@correo.com";
// ** De quien viene el correo.
$from="sysadmin@SysAdmin.com";
// ** Aqui va el mensaje que quieras que diga el cuerpo del correo.
$msg="Tu server no responde, apurale y arreglalo antes de que te corran!!!!";

$subject="Se cayo tu server y no se puede levantar :P";

$ret=runner_mail(array('to' => $email, 'subject' => $subject, 'htmlbody' => $msg, 'charset' => 'UTF-8', 'from'=>$from));

if(!$ret["mailed"])

  echo $ret["message"];
echo "Timeout...";
}
}
echo "</td></tr></table>";
 // **************************************** //

     LISTO! Con esto pueden recibir una alerta avisandoles que su servidor no esta funcionando, facil y gratis :P.

     Ahora el truco es que tengan configurada la funcion mail() en PHP que les permite enviar correo, o en su defecto, en XAMPP viene con un servidor de correo (Mercury Mail), solo hay que configurar la cuenta, la authenticacion y seguridad para que no te lo "hackeen" y ya quedo.

     En fin, este igual que los demas post, corto y directo al grano, espero que les sea util, si les gusta compartan, comenten e incluso los invito a visitar mi pagina de Facebook (Click aqui para ir para alla!), denle like y siganos .. (Quiza me cambie a solo utlizar facebook, ustedes que piensan?)

SALUDOS!

martes, marzo 08, 2011

Como instalar PHP en Windows IIS

Yo sé que muchos han descargado el XAMMP, Apache o incluso el Abyss Webserver con el fin de tener un servidor para sus páginas web que pueda trabajar con php, pues hoy les mostraré (y no porque Microsoft me pague comisión) como instalar php en Windows y hacer que el IIS (servidor web que viene con la instalación de Windows) funcione con este lenguaje.  Ya hay muchas páginas donde explican a detalle la instalación y configuración del IIS con PHP, pero, todas estas hablan de que se tiene que descargar la versión de PHP que viene en un archivo comprimido (ZIP) y después descomprimirla, copiar archivos, cambiar archivo de configuración, agregar al registro, etc, etc, etc, etc y demasiados etc´s después tenemos listo nuestro servidor con PHP.  Pues esta vez les doy la manera más sencilla y rápida de hacer la configuración, incluso, yo la terminé en 15 minutos, en realidad la descarga de archivos es lo que te toma más tiempo.

     En fin inicio el tutorial con el mismo comentario de siempre y que me gustaría que tengan en mente siempre que estén haciendo algo con su computadora (o la computadora de tu hermano si no quieres descomponer la tuya :-) : "ESTO ES MUY SENCILLO!".

     Ok, comenzamos, primero, vamos a ver el listado de las cosas que necesitamos:


  • Computadora con el sistema operativo Windows instalado (funciona mejor si utilizas un Windows XP ó Windows Server (que en realidad yo recomiendo que si lo vas a utilizar como "SERVIDOR" que utilices alguno de estos dos como sistema operativo), aunque también funciona con Vista o Windows 7).
  • Archivo de instalación de PHP.
  • Alguien a quien echarle la culpa si te sale mal :-)
     Ahora si, empecemos con el trabajo sucio:

     Descarga el instalador de PHP (si, leyeron bien INSTALADOR no el zip ni binarios) desde este vínculo: Instalador PHP y sigue las instrucciones en pantalla para instalarlo (o sea dale next, next, next hasta terminar la instalacióon) sólo hay que anotar las rutas a donde se ha instalado nuestro PHP.

   Ahora la configuración para el IIS:
  • Abrir el administrador del IIS (IIS Manager).
  • En el panel del lado izquierdo hay que expandir la carpeta de "local computer".
  • Hacer click en la carpeta "Web Service Extensions".
  • En el panel derecho dar click en "Add new web service extension...".
  • Ingresa "PHP ISAPI extension" como el nombre de la extension.
  • Click en el botón "Add" y navega hasta el archivo php5isapi.dll dentro de la carpeta donde se instaló el PHP (ya ven por que les dije que anotaran la ruta de instalación?!).
  • "Palomear" el cuadro donde dice "Set extension status to allowed" y dar click en "Ok".
  • Expandir la carpeta "local computer" en el panel izquierdo.
  • Dar click derecho en "Web Sites" y después en propiedades dentro del menú que se desplega.
  • Aquí hay que ir a la pestaña que dice "Home Directory" y hacer click en el botón "Configuration".
  • Ir a la pestaña "Mappings" y dar click al botón "Add".
  • Navegar hasta el archivo php5isapi.dll en la carpeta de instalación (Nota: si algunas carpetas de la ruta contienen espacios van a tener que encerrar TODA la ruta con el nombre de archivo con comillas "").
  • En donde dice "Extension" escriban ".php", sin las comillas.
  • En los botones que siguen seleccionar el que dice "Limit to" y escriban: GET, POST, HEAD.
  • Y por último denle click en "Ok" ó "Aceptar" hasta que se cierre por completo el grupo de cuadros con pestañas que se abrió.
  • Nuevamente hay que dar click derecho a la carpeta "Web Sites" e ir a las propiedades y a la pestaña de "Home Directory".
  • Aquí hay que cambiar el "Execute permisions" a "Scripts only" (y en los botones que de arriba de esto hay que dar permiso de ejecución a los scripts, escritura, lectura, etc que vaya a necesitar tu aplicación, de hecho, por lo general yo eligo todo menos "Directory browsing".
  • Y que creen?.....................  Con todos estos pasos todavía no funciona!  Jajaja, acuérdense que para que los cambios surtan efecto hay que reinicar el servicio de IIS o en su defecto reiniciar el servidor, por lo que en el panel izquierdo damos click derecho sobre "local computer" nos vamos a "All Tasks" y después damos click en "Restart IIS" para no tener que reiniciar toda la máquina.
  • Ahora sí viene lo bueno, abran su block de notas y escriban las siguientes líneas, no se les olvide guardar el archivo con el nombre test.php en la ruta C:\Inetpub\wwwroot:
               <html>
                  <head>
                     <title>Prueba de PHP</title>
                  </head>
                    <body>
                       <?php phpinfo(); ?>
                   </body>
               </html>

      Con este archivo podrán ver la información de configuración del PHP instalado en la máquina y así cambiar el php.ini a manera que ustedes lo necesiten para sus aplicaciones.

     Por cierto para ver el archivo desde otra máquina van a tener que escribir la dirección de su servidor (http://myservidor(o ip)/test.php) ó para verlo de manera local desde el navegador del mismo servidor entonces hay que escribir http://localhost/test.php, y por supuesto que les recomiendo que este archivo lo borren o le cambien el nombre para evitar que cualquier persona no autorizada pueda acceder a esta información.

     Espero que esta información les sea útil, y si es así por favor compártela para que todos veamos este mundo bizarro de una manera mucho más simple.