Configuring a Mac Mini Server

AAltsys Server Introduction

Desktop and tower computers are bulky, inefficient, and expensive. These computers are undesirable for office servers, which is why we recommend the Apple Mac mini, which is powerful, unobtrusive, and reliable.

We use Apple Mac mini hardware as a server running the Zentyal office server operating system. (Zentyal is based on the popular Linux OS Ubuntu.) An added SSD storage drive will be used for Zentyal server and data, and the original Apple OS-X installation will be retained on the internal drive. A boot selector program, rEFInd, will be used to permit operating system selection.

Mac mini Configuration

The components of the Mac mini, and the available accessories for it, change over time. Older Mac minis include the Mac mini Server, now discontinued, which offered two internal drives and a quad-core i7 hyper-threaded processor. Newer Mac minis have dual-core i5 processors with hyper threading, providing a maximum of four execution threads. This is adequate for an office server.

As of 10-15-2017, Apple’s Mac mini configuration [1] used for this server is:

  • 2.6GHz Intel Dual-Core i5 (Turbo Boost up to 3.1GHz)
  • 16GB 1600MHz LPDDR3 SDRAM
  • 1TB Serial ATA Drive @ 5400 rpm

The following additional components convert the Mac mini to a server:

  • Samsung T5 256 GB SSD drive w/ USB 3.1 to 3.0 cable (for server storage),
  • Thunderbolt to Gigabit Ethernet adapter (for Internet gateway function),
  • Zentyal - windows-compatible office server operating system replaces OS-X,
  • rEFInd - multi-boot program for EFI and UEFI systems, particularly Macs,
  • Chrome - Google’s browser is installed in OS-X as part of initial setup.

Additional generic hardware components will be used during system configuration or are required for site setup and administration:

  • Superdrive - or any USB-connected CD-ROM drive (during installation only),
  • USB Keyboard and mouse, HDMI-connected 1080p monitor (for administration),

Installing Google Chrome

Follow these step by step instructions to install Google Chrome on OS-X:

  1. Launch the Safari browser fror the Activity task bar
  2. Download the Chrome installer
  3. Launch file Google Chrome.dmg from the downloads
  4. In the window that opens, drag the Chrome icon into the Application folder
  5. When first opening Chrome, the Finder will ask if you want to open the Application downloaded from the Internet. Click open.
  6. Unmount the Google Chrome disk image on your Desktop by right clicking it and choosing “Eject”.

Download and Install rEFInd

Apple replaced BIOS booting with EFI (Extensible Firmware Interface), allowing software to control the computer boot process. Apple offers BootCamp software to boot Windows on Macs, but this only works with Windows.

Roderick Smith has written an excellent boot manager supporting multiple hardware platforms and various operating systems, particularly Linux and Macintosh OS-X. Further, he maintains a reference book on EFI booting using his rEFInd program.

Install rEFInd software

  1. Download rEFInd software to your Downloads folder. [2]

  2. On later Macs with SIP, press alt/option to reboot to the Recovery HD volume and then disable SIP with the command:

    csrutil disable
    

    Then reboot to the Mac OS-X system on volume Macintosh HD. (As an alternative, use Rod’s guide to install rEFInd from the Recovery boot [3] in place of this step and the next step.)

  3. Open a terminal session, change directory to the Downloads folder, and unzip and install rEFInd with the commands:

    cd ~/Downloads
    unzip refind <Tab> <Enter>
    cd refind <Tab> <Enter>
    ./refind-install
    
  4. Read the installation messages to see where REFInd is installed. For message Installing rEFInd to the partition mounted at /Volumes/ESP, bless REFInd with the command:

    sudo bless --mount /Volumes/ESP --setBoot --file /Volumes/ESP/efi/refind/refind_x64.efi --shortform
    

    Otherwise for REFInd installed in folder EFI, use:

    sudo bless --setBoot --folder /efi/refind --file /efi/refind/refind_x64.efi
    
  5. After installing rEFInd, copy or rename the default configuration file refind.conf to preserve it. This file should be in one of the following locations:

    /Volumes/ESP/efi/refind/
    /efi/refind/
    
  6. To boot Zentyal by default, download the customized rEFInd configuration refind.conf to folder refind.

  7. For Macs with SIP, reboot and press a cursor key to stop rEFInd. Use the mouse or cursor keys to select small icons items:

    i – the info icon will say whether SIP is off or on shield – toggles the SIP state off and on circle-arrows – reboot the system after any changes

