In order to run this project on your machine you have to install the following packages:
- Git. Checkout Git install on Ubuntu Server for more details.
- VirtualBox. Checkout Install VirtualBox on Linux Mint using CLI for more details.
- Vagrant. Checkout Vagrant Install on Linux Mint/Ubuntu Desktop for more details.
After the Requirements section is checked, open a console and follow this steps:
- Clone the GitHub project repository:
git clone firstname.lastname@example.org:liviubalan/liviubalan.com-vagrant-ubuntu.git
- Change the current directory to
- Create and configure the VirtualBox guest machine (more info on Vagrant Install ubuntu-precise32 and ubuntu-trusty32 on Linux Mint/Ubuntu Desktop):
vagrant up --provider virtualbox
192.168.56.101 http.liviubalan.com www.http.liviubalan.com 192.168.56.101 wp.liviubalan.com
- Connect to the virtual machine using:
You can also connect through SSH using other users witch are created by the provision shell scripts. For example, you can use:
More info about the user credentials you can find inside of provision-shell/resources/var.sh. If you want to learn more about SSH key-based authentication, SSH client configuration and more, you can checkout this SSH tutorials.
You have a lot of configuration options inside of
provision-shell/resources/var.sh but the usual values that you
want to change are:
- LIV_TUT_NO_START: Tutorial start step from which the provision will begin.
- LIV_TUT_NO_STOP: Maximum tutorial step until the provision will be made.
- LIV_TUT_NO_BEGIN: Run the begin (init) provision shell script.
- LIV_TUT_NO_END: Run the end (cleanup) provision shell script.
- LIV_TUT_NO_BEGIN_APT_UPDATE: Downloads the package lists from the repositories and "updates" them to get information on the newest versions of packages and their dependencies.
- LIV_TUT_NO_BEGIN_SHR_CLEAN: Remove all the files inside the shared directory.
- LIV_TUT_SH_END_LAST: Run tutorial end provision shell script for the last tutorial.
For more info about all the
provision-shell/resources/var.sh configuration options check the comments within the
In order to change the values for
Vagrantfile check the
In order to access files on your host machine from your guest virtual machine all you need to do is to access the
share directory located on the root of the project. Because this project is based on Vagrant, by default, all you
put inside of your project directory (the directory with the
Vagrantfile) from the host machine, will be shared to
/vagrant directory from the guest virtual machine.
Remember that if you set
LIV_TUT_NO_BEGIN_SHR_CLEAN=1 (the default value), the init provision shell script will
delete all the files inside the shared directory. This is done in order to avoid filesystem conflicts. Read the
provision-shell/resources/var.sh for more details.
One of the cool parts of this project is that you can use incremental development in order to follow the tutorials in a fixed order. The tutorials from www.liviubalan.com are numbered starting from "1" and correspond to the # title part. In order to use incremental development, most of the time all you have to do is to change the LIV_TUT_NO_START and LIV_TUT_NO_STOP configuration options above and after this you will have 2 options:
- Destroy all the resources associated with current Vagrant project and recreate and reconfigure the VirtualBox guest machine (more info on Vagrant destroy command and Vagrant Install ubuntu-precise32 and ubuntu-trusty32 on Linux Mint/Ubuntu Desktop):
vagrant destroy -f vagrant up --provider virtualbox
This approach is especially useful if you're new to Vagrant or you want to avoid any potential decremental development problems.
- Run the configured shell provisioner (more info on Vagrant provision command):
You can decrease the provision loading time by using this command and also you can make more teaks by changing the LIV_TUT_NO_BEGIN, LIV_TUT_NO_END, LIV_TUT_NO_BEGIN_APT_UPDATE, LIV_TUT_NO_BEGIN_SHR_CLEAN and LIV_TUT_SH_END_LAST configuration options above. But remember that you can get in some troubles if you're using decremental development. For more info check Vagrant provision command.
If you experience problems when using
vagrant up --provider virtualbox you can change the following values inside
of your Vagrantfile:
- vb.gui: Display the VirtualBox GUI when booting the machine.
- vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"] and vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]: If you experience network problems you can uncomment this lines.
- config.vm.boot_timeout: The time in seconds that Vagrant will wait for the machine to boot and be accessible.
Thank you for cloning!