This is an updated version of my guide to building your own LAMP server for development purposes. What will make this guide different from the previous ones (in addition to using newer versions of the various software), is that I will be providing steps for different Linux distros as well as installing additional packages I didn’t include in the previous two guides.
I am designing this guide for Linux noobs. Those who are mostly familiar with Windows systems. For that reason I will be spelling out every single command you need to type in the Linux server, but not necessarily detailing every step on the Windows host (if you choose to host a Linux VM under Windows).
Here is a quick overview of the software we will be using throughout this guide:
- Oracle VirtualBox 5.1.22—a free open-source hypervisor we will use to install our server as a virtual machine.
- Apache HTTP Server 2.4.25—the most popular web server in the world.
- MariaDB—we will be using one or more versions of this database engine as a replacement to MySQL (which has been losing popularity in recent years).
- Various other databases as needed.
- PHP—we will be using several versions for testing our projects.
- Linux distributions covered:
- CentOS 7.3.1611—one of the most popular Linux distributions in the world, especially for web servers.
- Fedora Server 25—very similar to CentOS, but I will note differences where necessary.
- Ubuntu 16.04.2 LTS Server—this distro is quickly catching up to CentOS in popularity.
- Debian 8.8.0—another popular distro, which many other distros are based on, including Ubuntu.
- openSUSE Leap 42.2—one of my oldest favorite distros and recently becoming more popular.
- Arch Linux 2017.05.01—while I don’t normally recommend it for servers, this has a dedicated following so I figured I may as well include it.
Estimated time (for entire guide): 3-9 hours
* differs greatly depending on how much you want/need to install
Do You Need All This?
No, you probably don’t. I’m trying to cover a variety of scenarios so you can develop whatever type of web application you need. The bare minimum you need for a LAMP stack is an operating system, Apache HTTP Server, MariaDB (or some other database), and PHP.