Earlier, I wrote an article on how to export data from the macOS Wiki Service
. But now that you have your data in a file, where are you going to import it into. Well, you could do some kind of custom hosting service. Or if you want to run your own server, you could use a Synology. Synology makes installing WordPress a snap. To get started, first open Package Manager. From Package Manager, search for WordPress.
Click Yes to install the dependencies.
Enter a username and password to pass to Maria DB (root with a blank password).
Enter a username and password for the wordpress database and click Next.
Click Open under WordPress.
Select a language for WordPress to use.
Set the title of blog, provide a username and password to log in and make new articles, provide an email address, and select whether your site will be indexed by search engines and then click Install WordPress.
Click Log In. You’ll then be placed into the main WordPress screen. Bookmark this page, but you can get back any time by visiting <IPADDRESS>/wp-admin or <IPADDRESS>/wp-login where <IPADDRESS> is the address or hostname of the server.
If you’re migrating from macOS Server, you can then import your database into WordPress. To do so, log into WordPress and hover over Tools, clicking Import.
At the Import screen, select Run Importer under WordPress as the format to import from.
At the Importer screen, select the database you exported from the macOS Server wiki export article
Click “Upload file and import”. Now that you have data in WordPress, let’s do the fun part. Hover over Appearance in the left sidebar and click on Themes. Then, find a theme that best suits your needs using the Search box!
krypted March 29th, 2018
Posted In: Mac OS X Server, Microsoft Exchange Server, Synology, WordPress
Install wordpress on synology
Apple has published a new page that goes through all of the settings and commands available via MDM and explains many in much more detail. This is available at http://help.apple.com/deployment/mdm/
. The new guide is a great addition to the work @Mosen has done at https://mosen.github.io/profiledocs/
in terms of explaining what each setting, command, and payload do. And let’s not forget the definitive MDM protocol reference guide, available at https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/MobileDeviceManagementProtocolRef/1-Introduction/Introduction.html#//apple_ref/doc/uid/TP40017387-CH1-SW1
Overall, I’m excited to see so much information now available about MDM, including how to develop an MDM properly, what each setting does, and now what you should expect out of an MDM!
krypted March 28th, 2018
Posted In: iPhone, Mac OS X, Mac OS X Server, Mac Security, Mass Deployment
actions, mdm, protocol reference guide, settings
The first step to moving services from macOS Server for pretty much all services is to check out the old settings. The second step is to probably ask if where you’re going to put the service is a good idea. For example, these days I prefer to run DHCP services on a network appliance such as a Synology. And so let’s look at how to do that. Here, we’ll use the serveradmin command to view the settings of the DHCP service:
/Applications/Server.app/Contents/ServerRoot/usr/sbin/serveradmin settings dhcp
The output is an array of subnets with different settings per subnet.
dhcp:static_maps = _empty_array
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:WINS_primary_server = ""
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_router = "10.15.40.1"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:WINS_secondary_server = ""
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:net_range_start = "10.15.40.2"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:net_range_end = "10.15.43.253"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_domain_name = "clients.msp.jamfsw.corp"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_domain_name_server:_array_index:0 = "184.108.40.206"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_domain_name_server:_array_index:1 = "220.127.116.11"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:lease_max = 36000
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:net_mask = "255.255.252.0"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_ldap_url = _empty_array
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:WINS_node_type = "NOT_SET"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:dhcp_enabled = yes
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:WINS_NBDD_server = ""
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:net_address = "10.15.40.0"
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:WINS_scope_id = ""
dhcp:subnets:_array_id:22217FF5-4DDB-4841-A731-EF5DA080E672:selected_port_name = "en1"
dhcp:subnet_defaults:logVerbosity = "MEDIUM"
dhcp:subnet_defaults:routers:en0 = "10.15.40.1"
dhcp:subnet_defaults:WINS_node_type_list:_array_index:0 = "BROADCAST_B_NODE"
dhcp:subnet_defaults:WINS_node_type_list:_array_index:1 = "HYBRID_H_NODE"
dhcp:subnet_defaults:WINS_node_type_list:_array_index:2 = "NOT_SET"
dhcp:subnet_defaults:WINS_node_type_list:_array_index:3 = "PEER_P_NODE"
dhcp:subnet_defaults:WINS_node_type_list:_array_index:4 = "MIXED_M_NODE"
dhcp:subnet_defaults:WINS_node_type = "NOT_SET"
dhcp:subnet_defaults:dhcp_domain_name = "krypted.com"
dhcp:subnet_defaults:logVerbosityList:_array_index:0 = "LOW"
dhcp:subnet_defaults:logVerbosityList:_array_index:1 = "MEDIUM"
dhcp:subnet_defaults:logVerbosityList:_array_index:2 = "HIGH"
dhcp:subnet_defaults:dhcp_domain_name_server:_array_index:0 = "18.104.22.168"
dhcp:subnet_defaults:dhcp_domain_name_server:_array_index:1 = "22.214.171.124"
dhcp:subnet_defaults:selected_port_key = "en0"
dhcp:subnet_defaults:selected_port_key_list:_array_index:0 = "en0"
dhcp:subnet_defaults:selected_port_key_list:_array_index:1 = "bridge0"
dhcp:logging_level = "MEDIUM"
Next, we’ll setup a Synology NAS using the instructions found here:
Basic Synology NAS Setup
Once you’ve setup your Synology NAS, you can install a dhcp server on it, if you need to provide those services. To get started, first open Control Panel and then find DHCP Server in the Control Panel sidebar.
From here, click on the LAN port.
Because DHCP requires a subnet mask, and a pool of IP addresses that can be shared, the “Enable DHCP server” button will initially be greyed out. Click on the Edit button to define these.
Click on the checkbox for “Enable DHCP server” and enter the following settings:
- Address lease time: The number of seconds the lease will be valid.
- Primary DNS: The first DNS server provided to client computers.
- Secondary DNS: The second DNS server provided to client computers.
- Domain name: The automatic suffix applied to hostnames of clients (e.g. if you enter Synology in a web browser and this setting was krypted.com then you would be routed to Synology.krypted.com.
- Enable Web Proxy Automatic Discovery: provide a PAC file (using DHCP options)
- URL: The PAC file.
- Subnetlist: Here you add subnets, which we’ll describe next.
At the Create DHCP Subnet screen, you’ll be prompted for the following fields:
- Start IP address: The first IP address in the pool that will be handed out.
- End IP address: The last IP address in the pool that will be handed out (note that in my example, I’m handing out 192.168.55.40 to 192.168.55.50, so 11 addresses – make sure these don’t overlap with other devices that are already using addresses or with other DHCP pools or you will have sporadic device connectivity for some devices).
- Netmask: The subnet mask to be given to devices along with their lease.
- Gateway: The default gateway, or router for the network.
- DHCP Options: I cover these in http://krypted.com/mac-os-x/replace-macos-server-dhcp-service-built-macos-dhcp-service/, but this list includes those supported on the Synology.
Once your settings are configured, click Create. You’ll then see your pool configured. Click the OK button.
You’ll then see a list of subnets and settings. Click “Enable DHCP server” to start the service.
Once started, click “Disable DHCP server” to stop the service or go back to the edit screen and click on the DHCP Clients tab to see what IP each client has been provided.
krypted March 21st, 2018
Posted In: Mac OS X, Mac OS X Server
Apple, DHCP, hardware, macos server, move dhcp from Mac server to Synology nas, Servers
The WD MyCloud is a pretty single-purpose device. It’s a disk with a network interface, and as with Direct Attached Storage, the MyCloud Network Attached Storage is pretty easy to connect to.
First, let’s look at connecting to the web interface via the menu item, where you can drag and drop files to the device. Once the device is configured, use the WD menu item to see your device. From there, click on the name of your device.
Alternatively, you could visit mycloud.com and sign into the web interface there.
In both cases, you’ll see a list of files and then in the sidebar, you’ll see those options to configure settings, add integrations, view active its, and view photos that are on the device.
From here, you can simply drag and drop files into the web page, just like with a box or dropbox account, but the files are stored on the device. Additionally, you can send a link to a file or folder. To do so, right-click on the object you wish to share and then click Share Link.
At the resulting screen, you’ll see a link. Click Copy to copy the link into your clipboard so you can paste it into an email.
You may also want other users to be able to log into your WD MyCloud. To allow them to do so, open Settings and click on Add User. Then provide the email address for the user and click on Send Invites.
Finally, you can also mount the drive directly to computers. To do so, click on “Connect to Server” (or Command-K) from the Finder.
At the Connect to Server screen, enter the address of the server and click Connect. If you don’t know the address and you’re on the local network of the device. Additionally, if you have the menu item installed, you’ll see the device in the sidebar of your Mac.
It’s worth noting that with the exception of the ability to share a link to a file or folder, the permissions on the device are pretty much wide open, as you can see below. Additionally, any files you bring into the device will end up with the same wide open permissions. And while you can change permissions on files, they’ll revert back. So if you will need more granular capabilities with file permissions, this might not be the device for you. This device is a very inexpensive way to do very small workgroups or home file sharing, but beyond that it could be too basic for a lot of business use cases. What I like about it though, is that it doesn’t pretend to be anything but what it is. And it does that very well, in a very easy-to-use way.
Now the MyCloud NAS comes with removable drives and a more robust interface. It’s still easy to use, but you can configure RAID levels, basic iSCSI functionality, and users. I still wouldn’t put this in front of large workgroups, but to replace a macOS Server for a small business, or as a basic NAS head, it’s a solid, easy-to-manage device.
krypted March 19th, 2018
Posted In: Mac OS X, Mac OS X Server, Network Infrastructure
Apple, configure sharing, file sharing, MAC, wd mycloud
macOS might be the easiest platform to install MySQL on. To do so, simply download the MySQL installation package from the MySQL Download site. I like to use the third link (the DMG).
Once downloaded, run the package. The package will ask you a few questions and you can easily just select the default choice during the installation process.
Once installed, you’ll be prompted that a temporary password has been used for your MySQL instance.
The password will get you in the first time, so you can change it. Once you have documented the password, open System Preferences and click on MySQL in the bottom row of System Preference Panes.
Click Start MySQL Server and then when prompted, authenticate to the system. If you’d like to do this programmatically and don’t need the System Preference pane, you can do so with homebrew. If you have homebrew installed, simply run the brew command with the install verb and mysql as the package:
brew install mysql
Whichever way you install SQL, once installed, you’ll want to set the root password to something other than the intuitionally difficult to remember password provided at install time. To do so, first connect to the mysql instance now running on your computer. As the tools are installed in /usr/local/mysql/bin, run the following:
/usr/local/mysql/bin/mysql -u root
Then, set the password using the ALTER statement along with the USER option and then the username followed by IDENTIFIED BY and ultimately the password, as follows:
ALTER USER 'root'@'localhost' IDENTIFIED BY
Once done, you’ll then be able to connect to mysql normally.
krypted March 18th, 2018
Posted In: Mac OS X, Mac OS X Server
Export macOS Server Data
We’re not going to import this, as it only takes a few seconds to configure new settings. Additionally, if you have outstanding services built on macOS Server, you might be able to pull this off without touching client systems. First, let’s grab which protocols are enabled, running the following from Terminal:
sudo serveradmin settings vpn:Servers:com.apple.ppp.pptp:enabled
sudo serveradmin settings vpn:Servers:com.apple.ppp.l2tp:enabled
Next, we’ll get the the IP ranges used so we can mimic those (or change them) in the new service:
sudo serveradmin settings vpn:Servers:com.apple.ppp.pptp:IPv4:DestAddressRanges
Now let’s grab the DNS servers handed out so those can be recreated:
sudo serveradmin settings vpn:Servers:com.apple.ppp.pptp:DNS:OfferedServerAddresses:_array_index
sudo serveradmin settings vpn:Servers:com.apple.ppp.l2tp:DNS:OfferedServerAddresses:_array_index
Finally, if you’re using L2TP, let’s grab the shared secret:
sudo serveradmin settings vpn:Servers:com.apple.ppp.l2tp:L2TP:IPSecSharedSecretValue
Once we have all of this information, we can configure the new server using the same settings. At this point, you can decide whether you want to dismantle the old server and setup a new one on the same IP address, or whether you’d rather just change your port forwards on your router/firewall.
Before we configure any VPN services, let’s talk about ports. The following ports need to be opened per The Official iVPN Help Docs
(these are likely already open if you’re using a macOS Server to provide VPN services):
- PPTP: TCP port 1723
- L2TP: UDP ports 1701, 4500 and 500
- Enable VPN pass-through on the firewall of the server and client if needed
There are a number of ways to get a VPN Server installed on macOS. One would be to install openvpn:
sudo port -v install openvpn2
OpenVPN has a lot of sweet options, which you can read about at openvpn.net
One of the other tools Apple mentioned is SoftEther. I decided not to cover it here because it uses Wine. And I’m not a fan of Wine.
Or Use iVPN
That will require some work to get dependencies and some working with files and network settings. Another option would be to install iVPN from here, on the Mac App Store
. You can install it manually as well, and if you do, you’ll need to pay separately through PayPal, which is what we’ll cover here.
Once installed, if you purchased the license separately, use the Enter Manually button to provide it.
At the Registration screen, make sure the name, email, and serial are entered exactly as you see them in the email you received.
At the Thank You screen, click OK.
At the EULA screen, click Accept assuming you accept the license agreement.Configure iVPN
At the main screen, you’ll have a few options, which we’ll unpack here:
- Use Directory Server: Allows you to use an LDAP or Active Directory connection to provide username and passwords to the service.
- Use custom accounts: Allows you to manually enter accounts to provide username and passwords for clients to connect to the
- Shared Secret: The secret, or a second factor used with L2TP connection.
- Allow 40-bit encryption keys: Allows clients to use lower levels of encryption. Let’s not do this.
- IP Address Range: The beginning and ending IP that will be manually handed out to client computers. When configuring the range, take care not to enter a range of addresses in use by any other DHCP services on your network or you will end up with conflicts.
- Basic DNS: Allows you to configure a primary and second DNS server to send to clients via DHCP when they connect to the VPN interface.
- Advanced DNS: Allows you to configure DNS servers as well as Search Domains.
- Configure Static Routes: Allows you to specify the interface and netmask used to access a given IP.
- Export Configuration Profile: Exports a configuration profile. When imported into a Mac or iOS device, that profile automatically configures the connection to the PPTP or L2TP service you’ve setup.
- VPN Host Name: Used for the configuration profile so a client system can easily find the server w
If you configure Directory Authentication, you’ll get prompted that it might be buggy. Click OK here.
The Directory Authentication screen allows you to choose which directory services to make available to PPTP or L2TP. If the system hasn’t been authenticated to a directory server, do so using the Users & Groups” System Preference pane.
Once you’ve chosen your directory service configuration, if you require a third DNS server, click on Advanced DNS and then enter it, or any necessary search-domains. Click Done when you’re finished.
Click the log button in the upper left-hand side to see the logs for the service. This is super-helpful when you start troubleshooting client connections or if the daemon stops for no good reason (other than the fact that you’re still running a VPN service on macOS Server and so the socket can’t bind to the appropriate network port).
Finally, you can also create a static route. Static routing provides a manually-configured routing entry, rather than information from a dynamic routing traffic, which means you can fix issues where a client can’t access a given IP because it’s using an incorrect network interface to access an IP.
Once everything is configure, let’s enter the publicly accessible IP address or DNS name of the server. Client computers that install the profile will then have their connection to the server automatically configured and will be able to test the connection.Configure Clients
If you configured the new server exactly as the old one and just forwarded ports to the new host, you might not have to do anything, assuming you’re using the same username and password store (like a directory service) on the back-end. If you didn’t, you can setup new interfaces with a profile. If you pushed out an old profile to configure those, I’d recommend removing it first if any settings need to change. To configure clients, we’ll install the new profile. When you open the profile on a client system (just double-click it to open it), you’ll see the Install dialog box. Here, click on Continue.
Because the profile isn’t signed, you’ll then get prompted again (note: you can sign the profile using another tool, like an MDM or Apple Configurator). Click Continue.
Then enter the username that will be used to connect to the VPN and click the Install button.
The Profile can then be viewed and manually removed if needed.
Click on the new iVPN entry in the Network System Preference pane. Here, you can enable
Now that it’s easy, let’s click the VPN icon in the menu bar and then click on Connect iVPN to test the connection.
Once clients can connect, you can use the iVPN icon in the menu bar to monitor the status of clients.
krypted March 14th, 2018
Posted In: Mac OS X, Mac OS X Server, Mac Security
hoot, Ivpn, l2tp, MAC, macos server, pptp, server, vpn
In an earlier article, I mentioned that MAMP Pro was still the best native GUI for managing web services on the Mac, now that macOS Server will no longer serve up those patchy services. After we cover the management in this article, you’ll likely understand why it comes it at $59.
So you’ve installed MAMP. And you need more than the few basic buttons available there. So MAMP Pro came with it and you can try it for a couple of weeks for free. When you open MAMP Pro, you’ll see a screen where you can perform a number of management tasks. This is a more traditional side-bar-driven screen that will look like what Server Admin might have looked like before the web services screen got simplified in macOS Server.
The Hosts item in SETTINGS will show you each host installed on the server. Think of a host as a site. Each web server can serve up a virtually unlimited number of websites. You can configure an IP binding to the site, or hav
If you click on the plus sign, you can add a site. In this example, I’ll add www.krypted.com and then click on create. When doing so, you can configure a database for each site (e.g. if you’re doing multi-tenant hosting), build a site off a template, or select a root directory for the site.
The Apache tab of each host allows you to configure host-specific settings, including enabling options for directives such as Indexes, Includes, SymLink following, and CGI. More options than were in macOS Server for sure. You can also order allows, allow overrides, add new directives, set the index (or the default page of each site), add additional virtualhosts (such as krypted.com for www.krypted.com), and add a server admin email address.
These were Apache-centric settings for each host. Click on the Nginx tab if you’re using Nginx instead of Apache. Nginx is a bit less “patchy” so there are a fewer options here. But they’re similar: Configure an index, add parameters, and a feature not available in the GUI options for Apache: allow or deny access based on IP.
The SSL tab allows you to generate a CSR, upload the cert and key file, and force connections to use https.
The Extras tab allows you to automatically install standard web packages. For example, here we’ll select WordPress.
Click on the Databases tab. To connect a site to a database, enter the name of the database when prompted. Note: the site itself will need credentials in order to connect, and if you’ve setup an “Extra” in the above step, the database will automatically be configured.
Next, let’s configure the ports used by the web servers. The previous settings were per-site. The rest that we cover in this article will be per-server, as these are global settings applied to the daemons themselves. Each of those services will have a port or ports associated with them. For example, the standard web port used is 80 or 443 for SSL-based connections and the standard port for MySQL is 3306. For publicly-facing sites these would be the standard ports, and given how common they are, there’s a button for “Set ports to 80, 81, 443, 7443, 3306”. Otherwise, you can enter each independently. Because the attaching of daemons is done here, this is also where you configure the user that services run as, as well as when to start the services and truncate log files.
The Editor option configures how the editor appears, which we’ll cover last in this article. The Editing option manages how the editor works (e.g. things like tabs, autocompletes, etc.
The Fonts & Colors tab allows you to select each color assigned to various types of text.
The Default Apps tab allows you to configure which app is opened when opening each type of file supported.
Again, we’ll look at the editor later in this article. First, let’s finish getting the web server setup. Click on Apache. Here, you can load new Apache mods you download from the interwebs. I should mention that an important security step in locking down a publicly-facing web server is to disable all of the mods you don’t absolutely need.
At the bottom of this screen, there’s also a handle little link to the directory with your logs, so you can read through them if needed.
The Nginx option underneath is similar. Access to log files is there, as is the ability to enable installed Nginx mods.
The MySQL option also provides access to some straight-forward command-line options, but in a nice GUI. Here, you can configure a root password for MySQL ( which does this: Reset A Lost MySQL Password
), enable phpMyAdmin, MySQL Workbench, and Sequel Pro-based administration, enable network access to the MySQL Service (using ports configured in the Ports section of the app) which I cover at Allow Remote Connections To MySQL
, and view logs.
The Dynamic DNS options are cool. Click there, and if your web server is behind a DHCP address, you can configure a dynamic DNS service including DNS-O-Matic, no-ip.com, dyn.com, easydns.com, etc. This way when you reboot and get a new IP address from your ISP, it’ll update the service automatically.
Memcached is a distributed memory object caching system. It’s used to make sites appear faster or to distribute caching between servers for systems that, for example, get clustered. It’s included here for a reason, I’m sure of it! Either way, I actually use it for a few things and like the fact that it’s there. To enable, simply choose how much memory to give it, configure the logging level (usually low unless you’re troubleshooting), and gain access to logs. If you check the “Include Memcached server in GroupStart” then memcache will fire up when you start your web services.
Click postfix. Here, you configure your server to route mail through an email account. If you run this from the command line, you can also configure your server to be a mail server; however, when you do that you’re likely to get mail bouncing all over the place. So if the server or a service on the server is supposed to send mail, it’s usually best to route through something like a gmail account.
The Languages section allows you to configure how PHP, Python, Perl, and Ruby work on the server. For PHP, you can configure which version of PHP is installed, configure a version of PHP for hosts, enable caching (different than memcached), enable a few basic extensions (I’ve been playing with oauth a lot recently), choose logging options, and have a simple way to see the logs.
Since you’re running on a Mac, you already have Python, but if you click on the Python option, you can make the version of Python bundled with Mac is 2.7.10 instead of 2.7.13.
Click on Perl to do the same.
Click on Ruby to do the same.
The editor is also pretty easy to use. Simply use the plus sign to add a file you’d like to edit. Keep in mind when browsing that everything MAMP Pro needs is self-contained in the /Applications/MAMP directory, so it should be pretty easy to find files for editing.
And that’s it. This seems like a lot of stuff, but between sites like ServerFault and other Apache/Nginx articles, you’ll likely find most of the things you need. It’s worth mentioning that I consider this another baby step to just managing Apache using config files. macOS Server tried hard to reduce the complexity of where different settings and options are derived from; MAMP Pro makes no allusion that web server management should be so simple. That’s one of the things I like about it. It’s like you went from riding in a buggy on the back of a bike to riding with training wheels. The more you know, the better off you are.
krypted March 10th, 2018
Posted In: Mac OS X, Mac OS X Server, Mac Security, WordPress
Apache, Apple, configure, httpd, macos server, memcached, mods, nginx, perl, python, replace a Mac server with apache, Ruby
« Previous Page
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.
krypted March 8th, 2018
Posted In: Mac OS X, Mac OS X Server
— Next Page »