Every linux distro is slightly different. This guide is intended to cover the basics and show you around some of the ways you can configure and work with CrushFTP.

The assumption is that you are doing this install headless.


First, make sure Java is installed properly. By default most linux distros come with an open source version of Java that may not work with CrushFTP. Make sure its an official OpenJDK java, or other suitable JVM.


java -version

If it mentions GNU, it is not the right one.

To run Java, you may need to specify the full path to the java binary. Something possibly like /usr/java/jre1.5.0_11/bin/java. Its going to depend on where you installed it.

Start / Stop CrushFTP

There is a script provided to give you the basics of starting and stopping CrushFTP. It might be overkill for your situation, but you are welcome to use it and modify it for your needs. The script is crushftp_init.sh. Its included with your download of CrushFTP already. You must edit the script the first time you use it to set the correct path in it.

./crushftp_init.sh start
./crushftp_init.sh stop

Install / Uninstall CrushFTP

There is a script provided to give you the automated process supported on most Linux distro's of installing and uninstalling CrushFTP. The script is crushftp_init.sh.

./crushftp_init.sh install
./crushftp_init.sh uninstall

Generating an Admin User

While you technically can do everything with CrushFTP from the command line and editing text XML files, its much easier to use a web browser to do this. You just need to have an admin user created first.

To make your user for doing this, use a command like this (avoid special characters in the comamnd line password creation):

java -jar CrushFTP.jar -a "crushadmin" "password"

This will make a new user, and write it to the default location:


You can now login to the administration console using a web browser. The default ports are:


Install Video | Quick Start Video

Alternate Start /Stop CrushFTP Methods

You may also want to start it so it stays running even when you logout.

sudo nohup java -jar CrushFTP.jar -d&

The "-?" option will list various command line options you can use:

java -jar CrushFTP.jar -?

To kill CrushFTP, you can do it one of two ways. The standard kill method will definitely work in stopping the server. Its safe to use as CrushFTP takes precautions against issues that could arise.

You can also do it from a script. CrushFTP supports the "SITE QUIT" command if it has been enabled in the User Manager under the Admin tab for a user. So you can have a scripted command that simply logs into the server, issues SITE QUIT, then logs out. The server will then gracefully quit saving any unsaved data to disk before exiting.

Here is an example shell script to login with FTP with a provided script:

#!/bin/sh ftp -n < ftp.txt

You would then put the following into a ftp.txt file:

quote user crushadmin
quote pass password
quote site quit
quote quit

Provided a user named "crushadmin" exist, and they have permission to execute that command, CrushFTP will terminate once the user logs out.

Generating a Password With CrushFTP from the Command Line

CrushFTP supports a "-p" option to encrypt a password. This is especially useful if you are manipulating CrushFTP user.xml files directly.

java -jar CrushFTP.jar -p DES thePassword

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
crushftp_init.sh 3.9 kB 1 09-Oct-2016 18:14 Ben Spink
« This page (revision-24) was last changed on 18-Oct-2017 18:15 by Halmágyi Árpád
G’day (anonymous guest)
CrushFTP8 | What's New

Referenced by

JSPWiki v2.8.2