Mi piace la risposta incentrata su Vagrant di mperrin , ma come puoi vedere dai commenti lì, la mia opinione personale è di "mantenerlo semplice" e raccomanderei una semplice esportazione di un VirtualBox OVA come hai configurato e passandolo ai tuoi studenti .
Detto questo, chiedi questo:
La domanda è, dato che le persone hanno hardware grafico diverso, come funziona? O funziona? E se lo fa, come lo distribuisco? Devono installare VirtualBox, quindi caricare alcuni file che gli do o posso creare facilmente un singolo programma di installazione?
Virare in DevOps
Non sono troppo sicuro di ciò che stai insegnando o facendo o di cosa ti aspetti che i tuoi studenti escano da questo intero esercizio, ma molte delle preoccupazioni che stai trasmettendo vanno nel regno di DevOps (sviluppo e operazioni) e che potresti desiderare considerare di mescolare questo concetto nei tuoi insegnamenti.
Ora non credo che l'intero concetto di DevOps debba essere trasmesso, ma nella mia mente la tua creazione di un VirtualBox OVA stabile che poi passi agli studenti e chiedi loro di usare sulle loro macchine a casa / scuola aprirebbe sicuramente una porta a domande su come gestire le diverse configurazioni hardware / di sistema e su come adattarsi.
Quindi la mia raccomandazione per te è di raccomandare fortemente agli studenti di utilizzare VirtualBox OVA che avresti impostato, ma anche di essere aperto a consentire agli studenti di installare semplicemente gli strumenti da soli. Il mio istinto mi dice che il 95%, o più, degli studenti userebbe felicemente e facilmente il metodo VirtualBox OVA, ma non puoi aspettarti che sia perfetto al 100%.
Forse alla fine dovresti avere solo una base di requisiti per l'utilizzo degli strumenti del corso ed essere flessibile nella loro implementazione.
Sii flessibile riguardo al modo in cui vengono utilizzati gli strumenti
Ad esempio, faccio molto sviluppo PHP e gestisco sistemi / DevOps relativi allo sviluppo PHP. E poiché sono su un Mac, preferisco usare MAMP per lo sviluppo locale. Ma lavoro con sviluppatori che usano Linux o Windows per il loro sviluppo. Diamine, ad alcuni piace usare Vagrant insieme a VirtualBox per le loro esigenze di sviluppo LAMP. E il mio atteggiamento è che non mi interessa quale sia la loro configurazione del sistema operativo di base. Finché la loro versione di PHP è in linea con le versioni utilizzate dai miei clienti, sto bene con qualunque cosa.
Occasionalmente uno sviluppatore dichiarerà che è stato causato un errore perché, ad esempio, il codice che ho testato su MAMP non è "lo stesso" di quello che sarebbe su una configurazione LAMP di Linux. E dico con sicurezza al 100%, che ho sempre dimostrato che il problema non è il sistema operativo di base, ma piuttosto il codice PHP stesso.
Quindi tutto questo blather è fondamentalmente per comunicare quanto segue: Sii flessibile nella tua spiegazione sull'uso di una configurazione di VirtualBox agli studenti e non aspettarti che alimentare un sistema operativo semplicemente risolva tutti i problemi. Potrebbe buttare fuori dal parco il 95% dei tuoi problemi, ma quel restante 5% dovrà sempre essere affrontato in qualche modo. Quindi guarda un'impostazione di VirtualBox - e forse uno script Vagrant - come uno strumento che può essere usato in un arsenale per rendere la vita più facile ad alcuni, ma non necessariamente la soluzione definitiva per tutti i problemi.