Why is apachectl not working on OS X Server 5.x?

With OS X Server 5 has introduced quite a few changes.

Once you install OS X Server 5 on Yosemite or El Capitan, the “desktop” version of Apache is taken over by a “server” version inside To differentiate between the two and to take into account the different methods for stopping and starting Apache, a new command has been introduced with server-apachectl.

You can still use the same parameters. For example:

sudo server-apachectl graceful

sudo server-apachectl restart

Is spamtrainer compatible with OS X 10.11.x El Capitan and OS X Server 5.x?

Yes, starting with version 2.2.1, spamtrainer is compatible with OS X 10.11.x El Capitan and OS X Server 5.x.

Why do the web server logs show all connections as coming from

If you looked at your web server logs after upgrading to OS X Server 5, you might have noticed that all connections seem to come from your localhost at instead of the actual IP of the connecting user.

This is due to how OS X Server 5 implements virtual websites. Instead of exposing the sites directly, they are funnelled through a proxy (whether this is a good or a bad choice depends on your point of view).

To see the actual IPs of incoming connections to your web sites, either look at ‘/private/var/log/apache2/service_proxy_access.log’ or set up custom logging using ‘%a’ (don’t use ‘%h’ as it will resolve to the localhost).

Installing Gettext on OS X 10.11.X El Capitan

Before you get started, you need to make sure some basic requirements are met:

  • You have made a backup of your system.
  • You have the latest version of Apple’s Developer Tools (Xcode 7 or higher for 10.11.x including command line tools) installed. Dev Tools are available as a free download from the Mac App Store

First we need to download and compile gettext.

sudo -s

mkdir -p /topicdesk/sources

cd /topicdesk/sources

curl -O

tar xzf gettext-0.19.6.tar.gz

cd gettext-0.19.6

./configure --prefix=/usr/local/topicdesk


make install

Next we need to get download Apple’s version of PHP from in order to be able to build a dynamic library for PHP.

cd /topicdesk/sources

curl -O

tar xjf php-5.5.30.tar.bz2

cd /topicdesk/sources/php-5.5.30/ext/gettext


./configure --prefix=/usr/local/topicdesk --with-gettext=/usr/local/topicdesk


make install

Unless you have disabled SIP, you will now see an error while the install script tries to move into /usr/lib/php/extensions/no-debug-non-zts-20121212/
This is not a problem and can be solved by manually copying to where we need it.

mkdir -p /usr/local/topicdesk/lib/php/extensions

cp -rp /topicdesk/sources/php-5.5.30/ext/gettext/modules/ /usr/local/topicdesk/lib/php/extensions

Now all we need to do is to modify our /etc/php.ini file and add:


When done, we need to make sure apache is restarted, by issuing:

server-apachectl graceful

Why do vacation messages not work with Roundcube webmail?

There could be several reasons why your vacation message is not working the way you might expect.

Lets review the Roundcube Filter settings.

Roundcube Vacation

  1. Vacation replies are a type of Filter. Go to Settings/Filters

  2. You may have multiple Filter Sets, but only one set may be active (designated with bold text). Use the gear at the bottom to enable/disable filter sets.

  3. Filters are individual rules. A typical user might have one filter set containing multiple filters to sort mail and a Vacation Filter which they enable/disable as needed.

  4. The Filter name is your short description and can be changed anytime.

  5. For most Vacation filters, you would choose ‘all messages’. You could be a bit more selective with a rule that applies to all messages but excludes mailing lists, mail from amazon, etc.

  6. Reply with message is the proper choice for a Vacation Message.

  7. Your email address(es) must be entered in My e-mail addresses. Enter them manually or use the Fill with all my addresses button and let Roundcube do it for you.

  8. Designates how frequently (in days) a vacation response may be sent. Imagine two mailboxes auto-replying to each other, this would create an endless loop.

  9. Enable/Disable individual filters here.

So why are vacation messages not working ?
  • Are both the Filter Set (2) and the Filter (3)(9) enabled ?
  • Did you choose All Messages (5) ?
  • Do you have your email address(es) entered correctly (7) in the Filter ?
The vacation reply only worked once then stopped.

The days field will prevent you from receiving more than one reply per day.
Try sending from an alternete email address.