I like simplicity. I just like it in many aspects, not only related to work, but also in communication and overall approach to life. Usually, I first try to look for the simplest solutions that allow me to feel safe in a given situation and understand what is really happening, and only then do I look for more complex options that will help me develop.
Even if I make a mistake, I will make it when everything seems to be simple, and that's important, especially when learning something new. That's exactly what happened with the choice of one of the simplest yet most valuable tools for me, which is
Let's start by analyzing what we really need for work, that is, what are the system requirements needed to install WordPress? Honestly, I admit that there aren't many of them and they're not too high.
Most hosting services can easily handle these requirements by default, and if for some reason you need to provide more specific details, they are all described in this place. Pay particular attention to the section on PHP extensions, which are important for everything to work properly.
MAMP is a simple solution that allows for easy setup of a local environment based on the popular LAMP (Linux, Apache, MySQL, PHP) stack, and by default, it meets the previously described requirements. Creating a new infrastructure for WordPress is extremely easy and boils down to just a few clicks, without the need for specialized knowledge in server management.
- Simplicity: Minimal configuration such as creating a host, enabling SSL support, or changing the PHP version usually only requires a few clicks while still allowing for greater configurations if needed.
- Transparency: The user interface is focused on what's most important. It displays only a few of the most necessary options by default, and if we want to do something more, we switch to expert mode and voila - we can change things as we like!
- Plug&Play: By default, it provides many useful tools that we can simply enable if we need them. Want to use Mailhog? Just turn it on. Xdebug? Check the box in the settings. SSL? Check one box and it's done.
I must mention the mentoring benefits. Because of its simplicity, it's just faster and easier to focus on specifics when teaching young developers how to use WordPress, rather than on details and why our Docker isn't working properly. The solution simply works for everyone.
- Izolation: Or rather, the lack of it. This environment is rather global and besides a few basic settings for a specific host, we won't be able to do much. It's not a solution for those who require full environment compliance or those who have many diverse projects requiring different configurations.
- Scalability: Or rather, the lack of it. This solution is not suitable for projects with more advanced architecture. I wouldn't rely on it for microservices.
- Optimization: In the vast majority of cases, the local server works fast, but more advanced systems with very large databases can slow down.
We download the software from the producer's website, buy a license, and install it. For less demanding users, there is a free option with limited capabilities. After starting, I recommend setting the default ports in the
Ports & User section, selecting Allow network access to MySQL only for this Mac in the
MySQL section, and choosing CGI mode and turning on Xdebug in the
How to configure a local server and launch a new WordPress instance using MAMP Pro? The process is simple and consists of a few steps:
- Create a new host using the "+" button at the bottom of the interface.
- Set up a test domain.
- Select "Generate SSL" option.
- Choose the main directory for the project.
- Select the PHP version you want to use in the "General" tab.
- Download WordPress files and upload them to the selected directory.
- Create a new database in the "Database" tab.
- Save the settings, start the server, and open the website.
We have configured our local environment and are ready to proceed with the installation process.
Can you use MAMP in your project? Analyzing the advantages and disadvantages, the answer is: it depends. In my case, it was suitable for most of the WordPress-based websites I worked on, even the more advanced ones. It was rare for something not to work, and the risk associated with non-uniform project environments usually paid off.
I assume that many hardcore programmers will consider this approach outdated and unacceptable due to its drawbacks. I am also aware of the consequences of using a less scalable and non-isolated environment, but it simply works for me.
Learning about Docker's capabilities and ways of creating an environment is one of my learning goals, but not right now. At the moment, I value simplicity and reliability more, especially regarding topics that I am not well-versed in. That is why MAMP PRO is my default choice.