Moving Zimbra Collaboration Server to a new IP address

Here’s a quick overview how to migrate a ZCS mail server (based on Ubuntu) to a new IP address:

0) Not covered here: Adjusting DNS entries. Make sure you lower the TTLs of the relevant DNS entries a couple of days in advance in order to minimize downtime for clients (e.g. set a TTL of 300 for a 5 minute downtime).

1) Set the new IP address in:
* The relevant DNS entries
* /etc/network/interfaces
* /etc/hosts
* If ZCS runs in a container/VM, don’t forget to adjust its IP address too.

2) If the new IP address is part of a new subnet, make sure to add this new subnet to ZCS’s trusted_networks, otherwise, sending (relaying) messages through ZCS from Zimbra Desktop (or any other mail client) won’t work[1]. This can be set using ZCS’s web admin interface (i.e. https://mail.myserver.com:7071/zimbraAdmin/):
Navigate to “Server settings”, then open the “MTA” tab and set something analogous to the following in “MTA Trusted Networks”:
127.0.0.0/8 w.x.y.z/26

3) Restart networking and the ZCS services (it’s important, as this adjusts the trusted_network setting in ZCS’s amavisd too):
# /etc/init.d/zimbra stop
# /etc/init.d/networking restart
# /etc/init.d/zimbra start

Alternatively, just reboot the server, particularly if it runs in a VM.

Voilà!

Note: The need for the adjustments in step 2) might come as a surprise. Authenticated messages to be relayed through ZCS apparently seem to originate from the external IP address, not localhost/127.0.0.1.

[1] A typical postfix error message might look like:
Delivery Failure Notification: Invalid address: somebody . com.zimbra.cs.mailbox.MailSender$SafeSendFailedException: MESSAGE_NOT_DELIVERED; chained exception is: com.zimbra.cs.mailclient.smtp.InvalidRecipientException: RCPT failed: Invalid recipient somebody@somedomain.com: 554 5.7.1 : Relay access denied

Mac OS X Snow Leopard Server: Send e-mail alert if RAID 1 degraded/fails/goes offline

By default, Mac OS X Snow Leopard Server (and later versions likely too) doesn’t send any e-mail alerts when a RAID set degraded. Fortunately, sending such a notification can be implemented using a script, as explained in http://serverfault.com/questions/153956/mac-os-x-server-10-6-apples-software-mirrored-raid-worth-it:

# vi /etc/periodic/daily/150.check-raid

# cat /etc/periodic/daily/150.check-raid

#!/bin/sh
# This script checks for any degraded/offline/failed/whatever software
# RAIDs, and if any are found emails a note to an admin.  To use it,
# replace the ADMIN_EMAIL value with your own email address, drop it in
# /etc/periodic/daily, and change the owner to root.  This’ll make it
# run its check every morning at 3:15am.
#
# Warning: this script doesn’t check anything other than software RAIDs
# built with the Apple (i.e. Disk Utility) RAID tools.  It does not check
# any hardware RAIDs (including Apple’s RAID card), or even any third-party
# software RAIDs.  If “diskutil listraid” doesn’t list it, it’s not going
# to be checked.
#

ADMIN_EMAIL=”youradmin@somewhere.com”

if diskutil listraid | grep “^Status:” | grep -qv “Online$”; then
diskutil listraid | mail -s ‘RAID problem detected’ “$ADMIN_EMAIL”
fi


# chmod a+x /etc/periodic/daily/150.check-raid

Of course this requires that your server can actually send outgoing e-mail messages which may need some manual configuration, as explained in:

Mac OS X Snow Leopard Server: Configuring outgoing SMTP authentication for postfix

[Edit 20130401: Clarified the phrasing, anonymized data]

Samsung Audio Dock DA-E750 supports AirPlay and AllShare

Das Samsung Audio Dock DA-E750 ist das erste Audio-Device mit integrierter Docking Funktion, das über ein einzigartiges Dual Dock System verfügt. [..]

Darüber hinaus „verbindet“ das Samsung Audio Dock DA-E750 auch kabellos – und zwar nicht nur mit dem Samsung Galaxy S II und Galaxy Note über AllShare. Auch Apple iPod, iPhone und iPad können sich barrierefrei über AirPlay andocken. [..]

Der gute Ton macht die Musik
Für audiophile Enthusiasten spielt das DA-E750 alle Stücke. Das Gerät ist mit Samsungs exklusiver Hybrid-Technologie an Röhrenverstärkern ausgestattet. Sie erzeugt die, für diese Verstärkertechnik typischen, klaren und warmen Klänge. Das 2.1-Soundsystem samt integriertem Subwoofer sorgt für 100 Watt sattem Sound. Das Samsung Audio Dock ist aber nicht nur für die Ohren, sondern auch für die Augen konzipiert. Die Lautsprecher sind aus Fieberglas gefertigt. Das Dock selbst verbirgt sich kaum sichtbar im Hintergrund und die Oberfläche aus Holz verleiht dem Produkt ein elegantes Auftreten.

via Offen für Neues? Samsung Audio Dock DA-E750 verbindet

Would like to listen to it to compare it to other high-end Airplay iPhone/iPod/iPad docks like the B&W Zeppelin Air.

The Samsung DA-E750 isn’t a steal, but considering the high-quality components and manufacturing, a price of around 700 CHF seems reasonable.

 

Belkin Zero Stand for MacBook Pro

Belkin’s stylish Zero Stand is the ultimate solution for your MacBook or MacBook Pro, providing an optimal viewing angle for comfortable, everyday use.

 

  • Rubber grip keeps laptop in place
  • Open design improves airflow
  • Clutter-free cable management
  • Easy to assemble

via Belkin Zero Stand for MacBook Pro – Apple Store (U.S.).

