Pregunta

Tengo un CakePHP existente que se ejecuta en un entorno LAMP y necesito instalarlo en una unidad USB para distribución pública masiva.

Hay algunos requisitos:

  • Proteger el código fuente
  • No requiere instalación
  • Soporte de Windows esencial
  • MAC y amp; Linux sería una bonificación
  • Debe ejecutarse sin conexión, sin conexión a Internet
  • Capacidad de sincronizar con el servidor para la transferencia de datos y actualizaciones

He realizado una gran cantidad de investigación sobre las opciones y estoy ansioso por saber lo que piensan otros desarrolladores.

Soluciones potenciales:  - Flash / XML  - Aplicación Adobe AIR  - Servidor web USB (Server2Go, Aplicaciones portátiles XAMPP)

¿Alguien ha utilizado alguno de los anteriores? Cualquier comentario sería muy apreciado.

Gracias

¿Fue útil?

Solución

Esto es lo que solía ejecutar una aplicación CakePHP desde un DVD. También funcionó en USB (mientras aún lo estaba desarrollando).

http://www.server2go-web.de/

  

Server2Go es un servidor web que se ejecuta sin necesidad de instalación y en medios protegidos contra escritura. Esto significa que las aplicaciones web basadas en Server2Go se pueden usar directamente desde cdrom, un dispositivo USB o desde cualquier carpeta en un disco duro sin la molestia de configurar Apache, PHP o MySQL.   Server2Go le permite crear un sitio web de trabajo independiente o una aplicación PHP en un CD-ROM.

Es realmente agradable.

Otros consejos

Hilo similar aquí: Servidor web portátil USB

Si me preguntas, XAMPP debería hacerlo, ya que ofrece una versión " descomprimir " . Hay mucha variedad: Bitnami también ofrece una buena cantidad de pilas, aunque puede que no sean buenas para esta tarea en particular.

Para mantener los mismos scripts tanto en Windows como en Linux, puede considerar usar UnxUtils que es un puerto de todos los comandos comunes de Linux. Esto será muy útil si eres bueno en las secuencias de comandos de shell bash de Linux pero no eres bueno en los archivos por lotes de Windows .

Proteger el código fuente es un poco problemático. ¿Realmente, realmente necesitas hacerlo? Porque hay una gran cantidad de código abierto excelente que ya hace prácticamente todo en los dominios comerciales más comunes: sourceforge.net.

Y si alguien toma su código y lo llama propio, puede nombrarlo en Internet si puede probarlo. Eso sí será mala publicidad para ellos. Dicho esto, obviamente no conozco tu necesidad específica. Así que esa es solo mi opinión.

Tendrá problemas con esto, no importa cómo lo haga. Parece que cada paso es un poco más inusual.

Tendrá que usar un ofuscador de código fuente para proteger su fuente. Recomiendo el de Zend, no por experiencia, sino porque Zend hace productos increíbles. Nunca usé un protector de fuente yo mismo.

Necesitará tres instalaciones personalizadas de LAMP / MAMP / XAMP, una para cada sistema operativo de destino. Deben apuntar a un directorio compartido en la unidad USB. Asegúrese de configurarlos para usar un puerto desprotegido, de lo contrario, el usuario necesitará privilegios de administrador para ejecutar el software del servidor. Y poner en funcionamiento el servidor probablemente también provocará algunos inconvenientes.

En realidad, recomendaría encontrar algo que le permita distribuir un binario, o algo así como una aplicación de AIR destinada a este tipo de distribución. Es posible que deba volver a escribir gran cantidad de código, pero será más fácil de solucionar que todos los pequeños errores de instalación que verá en el extremo del cliente. Para empaquetar scripts en binarios sin reescribir cosas, consulte http://www.scriptol.com/apollo.php y productos similares.

Pero te sugiero que hagas una aplicación independiente en Adobe Air que se sincronice con tu servidor (tal vez incluso alguna integración de Google Gears, para que funcione sin conexión). No intente forzar una aplicación PHP en este modelo de distribución, creará problemas de pesadilla.

Puede usar MAMP para Mac, solo tendrá que editar la configuración para apuntar correctamente el directorio de sitios.

sin embargo, tendría el problema de que mysql db no necesariamente funcionaría con Windows. si cambiaste la base de datos a sqlite, podrías sincronizar el archivo sqlite db con bastante facilidad.

XAMPP funcionaría para el lado de Windows

lo siento, no sé sobre el lado de Linux.

Hay un servidor CakePHP InstaWeb

http://bakery.cakephp.org/articles/view / the-cakephp-instaweb-webserver

que se ejecuta en python y no necesita instalación. Esto, además de algunos beneficios adicionales, debería llevarte a la mitad del camino.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top