The most customizable way to replace web services for macOS with another solution is to custom-build your own Apache or nginx. You can even get a GUI for Apache on the Mac. If you want a one-button installation, the closest thing is likely to be IIS running on a Windows Server. But there are other alternatives that let you keep the Mac hardware and run sites on a Mac without the macOS Server GUI. In this article we’ll look at moving forward with a tool that’s been around long enough for me to mention it in about a dozen books: MAMP. Before writing this article, I tried out all of the tools available on the App Store and a few others. I still prefer running sites from cloud services, especially if it’s just going to need to run a single portal like WordPress or Drupal. But if you want a simple Apache install with a GUI, MAMP seems to still be the way to go.
To get started, first download MAMP and open the installer.
When you first open the installer, you’ll see the welcome screen. Click Continue.
At the Important Information, read it (it does say important) and click Continue.
At the EULA, read the license like 4 or 5 times and then click Continue if you agree to it.
At the Are you sure you read the license agreement screen, click Agree if you agree to the terms of the license you just read 4-5 times.
At the Select a Destination screen, you can define where the MAMP folder and app will be installed. By default it’s /Applications, but if you want your web services to run on another volume, you can select that here. Click Continue to proceed.
At the Installation Type, you can use the Change Install Location… button to choose not to install MAMP Pro.
It can’t hurt to install it, if you have an extra couple hundred megabytes, so I’ll leave it checked and click Install.
The installer will require elevated privileges so enter credentials for an administrative account when prompted.
When the installation is complete, you’ll be prompted to move the installer to the trash.
At the splash screen, uncheck the Show the window when starting.
Now, go into the /Applications directory and open MAMP. Here, you’ll see the basic screen, where you can start your services. We won’t cover cloud integration, but if you open MAMP, you’ll see the main management screen.
From here, click on MAMP in the menu bar and select Preferences. At the MAMP Preferences screen, you’ll see tabs for Start/Stop, Ports, PHP, Web-Server, MySQL, and Cloud. Click on Start/Stop if it isn’t selected.
This is where you’ll choose if the MAMP app will start automatically when opened, whether the MAMP app will check the MAMP servers for updates when it’s opened, and whether the MAMP app will open the webstart page when the app is opened. I recommend all of the above. There’s another option here for “Stop servers” when you close the MAMP app. I don’t like this for production servers but it can be useful for web developers who only use MAMP to view their code.
Click on the Ports tab to see options that allow you to change the default ports used.
The Apache port is by default set to 8888 and Nginx is set by default to 7888. These would need to be changed to 80 or 443 for production use. MySQL would typically be set to 3306 for production servers.
Click on PHP to configure what version of php will be used and select whether caching should be enabled or not.
Click on Web-Server to select which web service you’ll use (Apache vs Nginx) and select the root of the directory on the computer that will be used to serve up the default website.
Click on the MySQL tab to view the active version of MySQL being used.
Once you’ve got MAMP installed, you can get some of the buttons you were used to seeing in macOS Server with, available at https://www.gieson.com/Library/projects/utilities/apache_admin/. If you have a simple, single site, that should do the trick. If you have more complex needs though, I’d check out MAMP Pro, which I’ll do an article on shortly. MAMP Pro also provides options to add multiple sites per host, upload SSL certificates, manage Apache mods, configure SQL settings, provides automated installation of popular website packages like WordPress, gives you a nice editor, and much more. All of which is easily configured through the command line, if you’re willing. But if you’re looking for a replacement to macOS Server for web services, this is likely still the best bet.