/lamp

This is a very flexible virtual machine that allows you to create a simple Ubuntu Server 20.04 LTS (Focal Fossa) for LAMP stack developers which also includes many related modern development tools.

Primary LanguageHTMLOtherNOASSERTION

Ubuntu Virtual Machine

This is a very flexible virtual machine that allows you to create a simple Ubuntu Server 20.04 LTS (Focal Fossa) for LAMP stack developers which also includes many related modern development tools.

Please read all the document before start using the project.

Overview

A lot of PHP websites and applications don’t require much server configuration or overhead at first. This virtual machine should have all your needs for doing basic development so you don’t have to worry about configuring the virtual environment and you can simply focus on your code.

The virtual machine was provisioned with the following software:

  • Ubuntu Linux.
  • Apache Web Server.
  • MySQL database.
  • PHP scripting language.
  • PHPMyAdmin.
  • Composer packages manager.

Other software included:

  • Git.
  • Zip.

Setup

The project has the following pre-requisites:

Now execute the following command:

$ vagrant up

Once ready, you can test it by opening following URL on your browser:

http://192.168.80.80/
https://192.168.80.80/ (secure)

If you want to manage the MySQL database:

http://192.168.80.80/phpmyadmin/
https://192.168.80.80/phpmyadmin/ (secure)

Database Name : development
User : root
Password : pass

That's all, as you can see, very simple.

If you need more information related to Vagrant, go to the official Vagrant documentation.

Why Vagrant and not Docker

Vagrant is a tool focused on providing a consistent development environment workflow across multiple operation systems. Docker is a container management that can consistently run software as long as a containerization system exists.

Containers are generally more lightweight than virtual machines, so starting and stopping containers is extremely fast. Most common development machines don't have a containerization system built-in, and Docker uses a virtual machine with Linux installed to provide that.

Currently, Docker lacks support for certain operating systems (such as BSD). If your target deployment is one of these operating systems, Docker will not provide the same production parity as a tool like Vagrant. Vagrant will allow you to run a Windows development environment on Mac or Linux, as well.

For microservice heavy environments, Docker can be attractive because you can easily start a single Docker VM and start many containers above that very quickly. This is a good use case for Docker. Vagrant can do this as well with the Docker provider. A primary benefit for Vagrant is a consistent workflow but there are many cases where a pure-Docker workflow does make sense.

Both Vagrant and Docker have a vast library of community-contributed "images" or "boxes" to choose from.

License

Creative Commons Attribution 4.0 International

Except where otherwise noted, content on this Github repository is licensed under a Creative Commons Attribution 4.0 International license.