Saya suka jawaban mperrin Vagrant-centric , tetapi seperti yang Anda lihat dari komentar di sana, pendapat pribadi saya adalah untuk “tetap sederhana” dan saya akan merekomendasikan ekspor sederhana dari VirtualBox OVA karena Anda telah mengkonfigurasi dan meneruskannya kepada siswa Anda .
Yang mengatakan, Anda bertanya:
Pertanyaannya adalah, mengingat orang memiliki perangkat keras grafis yang berbeda, bagaimana cara kerjanya? Atau apakah itu berhasil? Dan jika ya, bagaimana cara saya mendistribusikannya? Apakah mereka harus menginstal VirtualBox, kemudian memuat beberapa file yang saya berikan kepada mereka, atau dapatkah saya membuat satu installer dengan mudah?
Beralih ke DevOps
Saya tidak terlalu yakin apa yang Anda ajarkan atau lakukan atau apa yang Anda harapkan siswa dapatkan dari seluruh latihan ini, tetapi banyak kekhawatiran Anda yang menyimpang ke ranah DevOps (pengembangan dan operasi) dan Anda mungkin ingin untuk mempertimbangkan mencampur konsep itu ke dalam ajaran Anda.
Sekarang saya tidak berpikir seluruh konsep DevOps perlu disampaikan, tetapi dalam pikiran saya kreasi Anda dari VirtualBox OVA yang stabil yang kemudian Anda sampaikan kepada siswa dan meminta mereka untuk digunakan di mesin rumah / sekolah mereka pasti akan membuka pintu untuk pertanyaan tentang bagaimana seseorang harus berurusan dengan pengaturan perangkat keras / sistem yang berbeda dan bagaimana seseorang dapat beradaptasi.
Jadi rekomendasi saya untuk Anda adalah sangat merekomendasikan agar siswa menggunakan VirtualBox OVA yang akan Anda siapkan, tetapi juga terbuka untuk memungkinkan siswa untuk hanya menginstal alat sendiri. Naluri saya memberi tahu saya 95% —atau lebih banyak — para siswa akan dengan senang hati dan mudah menggunakan metode VirtualBox OVA, tetapi Anda tidak dapat mengharapkannya 100% sempurna.
Mungkin pada akhirnya Anda hanya perlu memiliki beberapa persyaratan dasar untuk penggunaan alat kursus dan fleksibel dalam implementasinya.
Bersikaplah Fleksibel Mengenai Cara Menggunakan Alat
Sebagai contoh, saya melakukan banyak pengembangan PHP dan melakukan administrasi sistem / DevOps terkait dengan pengembangan PHP. Dan karena saya menggunakan Mac, saya lebih suka menggunakan MAMP untuk pengembangan lokal. Tapi saya bekerja dengan pengembang yang menggunakan Linux atau Windows untuk pengembangan mereka. Heck, beberapa suka menggunakan Vagrant ditambah dengan VirtualBox untuk kebutuhan pengembangan LAMP mereka. Dan sikap saya adalah saya tidak peduli apa pengaturan OS dasar mereka. Selama versi PHP mereka sejalan dengan versi yang digunakan klien saya, saya baik-baik saja dengan apa pun.
Kadang-kadang pengembang akan menyatakan bug disebabkan karena — misalnya — kode yang saya uji pada MAMP adalah “tidak sama” dengan apa yang akan ada pada pengaturan Linux LAMP. Dan saya katakan dengan keyakinan 100%, bahwa saya selalu membuktikan bahwa masalahnya bukan basis OS melainkan coding PHP itu sendiri.
Jadi semua ini hanya untuk menyampaikan hal-hal berikut: Bersikaplah fleksibel dalam penjelasan Anda tentang penggunaan pengaturan VirtualBox kepada siswa dan jangan berharap memberi makan sendok OS untuk hanya mengakhiri semua masalah. Ini mungkin mengetuk 95% masalah Anda di luar taman, tetapi 5% sisanya harus selalu ditangani dengan cara tertentu. Jadi, lihat pengaturan VirtualBox - dan mungkin skrip Vagrant - sebagai alat yang dapat digunakan dalam gudang senjata untuk membuat hidup lebih mudah bagi sebagian orang, tetapi belum tentu solusi akhir untuk semua masalah.