diff --git a/fhooe-webdev-base/README.md b/fhooe-webdev-base/README.md index 83c8b21..b3405bf 100644 --- a/fhooe-webdev-base/README.md +++ b/fhooe-webdev-base/README.md @@ -1,41 +1,41 @@ # fhooe-webdev-base – A Vagrantfile for Developing the fhooe-webdev Vagrant Box -This directory provides the Vagrantfile that configures the [fhooe/fhooe-webdev box](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev). It is based on the [bento/ubuntu-21.10 box](https://app.vagrantup.com/bento/boxes/ubuntu-21.10) and adds Apache2, PHP 8.1, MariaDB 10.7, as well as additional tools and scripts. +This directory provides the Vagrantfile that configures the [fhooe/fhooe-webdev box](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev). It is based on the [bento/ubuntu-22.04 box](https://app.vagrantup.com/bento/boxes/ubuntu-22.04) and adds Apache2, PHP 8.2, MariaDB 10.11, and additional tools and scripts. -This Vagrantfile is solely meant for developing the final Vagrant box. Although you can use for web development, provisioning the image takes some time and is most likely not very convenient. +This Vagrantfile is solely meant for developing the final Vagrant box. Although you can use it for web development, provisioning the image takes time and is most likely inconvenient. -## Installation of software and prerequisites +## Installation of Software and Prerequisites To use this environment, you will need [VirtualBox](https://www.virtualbox.org/) and [Vagrant](https://www.vagrantup.com/). For them to work on your machine, make sure the following prerequisites are fulfilled: * Virtualization is activated in BIOS. * 10 GB of disk space is available locally. If possible, use an SSD for better performance. -* [Windows] At least VirtualBox 6.1.26 under Windows 10 21H1 or Hyper-V deactivated when using an earlier version. -* [Mac OS X] Make sure, VirtualBox has the necessary permissions. Go to "System Settings -> Security -> Allow Virtual Box". +* [Windows] At least VirtualBox 6.1.26 under Windows 10 21H1 or Hyper-V deactivated when using an earlier version. Version 7 and the latest version of Windows are recommended. +* [Mac OS X] Make sure VirtualBox has the necessary permissions. Go to "System Settings -> Security -> Allow Virtual Box". Then install the required software in the following order: -1. Download the latest version of VirtualBox from and install. Alternatively, when running Windows, use [Chocolatey](https://chocolatey.org/): `choco install virtualbox`. -2. Download the latest version of Vagrant from and install. With Chocolatey on Windows run `choco install vagrant`. +1. Download the latest version of VirtualBox from and install it. Alternatively, when running Windows, use [Chocolatey](https://chocolatey.org/): `choco install virtualbox`. +2. Download the latest version of Vagrant from and install it. With Chocolatey on Windows, run `choco install vagrant`. 3. Reboot your computer for all changes to take effect. -## How to use +## How to Use Follow these steps to build a new fhooe/fhooe-webdev base box and distribute it on Vagrant Cloud. -### Downloading and customizing +### Downloading andCustomizing Download or clone the [fhooe-webdev](https://github.com/Digital-Media/fhooe-webdev) repository to a location of your choice on your computer. -Make all the changes in the Vagrantfile of the `fhooe-webdev-base` directory. Make sure to document everything in the Vagrantfile, if possible, use `echo` statements to show what you are doing. +Make all the changes in the Vagrantfile of the `fhooe-webdev-base` directory. Make sure to document everything in the Vagrantfile; if possible, use `echo` statements to show what you are doing. -To test everything, switch to the directory where you cloned/downloaded the repository, and select the development subdirectory, e.g., `cd /fhooe-webdev/fhooe-webdev-base`. Then run `vagrant up`. This will download the [bento/ubuntu-21.10 box](https://app.vagrantup.com/bento/boxes/ubuntu-21.10) (a minimal Ubuntu image) from Vagrant Cloud, and run all the provisioning steps from the Vagrantfile. Finally, the machine is run in headless mode. Use `vagrant ssh` to connect to the box and make sure everything is running and configured as planned. +To test everything, switch to the directory where you cloned/downloaded the repository, and select the development subdirectory, e.g., `cd /fhooe-webdev/fhooe-webdev-base`. Then run `vagrant up`. This will download the [bento/ubuntu-22.04 box](https://app.vagrantup.com/bento/boxes/ubuntu-22.04) (a minimal Ubuntu image) from Vagrant Cloud, and run all the provisioning steps from the Vagrantfile. Finally, the machine is run in headless mode. Use `vagrant ssh` to connect to the box and ensure everything is running and configured as planned. -### Creating the fhooe/fhooe-webdev box +### Creating the fhooe/fhooe-webdev Box If the image has started successfully and all provisioning has worked out as planned, you can package the current state of the machine into a Vagrant box file, which can then be uploaded to Vagrant Cloud as a new release. -#### Cleaning up the image +#### Cleaning up the Image Before packaging, clean up the image to remove unnecessary files. SSH into the box using `vagrant ssh` and run the subsequent commands: @@ -58,7 +58,7 @@ Finally, the bash history is cleared and the SSH connection is exited: $ cat /dev/null > ~/.bash_history && history -c && exit ``` -#### Packaging the Vagrant box +#### Packaging the Vagrant Box The currently running (and now cleaned) machine is promptly packaged into a Vagrant box file so it can be uploaded to Vagrant Cloud and made available for distribution. @@ -70,7 +70,7 @@ Replace `X.Y.Z` with the version number you're planning to release. Frankly, the ### Uploading to Vagrant Cloud -Go to the [fhooe/fhooe-webdev site](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev) on Vagrant Cloud, log in and select [New Version](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev/versions/new). +Go to the [fhooe/fhooe-webdev site](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev) on Vagrant Cloud, login, and select [New Version](https://app.vagrantup.com/fhooe/boxes/fhooe-webdev/versions/new). Add a version number in the RubyGems versioning scheme (e.g. 1.2.3). Do *not* precede the version number with a "v" (e.g. v1.2.3). Also, add a description for this version. This functions as release notes, so include what has changed in this release. Then click "Create version". @@ -80,7 +80,7 @@ Once the version has been created, select "Add a provider" to add the actual box PS> Get-FileHash -Path .\fhooe-webdev-vX.Y.Z.box -Algorithm SHA512 | Format-List ``` -On Linux and Mac OS X use this in your terminal: +On Linux and macOS use this in your terminal: ```shell $ shasum -a512 fhooe-webdev-vX.Y.Z.box