Installing CrashPlan is really easy.  The installer has its own (text-based) installation script that will fetch a copy of the latest software and pre-requisites, like a compatible Java Runtime Environment.  Once installed, the CrashPlan agent will automatically update itself when a new version becomes available.

So, lets go ahead and download the software first.  At the time writing, the below link was correct but you can find the latest release here.  Simply change the URL below if necessary:

[[email protected] ~]# cd /tmp/
[[email protected] tmp]#
[[email protected] tmp]# wget
[[email protected] tmp]#
[[email protected] tmp]# tar -xzf CrashPlan_*_Linux.tgz

Lets just quickly check that your system has some of the basic tools that the installation script depends on, and install them if necessary.

[[email protected] tmp]# yum install grep sed cpio gzip coreutils

Now lets run the installer and I'll walk you through a typical installation:

[[email protected] tmp]# ./
Welcome to the CrashPlan Installer.

Press enter to continue with installation.

As it suggests, press your 'Enter' key to continue with the installation. CrashPlan will now check your system to make sure you've got the necessary pre-requisite programs installed. We've checked this above already, so you should fly through this check.

Validating environment…
detected root permissions

You'll notice that I've chosen to install CrashPlan using the 'root' account, giving it full access to all my data.  The installer will also let you install using a non-privileged user, but then the agent will only be able to back up files that are readable by that user. If you'd prefer to have a more secure system and are happy with managing this limitation, just quit the installer by pressing Ctrl+C; change to the user you would like to install as and then start again from the beginning of this post.

CrashPlan is written in Java and requires a valid Sun JRE or OpenJDK. If you already have it installed CrashPlan will use it, otherwise, you'll be asked if you would like to download a dedicated copy for CrashPlan. This is my preferred method as it means that CrashPlan is self-contained.

No Java VM could be found in your path
Would you like to download the JRE and dedicate it to CrashPlan? (y/n) [y]

The next step is to accept the EULA (yawn)

You must review and agree to the EULA before installation.
Press enter to read the EULA.
Do you accept and agree to be bound by the EULA? (yes/no) yes

Now we need to set our installation path and enter a few configuration parameters. The installer will suggest hopefully useful defaults. You'll notice I've changed the location of where CrashPlan should store backups.

What directory do you wish to install CrashPlan to? [/usr/local/crashplan]
/usr/local/crashplan does not exist. Create /usr/local/crashplan? (y/n) [y]

What directory do you wish to link the CrashPlan executable to? [/usr/local/bin]

What directory do you wish to store backups in? [/usr/local/var/crashplan] /mnt/backupdata
 /mnt/backupdata does not exist. Create /mnt/backupdata? (y/n) [y]

What directory contains your SYSV init scripts? [/etc/init.d]

What directory contains your runlevel init links? [/etc/rc3.d]

Your selections:
 CrashPlan will install to: /usr/local/crashplan
 And put links to binaries in: /usr/local/bin
 And store datas in: /mnt/backupdata
 Your init.d dir is: /etc/init.d
 Your current runlevel directory is: /etc/rc3.d
Is this correct? (y/n) [y]

Have a quick check over your selection and then type 'Y' if you're happy to install the software.

Unpacking /./CrashPlan_3.0.3.cpi ...
29808 blocks
Starting CrashPlan Engine … OK

CrashPlan has been installed and the Service has been started automatically.

Press Enter to complete installation.

Important directories:
Default archive location:
Start Scripts:
sudo /usr/local/crashplan/bin/CrashPlanEngine start|stop

Excellent! That should now be the CrashPlan Engine/Agent installed and running. Now the installer is going to ask about installing the Desktop UI, which we will decline as this guide is about setting up a headless server. Instead, we'll use port forwarding and a little configuration file editing to control this CrashPlan Engine from our Windows desktop instead.

You can run the CrashPlan Desktop UI locally as your own user or connect
a remote Desktop UI to this Service via port-forwarding and manage it
remotely. Instructions for remote management are in the readme files
placed in your installation directory:

Would you like to start CrashPlanDesktop? (y/n) [y] n

Installation is complete. Thank you for installing CrashPlan for Linux.

Excellent work!  To manage your new CrashPlan server, I suggest you read my post How to Manage Your CrashPlan Server Remotely.