Reconfiguring rEFInd

The rEFInd configuration which defaults to booting Linux, as used in this guide, is shown below:

timeout 5 enable_mouse use_graphics_for osx, linux # skip recovery and backup drives; ubuntu options; shimx64.efi and mmx64.efi dont_scan_volumes “Recovery HD”,”Backup” dont_scan_dirs EFI/ubuntu dont_scan_files shim.efi,MokManager.efi,mmx64.efi,legacy # report linux installations, one kernel per install scan_all_linux_kernels fold_linux_kernels # show first 3 options as primary choices, default to Zentyal,or Mac OS-X max_tags 3 default_selection “vmlinuz,macOS” # Allow refind to disable/enable SIP so boot reconfiguration is possible showtools shell,memtest,gdisk,apple_recovery,about,csr_rotate,shutdown,reboot csr_values 10,77

Use the instructions in this section if you wish to change boot configuration options.

Configure rEFInd

  1. After installing rEFInd, copy or rename the default refind.conf configuration file to preserve it.
  2. Restart the server, and press right-arrow in rEFInd to stop booting.
  3. Write down each main boot option to decide which should be displayed.
  4. Determine any other configuration options to change. [4]

Edit rEFInd configuration

  1. Start a terminal from Launchpad ‣ Other ‣ Terminal.

  2. Edit the rEFInd configuration file with the command:

    sudo nano /Volumes/ESP/efi/refind/refind.conf
    

    or for older Macs with an EFI folder and no ESP volume,

    sudo nano /efi/refind/refind.conf
    

    and enter your password when prompted.

    Note

    The Mac approach of displaying files in the Finder and then editing configuration text in TextEdit will not to work with boot manager files. This section uses a Linux-y approach to editing the rEFInd configuration instead.

  3. Modify the configuration options as desired, then press control-X to save changes.

  4. Exit all programs and restart the server to test the new configuration.

Repeat these instructions until desired results are achieved.

Tip

Save a copy of the modified refind.conf in your ~/Documents folder, as updates to Mac OS X might wipe out the EFI configuration.

After achieving a good rEFInd configuration, turn SIP back on with either:

  • Rebooting from a rEFInd CD and selecting SIP Policy from the tools,
  • Rebooting from the Apple Recovery partition and executing the command csrutil enable,
  • Rebooting and selecting SIP Policy from the rEFInd tools, provided you have enabled tool csr_rotate.

Recovering from a Boot Coup

The efi directory may get rewritten when updating either Mac OS-X or Linux. Keep program rEFInd in your ~/Downloads folder, and keep a copy of refind.conf in your ~/Documents folder. Restore a lost rEFInd installation in Mac OS X as follows:

  1. Start a terminal from Launchpad ‣ Other ‣ Terminal

  2. Reinstall rEFInd with the commands:

    cd ~/Downloads/refind <Tab> <Enter>
    ./install.refind
    sudo cp ~/Documents/refind.conf /efi/refind/
    

    – or –

    cd ~/Downloads/refind <Tab> <Enter>
    ./install.refind
    sudo cp ~/Documents/refind.conf Volumes/ESP/efi/refind/
    

Footnotes

[1]Mac mini specifications.
[2]How to obtain rEFInd.
[3]Install rEFInd.
[4]Configuring rEFInd.