Small Biz Mac, This blog focuses on using Mac as the foundation of a small business--the operating platform, the market, and more. This blog will discuss both the challenges of operating a business on Mac hardware and software, and the impact of the broader Mac market on business.

Your Hosts
Kevin Walzer and Lori Jareo, publishers, software developers, Mac/iPhone users, and small business owners.

Subscribe to RSS Feed
Get a syndicated feed of this weblog.


Privacy Policy

Site design: Skeleton

Sun, 01 Jan 2023

Self-hosting an internet presence

For about 15 years, we hosted our own web and email presences on a Mac server in our office, using the Mac OS X Server platform (first a specific OS version, later an app) to handle the hosting and the configuration. Apple began deprecating Mac OS Server in 2018, and discontinued it altogether last year.

That's a shame. Mac OS X Server was a terrific platform and an ideal tool for small Mac-based businesses. With a little investment of time and learning, businesses could have a robust web presence and save on hosting fees. That was always our rationale.

When Apple announced the phase-out of the server platform in 2018, we reluctantly opted to move to a commercial hosting platform. Cheap-Domain Registration, a GoDaddy reseller, has been our domain registrar for 20 years. We decided to purchase a hosting and email package from them, and it worked reasonably well at a reasonable price.

Until now.

GoDaddy recently announced that they would be migrating their entire email platform to Microsoft 365, without any input from their customers. This was not an opt-in process--the email was simply moved with five business days' notice, and a three-month "trial" period to adjust was provided. After that, email, which had previously been included with their service, would become a separate subscription feature that would amount to a significant cost increase.

The cost increase--along with the heavy-handed way the migration was implemented--was too much. So we decided to go back to our roots and begin self-hosting again.

We wanted to share a bit about the toolset we've chosen for hosting. Because Apple no longer provides simple configuration tools for web and email hosting, we assembled our own packages, and created simple interfaces for their daily use.

Our criteria for choosing web, email, and DNS programs was simple: small, lightweight, easy-to-configure programs. And for service providers, we opted for simple and cost-effective.

For the Internet backbone and static IP, we decided to host behind a Virtual Private Network with a dedicated IP address. PureVPN fits the bill nicely, with an inexpensive annual fee, support for static IP's and port forwarding--one of the only services we found that offers this. Fortunately, the Mac Mini that we purchased to use as our server machine supports automatic VPN connection, so that integrates well. We run a periodic script on the Mac Mini to ensure the VPN connection is always on.

For DNS, we found MaraDNS, a simple, robust DNS server. It builds from source code with a single command, and its core configuration is contained in a single file, plus individual entries for each domain we host. We have set MaraDNS up as the authoritative DNS server for our domains, for greater control, and use Puck as a backup external DNS server. This setup has worked very well and we have had very little DNS downtime.

For web, we are using lighttpd, a fast and light web server. lighttpd is similar to the venerable Apache web server that comes bundled with macOS, but is somewhat smaller in its options and is simpler to configure. Our needs are modest--mostly static HTML pages with some CGI--and so lighttpd is more than sufficient.

For email, we have found a very pleasant discovery--Maddy. Maddy is an all-in-one mail server, meaning it handles both sending email (SMTP) and receiving and storing messages (IMAP). We had run into considerable difficulty trying to build other commonly-used mail servers such as opensmtpd for outgoing and tpop3d for incoming and storage--various errors prevented building or smooth operation, and there did not seem to be any pending fixes. Maddy, however, built from the get-go and worked almost out of the box with very simple configuration. The one complexity was linking Maddy to an external mail server to avoid the modern difficulties that come with self-hosting a mail server. We use sendinblue for our exteral relaying; this service has a generous 300-email-per-day threshold for its free/basic package. After a fair amount of trial and error and even open tickets with sendinblue, our configuration was successful and email now works fine.

macOS does include under-the-hood support for email, web, and DNS--that has not changed. But these are much more difficult to configure without the nice GUI that Mac OS Server provided. Additionally, we were concerned that OS updates would require extensive re-configuration of each of these tools in our OS. The server app largely handled that for us, but we have less confidence that this would go smoothly with manual configuration. The setup we have assembled can function independently of the OS version. The migration project took about six weeks of part-time work, and we are not eager to re-do all this work simply because Apple ships a new Mac OS version.

Shortly, we will be terminating our hosting and email services with GoDaddy, leaving them just as our domain registrar. This forced migration to Microsoft's email platform is costing them most of our business.

[/blog] permanent link