Me gusta la respuesta centrada en Vagrant de mperrin , pero como puede ver en los comentarios allí, mi opinión personal es "mantenerlo simple" y recomendaría una exportación simple de un VirtualBox OVA como lo configuró y se lo pasó a sus estudiantes .
Dicho esto, preguntas esto:
La pregunta es, dado que las personas tienen hardware gráfico diferente, ¿cómo funciona? ¿O funciona? Y si lo hace, ¿cómo lo distribuyo? ¿Tienen que instalar VirtualBox, luego cargar algunos archivos que les doy, o puedo crear un único instalador fácilmente?
Virando hacia DevOps
No estoy muy seguro de lo que estás enseñando o haciendo o de lo que esperas que tus estudiantes salgan de todo este ejercicio, pero muchas de las preocupaciones que estás transmitiendo se desvían al ámbito de DevOps (desarrollo y operaciones) y es posible que quieras considerar mezclar ese concepto en sus enseñanzas.
Ahora no creo que deba transmitirse todo el concepto de DevOps, pero en mi opinión su creación de un VirtualBox OVA estable que luego pasa a los estudiantes y les pide que usen en las máquinas de su hogar / escuela definitivamente abriría una puerta a preguntas sobre cómo se debe tratar con diferentes configuraciones de hardware / sistema y cómo se puede adaptar.
Por lo tanto, mi recomendación para usted es recomendar encarecidamente que los estudiantes usen el VirtualBox OVA que configuraría, pero que también esté abierto a permitir que los estudiantes simplemente instalen herramientas por su cuenta. Mi instinto me dice que el 95%, o más, de los estudiantes usaría feliz y fácilmente el método VirtualBox OVA, pero no puede esperar que sea 100% perfecto.
Quizás al final debería tener algunos requisitos básicos para el uso de la herramienta del curso y ser flexible en su implementación.
Sea flexible con respecto a cómo se usan las herramientas
Por ejemplo, desarrollo mucho PHP y administro / DevOps de sistemas relacionados con el desarrollo PHP. Y como estoy en una Mac, prefiero usar MAMP para el desarrollo local. Pero trabajo con desarrolladores que usan Linux o Windows para su desarrollo. Diablos, a algunos les gusta usar Vagrant junto con VirtualBox para sus necesidades de desarrollo de LAMP. Y mi actitud es que no me importa cuál es su configuración básica del sistema operativo. Mientras su versión PHP esté en línea con las versiones que usan mis clientes, estoy bien con lo que sea.
Ocasionalmente, un desarrollador indicará que un error se debe a que, por ejemplo, el código que he probado en MAMP "no es el mismo" que lo que sería en una configuración de Linux LAMP. Y digo con 100% de confianza, que siempre he demostrado que el problema no es el sistema operativo base sino la codificación PHP en sí.
Entonces, todo esto es básicamente transmitir lo siguiente: simplemente sea flexible en su explicación del uso de una configuración de VirtualBox a los estudiantes y no espere que un sistema operativo alimente con cuchara simplemente termine todos los problemas. Podría eliminar el 95% de sus problemas del parque, pero ese 5% restante siempre tendrá que abordarse de alguna manera. Por lo tanto, mire una configuración de VirtualBox, y tal vez un script Vagrant, como una herramienta que se puede usar en un arsenal para facilitar la vida de algunos, pero no necesariamente la solución final para todos los problemas.