CrushFTP 9 is a separate install, and requires a CrushFTP 9 license code.  Prior CrushFTP versions require purchasing an upgrade code to use in CrushFTP 9. [http://www.crushftp.com/pricing.html].  Download a fresh copy of CrushFTP 9 and extract it to a safe location. [http://www.crushftp.com/download.html]
----

Video covering the upgrade process: [https://youtu.be/j4CAXYvDCm0]

!CrushFTP 6/7/8 Upgrade to CrushFTP 9 (scroll down below for upgrades from older versions):

1.) Register your CrushFTP 9 license key within your current version at the admin>>about tab.\\

2.) Copy over your users folder, prefs.xml, ssh private keys, and ssl keystores files from the old version to the new version's folder (see Critical Post Update Items below).\\

*Do not replace your WebInterface folder, the CrushFTP 9 WebInterface folder is very different, and replacing it with the older folder would break CrushFTP 9.\\

3.) Check on Services.msc under what exact OS user is the CrushFTP service running.\\

4.) Run CrushFTP 6/7 and click 'Remove Daemon / Service'.  Alternatively you can run CrushFTP v9 and use its button to remove the service too.\\

5.) Make sure you have the "Java" folder in the CrushFTP v9 folder.  OpenJDK13+ is recommended.  Follow the readme.txt file.\\

6.) Run CrushFTP v9.\\

7.) Click "Start Temporary Server".  The server will now be running and ready for use as long as you keep this window open.\\
[attachments|gui_setup.png]\\

8.) Login using the web browser to your server using your normal 'crushadmin' user.  Go to the Admin, About tab and enter in your CrushFTP 9 license code if not registered on your prior CrushFTP version, from previous steps.\\

9.) Go back to the GUI window, and click 'Install Daemon / Service'\\

10.) Go to the services.msc and set the same user as you had on your prior CrushFTP 6/7 version, to run the CrushFTP 9 service. Restart the service for the changes to apply.

11.) Update any paths in the prefs for SSH keys or SSL keystores to point to your new CrushFTP 9 folder.

----

!!v6/v7/v8 to v9 Followup items:\\
Copy over your TempAccounts folder if you have been using the WebInterface 'Share...' feature.\\
\\
Copy over your Previews folder so image previews don't need to be re-generated.\\
\\
Copy over any custom logo images from your WebInterface folder, but do not overwrite any login.html files as CrushFTP 9 is different.\\
\\
Copy over your SSL keystore if you had it in your CrushFTP folder, and update the prefs to point at the new location.\\
\\
Copy over your private SSH key files for the server if they are in their default location.  (ssh_host_rsa_key, ssh_host_dsa_key)\\
\\
Copy over your Jobs folder if you have the enterprise version.  Its in your CrushFTP folder.\\
\\
If you want your statistics for reporting to transfer over from v6/v7/v8 to v9, then copy the statsDB folder too.\\
\\
If and __only if__ the SHA3 password hashing policy was enabled on the old version, and the users cannot log in after the upgrade, set edit the main server configuration file prefs.XML locate the <sha3_keccak> key, change it's value from __false__ to __true__

----
----
!CrushFTP 4 or CrushFTP 5 Upgrade to CrushFTP 9:

1.) Register your CrushFTP 9 license key within your current version at the admin>>about tab.

2.) Run your prior CrushFTP version, and uninstall the daemon or service if its installed.

3.) Copy over your users folder, and prefs.xml file from the old version to the new version's folder.

! *Do not replace your WebInterface folder, the CrushFTP 9 WebInterface folder is very different, and replacing it with the older folder would break CrushFTP 9.

4.) Run CrushFTP 9.

[attachments|gui_setup.png]

5.) Click Create New Admin User.  Create your own admin user that will be used for managing the server.  Call it 'crushadmin'.

6.) Click "Start Temporary Server".  The server will now be running and ready for use as long as you keep this window open.

7.) Login using the web browser to your server using the 'crushadmin' user you just created.  Click the 'Admin' button in the upper left.

8.) Go to Preferences, and click on each server item.  Verify to the right that each port (FTP,HTTP,SFTP) is set to use users from the correct User Connection Group.  (Probably "MainUsers" or "lookup_21".)

[attachments|user_connection_group.png]

9.) Open the user manager, select the Convert All Users from the convert menu.  (If you were already using CrushFTP 5.5 and above, this can be skipped.)

[attachments|convert_users.png]

10.) Test and verify things are working on the new server.  If necessary, you can add or remove server groups in the [IP Servers] of the server prefs.

11.) Install the daemon / service again using the main CrushFTP application.

----
!Linux Upgrade:\\

- download the crush package, unzip it into /var/opt \\

- make it executable, as root : chmod +x crushftp_init.sh \\

- register your CrushFTP 9 license key in your old CrushFTP WebUi\\

- copy over the files from the above steps for the Windows / OSX upgrade\\

- change dir into /var/opt/CrushFTP9/ \\

- while as root, execute:  ./crushftp_init.sh uninstall  -- for all older versions daemon launch reference to be removed. (No CrushFTP app files are touched)\\

- while as root, execute:  ./crushftp_init.sh install  -- to have latest CrushFTP installed daemon launch reference added. (No CrushFTP app files are touched)\\

----

!!Critical Post Update Items:\\
Copy over your TempAccounts folder if you have been using the WebInterface 'Share...' feature.\\
\\
Copy over your Previews folder so image previews don't need to be re-generated.\\
\\
Copy over any custom logo images from your WebInterface folder, but do not overwrite any login.html files as CrushFTP 9 is different.\\
\\
Copy over your SSL keystore if you had it in your CrushFTP folder, and update the prefs to point at the new location.\\
\\
Copy over your Jobs folder if you have the enterprise version.  Its in your CrushFTP folder.\\
\\
Your daemon/service may have been running with additional memory, reconfigure the new version with the equivalent memory.\\
\\
Your daemon/service may have been running as a domain user on Windows.  Change the service to be running as that domain user again or UNC VFS paths will fail.\\
\\
Copy over your private SSH key files for the server if they are in their default location.  (ssh_host_rsa_key, ssh_host_rsa_key.pub, ssh_host_dsa_key, ssh_host_dsa_key.pub)\\
  ''On OS X, these are in the app bundle.  CrushFTP5.app/Contents/Resources/Java/''\\
  ''On CrushFTP4, you only had a DSA key located in the "conf" folder.  CrushFTP4.app/Contents/Resources/Java/conf/''
\\
Optional: If you want your statistics for reporting to transfer over from v6/v7 to v9, then copy the statsDB folder too.\\
\\

----
!!CrushFTP4 upgrade troubleshooting tips.


v4 has a bit of a mess on its user connection groups.  So when you look in the folder "users" you see MainUsers, lookup_21, lookup_80, etc.

Figure out which ones are correct.  MainUsers is the default location since v5.  But you can use the other named folders just fine too.

In the prefs, on the tab with the list of ports, down at the bottom is a list of the user connection groups.  Remove or add them as appropriate to match up with the real ones you have based on the folder names in the users folder.

Then on each port, check to see what user connection group they are configured for.  Assign them appropriately.

If you haven't done this then logins may fail when you start using CrushFTP9 as it can't find the users since they aren't associated to the port you are using.