Haven’t tried it yet with my 13″ MacBook Air, but this stand seems to be pretty good (though expensive) according to reviews (youtube video).

(Thanks to @fjoachim for the hint)

HP 48G: How to fix the “Warning: Invalid Card Data” problem

Recently, my good old HP 48G calculator (one of the best calculators ever built and my longtime personal favourite till today) started displaying the following message whenever I switched it on:

Warning: Invalid Card Data

Which seems a bit odd at first, considering the 48G model has no card slot (only the 48GX model has one). Luckily, there’s a simple solution: Execute the PINIT command by typing “PINIT” (without the double quotes) and pressing the ENTER key.

There’s a great, detailed explanation of this problem and the according fix in the “invalid card data at my hp48g” thread over at the independent HP calculator museum. If this warning message appears on a HP 48GX and the problem persists after applying this fix, take a look at step 3 described in the  article titled “Message, Invalid Card Data, is Displayed when the Calculator is Turned On” on HP’s support forum.

Wouldn’t it be a pity if a company with such a great history and so many great hardware products ceased to be a hardware company?

Animated Driving Directions using Google Maps Street View

A simple and yet fascinating and useful example app by Keir Clarke (@keirclarke) for all those many people who don’t have a Google Nexus One mobile phone yet (or any other similarly powerful turn-by-turn navigation device):

Google Maps Street View API Driving Directions Example

E.g. for driving directions on how to get from Zurich Airport to Printscreen GmbH‘s homebase by car(*), enter

From: Zurich-Airport

To: Heinrichstr. 223, Zurich

Speed: Choose Medium or Fast

And hit the “Route” button to display a map and list with driving directions.

Then click on “Drive” to see an animated simulation of your drive on Google Maps Street View.

Great, isn’t it? Now imagine this would be a seamless video..

P.S. If you’re looking for ideas for a road trip, consider taking this Grand Tour in Italy (and Switzerland and France). (Even better: Go by train and other public transport and you won’t even need a car or driving directions ;)

(*) Note: I’d strongly suggest using public transport instead. It’s almost as fast (during rush hour even faster), cheaper and tends to be more relaxing.

tiny tiny rss: A great web-based feed reader!

I’ve just installed tiny tiny rss (tt-rss), an open source web-based news reader/aggregator for Atom, RDF and RSS feeds. Configuring it as the default news reader in Firefox is very easy (just click on the according link at the bottom of the preferences page) and a convenient solution.

The installation is pretty straightforward too, but here are a couple of hints for installing it on a Gentoo box:

1. Download the tt-rss-1.3.3.ebuild file and all other files and directories from http://overlays.gentoo.org/svn/proj/sunrise/reviewed/www-apps/tt-rss/ and place it in the www-apps/tt-rss directory (create it) in your local Portage overlay (usually /usr/local/portage).

2. Rename the file to tt-rss-1.3.4.ebuild (= the most recent version at the time of writing, released on Oct 21, 2009), execute ‘ebuild tt-rss-1.3.4.ebuild digest’, set the flags you need (e.g. for mysql and vhosts) and emerge the ebuild.

3. Follow the post-install instructions on the screen (bascially the official tt-rss installation notes)

If you intend to use the default, single-process update daemon, you can use the following init files I created (loosely based on Pierre-Yves Landure’s init script):

/etc/init.d/tt-rss:

#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
    use net
    use mysql
}

#
# Function that starts the daemon/service
#
start() {
    ebegin "Starting $NAME daemon"
    start-stop-daemon --start --quiet --make-pidfile --background --chdir $DAEMON_DIR --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS
    eend $?
}

#
# Function that stops the daemon/service
#
stop() {
    ebegin "Stopping $NAME daemon"
    start-stop-daemon --stop --quiet --make-pidfile --retry=TERM/1/KILL/5 --pidfile $PIDFILE --name $NAME
    eend $?
}

(replace “mysql” by “postgresql” if you use postgresql)

/etc/conf.d/tt-rss:

# Defaults for the Tiny Tiny RSS update daemon init.d script

# Location of your Tiny Tiny RSS installation.
TTRSS_PATH="/var/www/localhost/htdocs/admin/tt-rss"

DAEMON_SCRIPT="update_daemon.php"

DAEMON=/usr/bin/php
DAEMON_ARGS="$TTRSS_PATH/$DAEMON_SCRIPT"
DAEMON_DIR="$TTRSS_PATH"
PIDFILE=/var/run/tt-rss.pid
NAME=tt-rss

(make sure TTRSS_PATH points to your tt-rss installation)

4. Note that for using the default update method, PHP needs to be compiled with pcntl support. If required, set the pcntl flag and remerge PHP.

5. Have fun!

Twitter / mettlerd

I’ve finally joined the flock of birds: Twitter / mettlerd. Let’s see whether it will be just a waste of time or an unexpected blessing. In general, most reviews of other (much earlier) birds are cautiously positive..

Aug 29, 2008: BlogCamp Switzerland 3.0 in Zurich

Note that this year’s Swiss BlogCamp, the BlogCamp Switzerland 3.0, will take place on the same date (August 29, 2008) as the Tag der Informatik (informatica08) and the tweakGrill, and at the same location (Technopark in Zurich), too! Of course, this is no coincidence :) No matter whether you’re a blogger or not (or plan to be, have been, are interested in the Swiss blogging scene, the web 1.0, 2.0, 3.0, 4.0, whatever etc. ;): Be there, I’m sure it will be an interesting event, again! (And attending the “Tag der Informatik” is a point of honor anyway :)

(Bloggy Friday will start at 8 PM, guess where ;)

BlogCamp Switzerland 3.0

[UPDATE 20080802: I probably can’t be there due to military service :( At rather short notice as they managed to send the march order to an address that doesn’t exist. No comment.]