This is an old revision of the document!


Server upgrade

This page describes how to upgrade an existing Lime CRM Server installation. The upgrade procedure differs depending on the version of Lime CRM Server that is currently installed.

Follow these steps:

  1. Completely uninstall everything Lime CRM related (server, client and tools, e.g. Citrus).
  2. Reboot the machine.
  3. If HTTPS is used (through ldcws/Lime CRM Data Component Services) existing URL reservation and certificate bindings must be removed. Run these commands in an elevated command prompt:
    netsh http delete urlacl url=https://+:<port>/
    netsh http delete urlacl url=http://+:<port>/
    netsh http delete sslcert ipport=0.0.0.0:<port>

NOTE: Windows might refuse to accept the deletions at first. If an error message is received and the URL reservation or certificate binding still exists, wait (empirically: at least 15 minutes) and try again until it works.

  1. Install according to the instructions in Server installation
  2. First, register the database and then upgrade it, use Limefu and follow the instructions
  3. Re-enable Super Search if it was in use earlier.

Warning!

Ignoring steps 1-2 above may lead to a severely broken Lime CRM Server installation.

Note!

When limefu upgrades a database used with Lime CRM Server version 10.11 or earlier, it will automatically apply a fix for document performance problems. This may take 30 minutes or more depending on the amount of documents in the database.

If you want to run this prior to upgrading the database in order to cut down on installation time, you may manually apply the following SQL snippet:

Hotfix #15090

The installer application remembers the installation configuration (e.g. user and group information) specified from the last time it was run, however, no passwords are remembered so make sure you know the password for the user account that Lime CRM Server services are running under.

Follow these steps:

  1. Back-up the database
  2. Perform pre-upgrade preparations
  3. Run the installer (limepro-server-<version>.exe).
  4. Upgrade databases.
  5. Re-enable Super Search if it was in use earlier.
  6. (Re-index the database if needed)

Follow these steps to ensure that you're upgrade is successful:

Ensure that you don't have any of the following applications running:

  • Windows Task Manager
  • Services Console
  • Event Viewer
  • Microsoft Management Console (MMC)

If you see that Lime CRM Webfront is having problems starting, it most probably is due to the fact the port 443 is already in use by another process. Open a command prompt, and run:

netstat -na | findstr LISTEN

Ensure that there is no entry using port 443. These show up as 0.0.0.0:443, 127.0.0.1:443, [::]:443, or a specific IP-address followed by :443. If you see an entry like this, make a note of the process ID (PID) and see if you can find info about the corresponding process in Window's task manager. A PID of 4 means the System Process. We've seen the system process allocate port 443 if SQL Server Reporting Services is installed.

Though it shouldn't be necessary, this might help you ensure that no services are lingering during the installation process. Uninstall the following programs from the Control Panel:

  • Lundalogik Lime CRM Server (Lundalogik LIME Pro Server on older installations)
  • Erlang OTP
  • RabbitMQ

Python 3.7 is required from version 12.51

From version 12.51 and later of Lime CRM Server, Python 3.7.3 needs to be installed prior to installation or upgrade of Lime CRM Server.

Instructions for how to install Python 3.7.3 is found here.

All Lime CRM databases that are to be used after the upgrade must be migrated to the latest revision of the database schema. This is done using limefu with the following command (from version 12.4):

limefu database upgrade --application "DATABASE DISPLAY NAME"

Note!

When upgrading databases, the user running the limefu command and who is thereby the user accessing the database, must have dbo as the default schema in the database.

If using the Lime CRM Web Client, the search index might need to be re-created. Note that this might slow down the solution for the users, it is recommended to do this after work hours, especially if it is the first time or a big solution. This is done using limefu with the following command (from version 12.4):

limefu search index --application "DATABASE DISPLAY NAME"

From Lime CRM Server 12.6, the file-API makes it possible to include the name of the document-file as a proper filename. When upgrading, already existing files do not have any filename, and if you want to set the filenames on the already existing files you need to run the following SQL-script. The script set the filename to the text in the field [description] on the document-table, but can be adjusted to suit the individual solution.

filename-migration-lime.zip

From Lime CRM Server 12.9, lime-views and some configuration is stored in the database instead of in files. To migrate existing lime-views and configurations, run the following script from the Lime CRM Command Prompt on the server.

python migrate_config.py <database name>

migrate_config.zip

A new feature has been added to the Lundalogik Active Directory Integration making it possible to map an AD group to the database itself. This allows AD users to be added as Lime CRM users without giving them login permission.

Consider the following scenario:

The AD group Employees is currently mapped to the Lime CRM group Users with the auto-create option enabled in order to add them as users in Lime CRM using the synchronization feature. The reason for this is to get all employees into Lime CRM so that they can be assigned e.g. a helpdesk ticket even though they don't use Lime CRM themselves. Another AD group Lime CRM Users, containing all users that should be able to use Lime CRM is then included in the Distributed COM Users Windows group which controls login permissions. This means that all members of Employees will be imported, but those not in Lime CRM Users will not be able to log in.

Since authorization starting with Lime CRM Server version 12 no longer uses the Distributed COM Users group this means that the above setup will no work since all users in Employees will be able to log in to Lime CRM. To fix this some changes must be made to keep the previous behavior:

  • The AD group Employees must be mapped to the database. This is done in the Security Overview in LISA.
  • The AD group Lime CRM Users must be mapped to the Lime CRM group Users with auto-create activated.

Now everything will work in the same way as before, minus the extra complexity of the Distributed COM Users group.

  • Last modified: 4 years ago
  • by Gustav Stigestadh