Skip to content

Commit

Permalink
Updated README.md for base image
Browse files Browse the repository at this point in the history
  • Loading branch information
hochleitner committed Mar 1, 2023
1 parent f13048c commit 675244c
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions fhooe-webdev-base/README.md
Original file line number Diff line number Diff line change
@@ -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 <https://www.virtualbox.org/wiki/Downloads> and install. Alternatively, when running Windows, use [Chocolatey](https://chocolatey.org/): `choco install virtualbox`.
2. Download the latest version of Vagrant from <https://www.vagrantup.com/downloads.html> and install. With Chocolatey on Windows run `choco install vagrant`.
1. Download the latest version of VirtualBox from <https://www.virtualbox.org/wiki/Downloads> and install it. Alternatively, when running Windows, use [Chocolatey](https://chocolatey.org/): `choco install virtualbox`.
2. Download the latest version of Vagrant from <https://www.vagrantup.com/downloads.html> 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 <path-to>/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 <path-to>/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:

Expand All @@ -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.

Expand All @@ -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".

Expand All @@ -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
Expand Down

0 comments on commit 675244c

Please sign in to comment.