Header Ads

UniServer Zero

Existen muchos paquetes tipo All-in-One para gestión de bases de datos MySQL/MariaDB, etc. que incorporan servidor web Apache, intérpretes para lenguajes de script PHP, etc. Los más populares son la familia "amp":  Xampp, Wamp, Mamp, Lamp
Sin embargo existe otro llamado Uniserver Zero (Uniform Server), o simplemente UZero, que si bien es poco conocido, no tiene nada que envidiarle a los grandes. Y de lejos es la mejor alternativa para equipos con pocos recursos. Es portable, consume muy pocos recursos e incluye todo los juguetes necesarios (Apache + MySQL + PHP, etc.). 
Su funcionamiento es simple. Basta con descargar el paquete de sourceforge de apenas 42.6 MB (al momento de esta publicación la última versión es la 14_0_3_ZeroXIV)
UZero v14.0.3
Lo ejecutamos y creará una carpeta en la unidad del sistema operativo (ej: c:\\UniServerZ) de aproximadamente 300 MB y el acceso directo en el escritorio "UniController. Lo ejecutamos con privilegios administrativos. Solicitará ingresar la nueva contraseña de root de MySQL (o podemos presiona cancelar). Se recomienda cambiar la contraseña por defecto root
Y si queremos trabajar con alguna versión específica de MySQL, MariaDB u otros componentes, descargamos los módulos que necesitemos y seguimos las instrucciones dentro del paquete para reemplazar la versión.
Portable
La idea de este programa es poder llevarlo a todas partes en nuestro almacenamiento externo. Para iniciar/detener manualmente MySQL y Apache Server, pulse los botones correspondientes o por línea de comandos, con privilegios, ejecute:
UniController.exe start_both
UniController.exe stop_both
Permanente
También podemos iniciarlo automáticamente con el arranque del sistema y convertirlo en permanente, o sea, iniciar UZero + MySQL Server + Apache Server. A continuación dos maneras sencillas de hacerlo. 
GUI
Al hacer clic derecho sobre "UniController" y "ejecutar como administrador", pulsamos en el menú "Extra\PC-Win Start-Up" y marcamos todas las casillas, cerramos y reiniciamos el PC. Lo mismo sería para eliminar el inicio automático. Entrar y desactivar las casillas y reiniciar.
Inicio Automático UZero + MySQL + Apache
Por línea de comandos
Asumiendo que la instalación la hayamos realizado en la unidad del sistema operativo (ej: c:\\UniServerZ), modificamos el archivo:
%homedrive%\UniServerZ\home\us_config\us_config.ini
Y cambiamos las siguientes líneas a verdadero ( true). Por defecto viene falso ( false):
RunAtPcStartUpEnabled=true
RunApacheAtStartUp=true
RunMysqlAtStartUp=true
Y abrimos la consola de windows CMD con privilegios y ejecutamos:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "UniServerRun" /t REG_SZ /F /D "%homedrive%\UniServerZ\UniController.exe pc_win_start"
Para 32 bits en máquinas de 64 bits, reemplazar el comando anterior por este (aunque no es necesario y se recomienda trabajar con sistemas x64):
REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run" /V "UniServerRun" /t REG_SZ /F /D "%homedrive%\UniServerZ\UniController.exe pc_win_start"
Y finalmente reiniciar el PC.
Para desactivar el inicio automático por línea de comandos, basta con cambiar true a false en el archivo us_config.ini y abrir con privilegios la consola CMD y ejecutar el siguiente comando:
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "UniServerRun" /f
o
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run" /v "UniServerRun" /f
También puede automatizarlo con un script en batch (pero aclaramos que el programa no tendrá privilegios administrativos). 
Para hacerlo creamos la carpeta UniServerZ/permanent con dos copias de us_config.ini, una con false ( us_config_portable.ini) y la otra con true ( us_config_permanent.ini) y creamos el script permanent.bat con el siguiente contenido, que ejecutaremos con privilegios (reiniciar para que tome los cambios):
@echo off
:Menu
echo.
echo UNISERVER ZERO: SET PORTABLE OR PERMANENT
echo You must reboot to take effect
echo.
echo 1. Set Permanent
echo 2. Restore Portable
echo 3. Reboot
echo 4. Exit
echo.
echo Write your number (1, 2, 3 or 4) and
echo Press ENTER
echo.
set /p var=
if %var%==1 goto :First
if %var%==2 goto :Second
if %var%==3 goto :Third
if %var%==4 goto exit
if %var% GTR 4 echo Error
goto :Menu
echo.
:First
@echo off
copy /b/v/y %homedrive%\UniServerZ\permanent\us_config_permanent.ini %homedrive%\UniServerZ\home\us_config\us_config.ini 
>NUL
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "UniServerRun" /t REG_SZ /F /D "%homedrive%\UniServerZ
\UniController.exe pc_win_start" >NUL
echo Done. Press a key
Pause>Nul
cls
goto :Menu
echo.
:Second
@echo off
copy /b/v/y %homedrive%\UniServerZ\permanent\us_config_portable.ini %homedrive%\UniServerZ\home\us_config\us_config.ini 
>NUL
REM for conflict reasons, delete this 3 keys if exist
setlocal enabledelayedexpansion
@for %%I in ("UniServerRun") do (
  reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /f >nul 2>nul
  reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /f >nul 2>nul
  reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /f >nul 2>nul
  )
endlocal
echo Done. Press a key
Pause>Nul
cls
goto :Menu
:Third
shutdown /r
Inicio cómo servicio
C:\UniServerZ\UniService.exe
También puede iniciar Apache + MySQL server como servicio instalando el módulo  ZeroXIV_uniservice (actualmente v2.3.0) y seguir las  instrucciones descritas en el sitio oficial.
Inicio con Privilegios
Si quiere que inicie con su sistema con privilegios, lo ideal es con el  Programador de Tareas (configurar el programa para que se ejecute con los privilegios más altos al iniciar la sesión) o con un acceso directo con privilegios (haga clic con el botón derecho en UniController > Propiedades > Compatibilidad, marcar "Ejecutar este programa como administrador" y Aceptar). 
hstart /NOUAC "C:\UniServerZ\UniController.exe"
Otra opción es echar mano del programa  Hidden Start (pago), el cual tiene las opciones  /UAC y  /NOUAC para correr el programa con privilegios mostrando o sin mostrar el aviso de UAC, con un script vbs, o con cualquier otra opción de las tantas disponibles.
Un ejemplo de integración en de UZero con otras aplicaciones podemos encontrarla en nuestro proyecto  uniOPOS.
Lo Malo
La mala noticia es que Uzero no cuenta con versión para linux. Pero si el desarrollador decide crearla, es muy probable que se convierta en el Web Server Stack por defecto de este sistema operativo.
Importante
Recuerde que UZero (al igual que Wamp, Xampp, etc) contiene MySQL, y esta base de datos depende de componentes de Microsoft Visual c++, en dependencia de la versión, por tanto se recomienda instalar WinExternal, antes de usar UZero
Con la tecnología de Blogger.