<ol>
<li>Download and install virtualbox:
https://www.virtualbox.org/wiki/Downloads</li>
- <li>Install the extension pack for virtualbox: This provides USB drivers
- and other features. This is installed on virtualbox itself, not on
- the guests.</li>
+ <li>Install the extension pack for Virtualbox: This provides USB drivers
+ and other features. This is installed on Virtualbox itself (on the
+ Host PC), not on the guests.</li>
<ol>
<li>Download the extension pack at
https://www.virtualbox.org/wiki/Downloads</li>
- <li>Stop any running virtualbox vms.</li>
- <li>Close virtualbox control panel.</li>
+ <li>Stop any running Virtualbox VMs.</li>
+ <li>Close the Virtualbox control panel.</li>
<li>Double-click on the downloaded extensions package (in a file
- explorer) and virtualbox should install it.</li>
+ explorer) and Virtualbox should be launched to install it.</li>
</ol>
- <li>Run the virtualbox control panel.</li>
+ <li>Run the Virtualbox control panel.</li>
<li>Download the cakelampvm guest vm package and unzip it. Store the
unzipped version in some appropriate place where you want the virtual
machine to reside on your host's hard drive.</li>
- <li>Add the guest VM to your list of VMs. From the virtualbox menus,
+ <li>Add the guest VM to your list of VMs. From the Virtualbox menus,
choose the "Machine" menu and select "Add". Point the selector
dialog at the cakelampvm folder you created above and open the
cakelampvm.vbox file.</li>
machines. Before starting it, perform the following network
configuration sections.</li>
</ol>
- <h3>Configure the Host-Only network on virtualbox<a id="#host-only" name="#host-only"></a></h3>
+ <h3>Configure the Host-Only network on Virtualbox<a id="#host-only" name="#host-only"></a></h3>
<p>Configuring host-only networking for the VM makes the VM completely local
to your machine. The cakelampvm will not be accessible on the
internet or from the LAN, and can only be accessed by your host PC.</p>
- <p>Note: If the host-only or NAT network exist ahead of time, virtualbox may
+ <p>Note: If the host-only or NAT network exist ahead of time, Virtualbox may
complain about them even if they have the correct configuration.
This can be corrected simply by opening the VM settings and selecting the
appropriate network names again.</p>
</ol>
<p>Additional information on host-only (and other) network adapter types is
at: https://www.virtualbox.org/manual/ch06.html#network_nat_service</p>
- <h3>Configure the NAT Network on virtualbox<a id="#nat-network" name="#nat-network"></a></h3>
+ <h3>Configure the NAT Network on Virtualbox<a id="#nat-network" name="#nat-network"></a></h3>
<p>The NAT (Network Address Translation) network allows the VM to get off of
the machine and onto the internet safely. It will use this interface
for any communication off of the host machine. Since the real IP
<img alt="nat net config" src="images/nat_network_config.png"></li>
</ol>
<h2>Starting up the VM<a id="#start-vm" name="#start-vm"></a></h2>
- <p>Using the virtualbox interface, you should now be able to start your
+ <p>Using the Virtualbox interface, you should now be able to start your
virtual machine. Virtualbox will complain if it detects any
remaining configuration problems in the VM, but it should start
normally. The Linux boot sequence will show many lines of text,
steps:</p>
<ol>
<li>Create a folder on the host that is to be shared.</li>
- <li>Right-click on the vm in virtualbox manager and choose "Settings".</li>
+ <li>Right-click on the vm in Virtualbox manager and choose "Settings".</li>
<li>In the "Shared Folders" tab of the settings, go to "Machine Folders".</li>
<li>Click the folder plus icon to create a new share.</li>
<li>Fill in the "Folder Path" on the host PC to the folder that will be
<pre># sudo service apache2 restart</pre>
<h3>Test the new web site</h3>
<p>Given the configuration above, your host PC should now be able to access
- the new website.</p>
+ the new website on the domain "excalibur.tv".</p>
<p>To test this, first try pinging the new DNS name:</p>
<pre># ping excalibur.tv</pre>
- <p>If there are responses to the ping, it means the DNS is working. If
- there are no responses, check the instructions in the above DNS option
- section.</p>
- <p>Once the DNS is working, one can try browsing to the site at:
- http://greatsite.cakelampvm.com or http://greatsite.tv (depending on the
- DNS option chosen).</p>
- <p>If the site is not showing up properly, try examining the apache logs for
- error messages that can be corrected. The log files are stored in
- /var/log/apache2 and are generally named after the website.</p>
+ <p>If there are responses to the ping *and* the answer is 10.28.42.20, then
+ it means the DNS is working. If there are no responses or it's some
+ other IP address talking back, check the instructions in the above DNS
+ sections.</p>
+ <p>Once the DNS is working, try browsing to the site at "http://excalibur.tv".
+ That should at least bring up the configured site storage path, even if
+ nothing is being served from that folder yet.</p>
+ <p>If the new site is not showing up properly, try examining the apache logs
+ for error messages that can be corrected. The log files are stored
+ in "/var/log/apache2" and are named after the website (if configured as
+ shown above).</p>
+ <h2>Handy Techniques</h2>
+ <h3>Assorted Guides and Cheat-Sheets</h3>
+ <p>Cheat sheet for Vim: <a title="vim commands" href="https://vim.rtorr.com/">https://vim.rtorr.com/</a></p>
+ <p>Git branching model that seems to work well: <a title="release and patch process"
+ href="http://nvie.com/posts/a-successful-git-branching-model/">http://nvie.com/posts/a-successful-git-branching-model/</a></p>
+ <h3>Get the network address on the guest vm</h3>
+ <p>Run this command: ifconfig</p>
+ <p>In the results, look for "inet addr". There may be more than one,
+ if there are multiple network interfaces.</p>
+ <h3>How to cleanly reboot or shut down the guest VM</h3>
+ <p>When you've got the DNS and everything integrated, these commands will
+ manage the vm's state:</p>
+ <p>First, log into the guest VM: ssh developer@cakelampvm.com</p>
+ <p>Then, reboot the guest VM: sudo reboot</p>
+ <p>Or, halt the guest VM: sudo shutdown -h now</p>
+ <p>Using these commands is better than just cycling the power from the
+ Virtualbox control panel.</p>
+ <p><br>
+ </p>
+ <p><br>
+ </p>
+ <p><br>
+ </p>
+ <h1>Gritty Details</h1>
+ <p>This is the lowest level of plumbing for your VM. Hopefully you
+ will not need to engage with this section. The most useful area here
+ is the one below about the "Virtualbox guest additions", which you will
+ probably need at some future point. Oracle releases updates to the
+ guest additions fairly regularly.</p>
<h2>Configuring the guest VM</h2>
<p>The guest VM should already be set up appropriately. These steps
are provided for reference and updates.</p>
- <h3>Set up virtualbox guest additions for the VM</h3>
- <p>** note for v001 of cakelampvm: the below steps are still needed on the
- shipped image.</p>
- <p>This procedure is needed if the guest provides an older or incompatible
- version of the guest additions (which have already been installed on the
- guest vm). It may also be necessary when a new version of the guest
- additions becomes available.</p>
+ <h3>Set up Virtualbox guest additions for the VM</h3>
+ This procedure is needed if the guest provides an older or incompatible
+ version of the guest additions (which have already been installed on the
+ guest vm). It may also be necessary when a new version of the guest
+ additions becomes available.
<ol>
<li>To install the guest additions, open the guest VM and have its window
in focus.</li>
Image". This will mount the CD's ISO image on the VM.</li>
<li>On the guest VM, it may be necessary to mount the CD image that's now
available:<br>
- sudo mount /dev/sr0 /media/cdrom</li>
+ <pre># sudo mount /dev/sr0 /media/cdrom</pre>
+ <p>Linux will mention that the device is mounted "read-only".</p>
+ </li>
<li>Since the VM currently has no windowing system installed, one must
start the Guest Additions install manually:<br>
- cd /media/cdrom<br>
- sudo sh VBoxLinuxAdditions.run</li>
- <li>This should install the guest additions.</li>
+ <pre># cd /media/cdrom<br># sudo sh VBoxLinuxAdditions.run</pre>
+ </li>
+ <li>The latest Virtualbox guest additions should now be installed.</li>
</ol>
<h3>Set up network adapters on guest VM</h3>
<p>The network interfaces should already be configured on the guest within
- the virtualbox configuration. This is available by clicking on the
- VM in the virtualbox manager and selecting "Settings". These are the
+ the Virtualbox configuration. This is available by clicking on the
+ VM in the Virtualbox manager and selecting "Settings". These are the
configuration settings used:</p>
Adapter 1:<br>
Attached to: Host-only Adapter<br>
<pre>auto enp0s8</pre>
<pre>iface enp0s8 inet dhcp</pre>
<p> </p>
- <h2>Handy Techniques</h2>
- <h3>Assorted Guides and Cheat-Sheets</h3>
- <p>Cheat sheet for Vim: <a title="vim commands" href="https://vim.rtorr.com/">https://vim.rtorr.com/</a></p>
- <p>Git branching model that seems to work well: <a title="release and patch process"
- href="http://nvie.com/posts/a-successful-git-branching-model/">http://nvie.com/posts/a-successful-git-branching-model/</a></p>
- <p><br>
- </p>
- <h3>Get the network address on the guest vm</h3>
- <p>Run this command: ifconfig</p>
- <p>In the results, look for "inet addr". There may be more than one,
- if there are multiple network interfaces.</p>
- <h3>How to cleanly reboot or shut down the guest VM</h3>
- <p>When you've got the DNS and everything integrated, these commands will
- manage the vm's state:</p>
- <p>First, log into the guest VM: ssh developer@cakelampvm.com</p>
- <p>Then, reboot the guest VM: sudo reboot</p>
- <p>Or, halt the guest VM: sudo shutdown -h now</p>
- <p>Using these commands is better than just cycling the power from the
- virtualbox control panel.</p>
<h2>Notes on building the Cake Lamp VM</h2>
<p>This is all work that should already have been done. It is
mentioned here just as breadcrumbs for a future vm builder.</p>
<ul>
- <li>Downloaded and installed virtualbox for host computer (where the vm
+ <li>Downloaded and installed Virtualbox for host computer (where the vm
image will be built).</li>
<li>Downloaded ubuntu server 16.04 iso.
(https://www.ubuntu.com/download/server)</li>
- <li>Created a new vm in virtualbox, telling it to start from the ubuntu
+ <li>Created a new vm in Virtualbox, telling it to start from the ubuntu
server iso.</li>
<li>Installed LAMP stack on guest VM. Some help here:
http://howtoubuntu.org/how-to-install-lamp-on-ubuntu</li>
https://askubuntu.com/questions/628938/how-to-install-cakephp-in-ubuntu-14-04</li>
<li>Configured the two network adapters as needed (one for host-only
network and one for nat network). Here's some info about
- virtualbox networking with two adapters similar to our setup:
+ Virtualbox networking with two adapters similar to our setup:
https://askubuntu.com/questions/293816/in-virtualbox-how-do-i-set-up-host-only-virtual-machines-that-can-access-the-in<br>
</li>
<li>Installed and configured Samba service for the guest VM. The
here:
https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-%20Uncomplicated%2C%20Simple%20and%20Brief%20Way%21</li>
</ul>
- <p><span style="font-style: italic;"><br>
- </span></p>
- <p><span style="font-style: italic;"><br>
- </span></p>
- <p><span style="font-style: italic;"><br>
- </span></p>
- <p><span style="font-style: italic;">remaining work:</span></p>
- <p>todo: arrange gritty details to back.</p>
- <p>todo: toc goes after intro paragraph.</p>
<p><br>
</p>
+ <ul>
+ </ul>
<h6> </h6>
- <h2><span style="text-decoration: underline;"><br>
- </span></h2>
<p> </p>
</body>
</html>