En la entrada Preparando PHP5 comenté que estaba actualizando lo que yo llamo mi "localhost", o sea, la instalación en mi sistema de Apache, MySQL y PHP, básicamente.

Se trata de algo así como una versión casera del proyecto XAMPP de Apache Friends. Mantener en una sola carpeta ("localhost") las instalaciones del software susomentado, de modo que puedas hacer una copia de la misma y no tener que repetir la instalación del software.

Pues bien, comenté que estaba actualizando las versiones de Apache, MySQL y PHP. Y que en mi "localhost" anterior (con versiones anteriores del software que digo) usaba un programa de cosecha propia encargado de instalar, desinstalar, iniciar y detener los Servicios de Apache y MySQL.

Pensaba que iba a tener que realizar pocos cambios al actualizar el Software, pero, resulta que no es así. Así que he dejado mi programa "monitor" aparte y me he puesto a escribir un "control de localhost" en un sencillo archivo "BAT".

¿La principal ventaja? Me evita pegarme (más de lo que lo he hecho) con mi antiguo programa "monitor" para ver porqué no funciona correctamente con las nuevas versiones del software de "localhost". O que también me atraía el tema de usar un archivo "BAT".

¿La principal desventaja? Que mi antiguo programa "monitor" monitoreaba de veras, es decir, entre sus características estaba el mantenerme informado (mediante un icono en la bandeja del sistema, ya sabes, al lado del reloj) de si los Servicios de Apache y MySQL estaban en marcha o no.

Con el "control de localhost" mediante el archivo "BAT" (cuya versión actual puedes ver abajo) no se dispone de ningún "monitor", y para comprobar que un Servicio está funcionando hay que probarlo... o forzar su inicio mediante el propio control.

Pero, mira, ya está hecho, me he divertido y me parece que no merece la pena ir más allá por el momento. Funciona como esperaba y creo que no voy a necesitar más. Ahora toca entrar en PHP5 y dejarme de preparamientos y demás.

Nota: Si quieres echar un vistazo al archivo "BAT" de que hablo haz clic en el enlace "Lee el resto de esta entrada".

@ECHO off
CLS
COLOR f0
TITLE Control de "localhost"
 
:: (c) 2007 David Esperalta
 
SET MYSQL=C:localhostmysqlbinmysqld.exe
SET OLIBMYSQL=C:localhostphplibmysql.dll
SET APACHE=C:localhostapachebinhttpd.exe
SET APACHELOGS=C:localhostapachelogs*.log
SET MINIRELAY=C:localhostsmtpminiRelay.exe
SET INDEXPHP=http://localhost/index.php
SET DLIBMYSQL=C:WindowsSystem32libmysql.dll
 
SET RSTITLE= Control de "localhost"
SET TAREA_1= Iniciar los Servicios
SET TAREA_2= Detener los Servicios
SET TAREA_3= Reiniciar el Servidor
SET TAREA_4= Instalar los Servicios
SET TAREA_5= Desinstalar los Servicios
SET TAREA_6= Eliminar "logs" de Apache
SET TAREA_7= Iniciar el Servidor SMTP
SET TAREA_0= Cerrar / Salir
SET RSERROR= Pulsa la tecla de la tarea
 
 
:INICIO
CLS
ECHO.
ECHO %RSTITLE%
ECHO.
ECHO.
ECHO  1. %TAREA_1%
ECHO.
ECHO  2. %TAREA_2%
ECHO.
ECHO  3. %TAREA_3%
ECHO.
ECHO  4. %TAREA_4%
ECHO.
ECHO  5. %TAREA_5%
ECHO.
ECHO  6. %TAREA_6%
ECHO.
ECHO  7. %TAREA_7%
ECHO.
ECHO.
ECHO  0. %TAREA_0%
ECHO.
ECHO.
SET ENTRADA=
SET /P ENTRADA=
if NOT "%ENTRADA%" == "" GOTO:%ENTRADA%
% else % GOTO:INFO
 
 
:0
GOTO:FINAL
 
 
:1
CLS
ECHO.
ECHO %TAREA_1%
ECHO.
NET START MySQL
%APACHE% -k start
start %INDEXPHP%
GOTO:INICIO
 
 
:2
CLS
ECHO.
ECHO %TAREA_2%
ECHO.
NET STOP MySQL
%APACHE% -k stop
GOTO:INICIO
 
 
:3
CLS
ECHO.
ECHO %TAREA_3%
ECHO.
%APACHE% -k restart
GOTO:INICIO
 
 
:4
CLS
ECHO.
ECHO %TAREA_4%
ECHO.
%APACHE% -k install
%MYSQL% --install-manual
IF NOT EXIST %DLIBMYSQL% copy %OLIBMYSQL% %DLIBMYSQL%
GOTO:INICIO
 
 
:5
CLS
ECHO.
ECHO %TAREA_5%
ECHO.
NET STOP MySQL
%APACHE% -k stop
%MYSQL% --remove
%APACHE% -k uninstall
IF EXIST %DLIBMYSQL% DEL %DLIBMYSQL%
GOTO:INICIO
 
 
:6
CLS
ECHO.
ECHO %TAREA_6%
ECHO.
del %APACHELOGS%
GOTO:INICIO
 
 
:7
CLS
ECHO.
ECHO %TAREA_7%
ECHO.
start %MINIRELAY%
GOTO:INICIO
 
 
:INFO
CLS
ECHO.
ECHO %RSTITLE%
ECHO.
ECHO %RSERROR%
PAUSE >NUL
GOTO:INICIO
 
 
:FINAL
CLS