So, most people say that it’s preferred and best to use a VM and install vagrant via puphpet package. But let’s compare all of these installation options because they can actually be of good use.
Here is what most people say about XAMPP.
The bads
These are the 3 most popular comparisons for Xampp.
- XAMPP is limited to the version of PHP they give out.
- You don’t learn how to use the command line (terminal) at all.
- You can’t install other stuff like Ruby on Rails.
The goods
- If you are a novice user, you can install it with ease.
- While it’s true that XAMPP is limited to PHP versions, that’s not entirely true. Just like WAMP (manual), you can install PHP 7.0.3 on an XAMPP version of 0.9 (the oldest version released in 2003).
- With XAMPP, you can install basically PHP 5.2 - PHP 7.0.3. So you have the entire PHP version to work with.
- You don’t really need Ruby on Rails if you aren’t working with it, but if you do, you can manually install it.
- When you manually install Apache via WAMP (manual), you also learn a few commands in Command Prompt. This includes installing Apache using
C:\dev\Apache2.4>httpd -k install
andC:\dev\Apache2.4>httpd -k uninstall
. You also learn how to manually install SSL using theopenssl.cnf
and generating your own local self-certified certificate.
The bad
Here is the main problem for Vagrant via puphpet.
- Vagrant via puphpet only supports PHP 5.4 +. This should actually replace the whole “XAMPP is limited to the version of PHP they give out.” because you can’t have backwards compatibility with Vagrant via puphpet.
The goods
- You learn a lot more commands in Linux compared to installing XAMPP on Windows using the WAMP manual installation.
- You get to install all of these neat packages that allows you to run your local environment.
- With installing Vagrant via puphpet on a VM, if you screw up your VM host, you can just junk the VM and still have a good running host.
- If you happen to get a virus some how, you can just junk the VM host and not affect the main host.
Now, here are some points I would like to point out about Vagrant inside of a VM. Don’t hate me for this, but the part about junking the virus and being ok. That’s not entirely true. IIRC, in my Ethical Hacking class, we learned about viruses and worms and if you some how get a virus or worm. Then you’re screwed either way because the virus or worm can be transferred via networks. This means if your VM is using your internet, it can transfer itself to another host (someone else’s computer using the same wifi or internet) and then transfer itself back to your main host.
So yes, trying to safe guard yourself from a virus is actually impossible since IIRC from my Ethical Hacking class, viruses can change signatures and some of the popular anti-virus protection like AVG, Avest, Nortan, .etc won’t detect it. I remembered my teacher telling us NOT to run the virus, but to edit the other file with the same name so we can see what the virus actually looks like. If you were to run the virus, you would be fighting your life out just to save your VM.
I haven’t talked about WAMP (manual) and LAMP (manual) yet, but just by the name. You should know what it is. It’s installing PHP manually by installing Apache first, then PHP, then either mysql server or maria server. And occasionally uncommenting a few extensions like cURL, pdo, mysqli, GD2, mbstring, .etc.
I prefer installing the PHP environment manually because I get to choose which version I want. This makes it easy for me if my web hosting service provider only has a certain PHP version up to a point.
Let me know what you guys think and please do compare the 2 for me since I only do the manual installations.