In my previous posts, I've explained how to Install CrashPlan on a Headless Linux Server and then how to use SSH port forwarding to manage it from a Windows desktop.  In this post, I'll show you how to control your headless CrashPlan server without the need for SSH - meaning this will work for servers running any OS, including Windows!

For the uninitiated, CrashPlan comprises of two components:

  • CrashPlan Engine: This is always running from the moment you install CrashPlan and continues to run even if you log out. It is responsible for the actual backup functions
  • CrashPlan Desktop: This runs the nice GUI desktop application that helps you configure and manage the CrashPlan Engine.

Here at Liquidstate, we have a central file server that runs Linux.  Naturally, it doesn’t have X Windows installed and is operated as a headless server – much like the type you would deploy to a data centre in a corporate environment.  I have a PC running Windows 8 that I use for any serious work and an iPad for casual web browsing etc.  In this post, I’ll show you how you can use the CrashPlan Desktop running on Windows 8 to manage the CrashPlan Engine running on a headless server.

Installation

Before we begin, I’ll assume that you’ve followed my other post that covers installing CrashPlan on a headless Linux Server.  I’ll also assume that you’ve downloaded and installed the CrashPlan software on your Windows 7 PC.  If you haven’t, then why not go do that now.

Configure CrashPlan Server

After you download, install, and start the CrashPlan software on your Linux server, you will find that CrashPlan daemon listens on two ports.  The first is port 4242, where the CrashPlan engine is listening for backup requests.  The second is port 4243, where the CrashPlan graphical interface is expecting to connect to, so that you can configure the engine part of the software.

The problem is that, by default, the daemon only listens for GUI connections from the local machine.  However, we can change this behavior, making CrashPlan listen on all network interfaces and thus accepting GUI connections from any computer on your home network.

On your Linux server, open the following XML configuration file in your favourite text editor.

nano -w /usr/local/crashplan/conf/my.service.xml  

Search for the "serviceHost" parameter and change it from:

<serviceHost>127.0.0.1</serviceHost>  

to this instead:

<serviceHost>0.0.0.0</serviceHost>  

Save the file and then restart the CrashPlan daemon:

/etc/init.d/crashplan restart

Configure CrashPlan GUI

We’re now going to reconfigure the CrashPlan Desktop installation on our Windows PC to talk to the  CrashPlan Engine instance running on our Linux Server.

Open the folder where you installed CrashPlan on your Windows PC. By default, this is in C:\Program Files\CrashPlan. Inside, you’ll find a folder called conf and inside there, a file called ui.properties. Open this file using a decent text editor like Notepad++ and look for the following line:

#serviceHost=127.0.0.1

Change the line to remove the comment character '#' and include the IP address of your CrashPlan server.  For example:

serviceHost=192.168.1.100  

For reference, here is the content of my ui.properties file:

#Fri Dec 09 09:50:22 CST 2005 serviceHost=192.168.1.100
#servicePort=4243
#pollerPeriod=1000 # 1 second 
#connectRetryDelay=10000 # 10 seconds #connectRetryAttempts=3
#showWelcome=true
#font.small=
#font.default=
#font.title=
#font.message.header=
#font.message.body=
#font.tab=

Connect to the remote CrashPlan Engine

You should now be able to launch the CrashPlan Desktop application on your Windows PC and it will connect through to the CrashPlan Engine instance running on your Linux server.