Database Design Documentation
How can we help?
Full Site Search

On-premises Private Server Installation (Including NAS)

You can host Ragic on your own servers if necessary, provided that your organization has the ability to maintain your own servers. We strongly recommend companies only use on-premise servers if they have an experienced IT crew who understands how to maintain and keep a server safe and secure.

There is no additional cost for the on-premises option, but there is a 10 users minimum and your plan will need to be paid annually. For detailed information, please refer to pricing page.

Install Guide

  1. Make sure JDK8 is installed on your server that you would like to host your Ragic service. Install JDK 8 if not installed already. You can download JDK here or here.
  2. Upload your Ragic zip file to the server. You can download Ragic on-premise version by signing on to www.ragic.com with your Ragic user account and click here to download the latest version.
  3. Unzip the zip file to the directory where you would like to install Ragic
  4. You should have two license files license.xml and sig that were sent to you after you purchased Ragic. Copy these two files to the directory cust under your Ragic directory. This is also the place where you update your license files in the future.

  5. If you are on Linux, ls -al and use chmod to make sure that you have the right to execute both bin/ragic_dbv7.sh and bin/setclasspath_dbv7.sh.
  6. Setup Environment Variables:

    JAVA_HOME: the path where JDK 8 is located

    RAGIC_HOME: the path where Ragic is located

    On the Windows taskbar, right-click the Windows icon and select System. In the Settings window, under Related Settings, click Advanced system settings and hit Environment Variables to create a new one.

    If you don’t want to edit the environment variable, you can also just edit ragic.sh (Linux) or ragic.bat (Windows) to add lines like these:

    JAVA_HOME= /usr/lib/jvm/java-8-openjdk-amd64

    RAGIC_HOME= /home/ragic

    You can also change the lines with JAVA_OPTS="-Xms5g -Xmx5g to tell your server how much memory Ragic can consume. 5g will mean that it takes up 5 GB of memory. If you set it to JAVA_OPTS="-Xms10g -Xmx10g it will give Ragic 10 GB of memory. You should not give Ragic more than 70% of physical memory available on the server, since there will be memory needed for the OS to function properly, and there is still some off-heap memory needed for Ragic to run.

  7. To Start the Ragic Server, run the following command:

    For Windows, find the directory bin folder under your Ragic directory and type ./ragic_dbv7.bat run to start Ragic in the same window, or ./ragic_dbv7.bat start to start Ragic in a new window.

    For Linux, type ./bin/ragic_dbv7.sh manual

    On Linux, you can add nohup so that the process will not end as your user exits the session, or add it to the system services. Also notice that on Linux you will need to use root privilege or sudo to execute the service so that Ragic can be bound to port 80. On Windows, you will need sufficient privileges too to bound to port 80.

    When starting or restarting Ragic, you should always make sure there’s only one instance of Ragic running. The easiest way to check is using your browser to connect to your Ragic URL and make sure it’s currently not running. On Linux, you can also use the command ps aux | grep java to check if there’s any java process running already. On Windows, you can go to the process monitor to see if there’s any Java process running. You will need to kill all Ragic Java processes before you start Ragic or running multiple instances of Ragic will result in an error (although sometimes not immediately noticeable).

  8. In your browser, go to localhost (or enter the IP address/ the domain name of your Ragic remote server). The local host main page should look like below. The user that you create now will have the administrator privilege of your Ragic server. When the setting is done, you will be taken to the default homepage of your Ragic On-Premise installation. Now you can create all the applications you need just like on any hosted Ragic server.

    This is the screen that you should see when you have successfully setup your Ragic Server:

    Note: Some antivirus programs may cause problems in Ragic Server, so it is a recommended practice to configure any antivirus software running on Ragic server to exclude specific paths, processes, and file types.

  9. (Optional) If your on-premises server cannot connect to the internet. You will need to set up a PDF service to generate PDF files for Ragic. First, we have to set your port for nodeJs Server in configuration, for instance:

    PDFMAKER_SERVER_PORT=8888

    8888 is an available port for us.

    Now we are going to install nodeJs, you could get the installation file from here.

    If you are on windows:

    (1) Double click the installation file.

    (2) Open the cmd and type node -v to see if it was installed successfully.

    If you are on Linux:

    (1) sudo apt-get install build-essential checkinstall

    (2) sudo apt-get install libssl-dev

    (3) Added these lib for launching on Ubuntu.

    sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

    (4) Install nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

    (5) Set the path. export NVM_DIR="$DIR_WHERE_YOU_INSTALL_NVM/.nvm"

    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

    (6) Type nvm --help to see if it was installed successfully.

    (7) Now we could install nodeJs by nvm. nvm install 10.15.1 

    (8) Type node -v. If you got a number different with 10.15.1, please type nvm use 10.15.1

    After installing nodeJs, we have to install a nodeJs module named Puppeteer.

    These steps are the same for all os:

    (1) Go to $YOUR_RAGIC_ROOT_DIR/web/sims/js/pdfMaker and type npm i puppeteer@1.12.1

    (2) Go to $YOUR_RAGIC_ROOT_DIR and type node web/sims/js/pdfMaker/nodeJs $YOUR_PORT

    $YOUR_PORT was the port you set in configuration before.

  10. Linux Start and Stop Ragic Service

    Start: sudo nohup ./bin/ragic.sh manual

    Stop: sudo pkill -f RagicJetty9Server

    Please note that it's not recommended to force stop the service, unless it's necessary.

    Private Server Config

    Make sure you make a backup of everything in your Ragic directory before you do any upgrading! You will need to log in to Ragic before you download any of the following patch or full version.

    After the download is finished, you will need to upload the file to your server through the page below.

    You can also update license through the page if you need.

    Server URL and E-mail Server Configurations

    When you finish setting up your server, please go to Private Server Config to make sure that the server IP or URL is entered correctly in the SERVER_NAME parameter. Next, please enter the mail server settings to prevent email features from malfunctioning. After changing those configurations in Private Server Config, please remember to restart your Ragic service to apply them.

    Here are the mail server settings in Private Server Config:

    SMTP_SERVER=The SMTP / SMTPS server domain name / IP

    SMTP_SENDER_AUTH_USER=User name used to log in to SMTP

    SMTP_SENDER_AUTH_PWD=Password used to log in to SMTP

    SMTP_SSL_ENABLE=For SMTPS put true, SMTP put false

    SMTP_PORT=Port to connect to your SMTP service

    SMTP_SSL_PORT=Port to connect to your SMTPS service

    SMTP_SENDER_PERSONAL=The name used when Ragic sends out an e-mail

    SMTP_SENDER_EMAIL=The reply to address used when Ragic sends out an e-mail

    Firewall Settings

    Firewall settings contain inbound connections and outbound connections. If you would like Ragic to be accessible, you would need to open inbound port 80 / 443. On the other hand, if you would like Ragic to access PDF servers, you would need to open outbound port 80 and port 8888.

    App Access Settings

    Add the parameter "DISABLE_MOBILE_APPLICATION_ACCESS" to the Private Server Config. When set to true, it will block App login. If not set or set to false, App login will be allowed as usual.

    Updating Your License Files

    To update your license files, just go to the private server configuration page, upload your license file, and restart your Ragic service. If your service has already expired, you can also copy your two license files (license.xml and sig) into the cust folder in your Ragic directory, and restart your Ragic service.

    Updating Your On-premises Server

    To upgrade your Ragic server, download the latest patch of Ragic from https://www.ragic.com/sims/download.jsp and go to the private server config page and find the server update section at the bottom of the page and upload the patch file.

    A Ragic service restart is necessary after an update, and a restart link will appear for you to restart your Ragic service. On Linux servers (including QNAP and Synology servers, they are Linux based), you can use the restart link to restart your Ragic service, but on Windows servers, you will need to kill the Java process started by Ragic and manually restart it.

    Note: "On-premises" here refers to any private server service, including self-built servers and NAS. This method is applicable for updating Ragic services. The main reason is that for products like NAS, the control over the update process is relatively limited for Ragic, and the version updates are likely to be slower than the official releases. Therefore, it is recommended to download the latest update files from the official website and use this method for updating, instead of relying on the Application Center update.

    Full Update

    In some cases, we will suggest you do a full update. Then you will need to download a full version of Ragic.

    You will need to make changes to the .sh or .bat files in the bin directory again if you have done any modifications to them. So make sure you have a backup of your old .sh or .bat file before you replace it.

    You will also need to stop the server before the update and restart the server after the update.

    System Sheet Update

    When there are new features in the company settings and feature access settings, you'll need to update system sheets to have those features.

    You can download "Ragic On-premises account setup forms patch" and unzip the file. In the "ragic-setup" folder, please copy those .nui files and paste them to the "ragic-setup" folder under your installation path. Then, access any of the system sheets and press the reload button to update.

    Note: please do not rename the "ragic-setup" folder. Otherwise, the system may not work as expected.

    Daily Auto Backup

    You can have daily auto backup by adding the following configurations.

    DISTR_DBBACKUP_PATH=The directory to store backup (ex : D:/MyBackUp/ )

    DISTR_PRESERVED_NUM=The number of backup you want to preserve (ex: 5 )

    Remember any changes to the private server configuration will require a Ragic service restart.

    Or you can use your own backup software or script to create the backup, all you need to do is to copy the Ragic directory to another location, and it will contain all the necessary files and data to restore Ragic to a previous state.

    For Linux servers, you can simply write a cron job and run rsync to periodically sync all your files to another backup server.

    Restoring a backup from hosted Ragic

    You can simply use the backup restore tool to restore a backup that you downloaded from your Ragic account online. But note that because the users in your backup are not actually registered on your on-premises version. After you restore your backup, you will need to edit and resave each user so that they are added to your server, and reset their password to a new default password.

    System Requirements

    Linux (Recommended):

    • Ubuntu Linux 10.04 and above (64-bit)

    • Red Hat Enterprise 6.x and above (64-bit)

    • Suse Linux Enterprise Server 10 SP2, 11.x and above (64-bit)

    • Oracle Linux 6.x and above (64-bit)

    • RAM: over 8GB

    • Disk space: over 200GB


    Windows:

    • Windows 7 or later (64-bit)

    • Windows Server 2012 or later (64-bit)

    • RAM: over 8GB

    • Disk space: over 200GB


    Mac OS X:

    • Intel-based Mac running Mac OS X 10.7.3 (Lion) or later. (64-bit)

    • Administrator privileges for installation

    • RAM: over 8GB

    • Disk space: over 200GB

Running Ragic on the Cloud

If you’re would like to run Ragic on AWS EC2 or Google Compute Engine. We recommend starting with the following VM configurations:

AWS EC2:

Start with m7g.xlarge, and upgrade to m7g.2xlarge when you need more memory or CPU processing power. For storage, we recommend using the EBS gp3 storage type for data disk, and sc1 storage type for backups. You can consider starting with around 500GB of disk space. The amount of backup space will depend on how many backups that you configured to have.

GCP:

Start with e2-standard-4, and upgrade to e2-standard-8 when you need more memory or CPU processing power. For storage, we recommend using the balanced persistent disk for data disk, and standard persistent disk for backups. You can consider starting with around 500 GB of disk space. The amount of backup space will depend on how many backups that you configured to have.

Platforms Other Than AWS EC2 or GCP:

You can look for similar level of hardware for your VM. Which is to generally start with 4 vCPUs and 16 GB of RAM, double it when the load increases. For disk space, unless IO is critical, you can generally start with a hybrid of SSD and traditional disk. If such hybrid is not available, we would recommend using a SSD disk for the data disk, since the IO speed difference between a non-SSD disk and SSD disk is quite noticeable.

FAQ

When using on-premise servers, if issues arise with sending emails or attaching files (excluding SMTP), first check if you have installed a purchased certificate for your server. If not, please refer to the following methods:

1. Purchase and install your own certificate. Please refer to this article for installation instructions.

2. If you do not wish to purchase the certificate, you can set the parameter in conf/ragic.properties: IGNORE_SSL_EXCEPTION=true.

Troubleshooting During Installation

If you encounter issues during the installation of Ragic and are unable to successfully install it, please check the following items to ensure your settings are correct:

  1. Is Java JDK 8 installed on your server? Make sure it’s the JDK, not the JRE, and it must be JDK 8. Versions before or after this may cause problems.
  2. Have you placed the license.xml and sig files in the cust directory? The system cannot operate correctly without these license files.
  3. On Linux, have you given execution permissions to the ragic_dbv7.sh file?
  4. When starting Ragic on Linux, does the user have root permissions? Without root permissions, you won’t be able to bind to port 443.
  5. Have you allowed network access to ports for HTTP (80) / HTTPS (443) services? Both Linux and Windows typically have firewalls enabled by default.
  6. Is the JVM heap memory setting within the actual memory capacity of your machine? In the previously mentioned JAVA_OPTS parameter settings, ensure server actually have this much memory; otherwise, it will not start.
  7. Is the JVM heap memory allocation sufficient? As mentioned earlier in the JAVA_OPTS settings, if the allocated memory is less than 5 GB, slightly larger databases may fail to execute properly.
  8. Have you checked for duplicate instances of java or java.exe running? On Linux, you can use `ps aux | grep java`, and on Windows, use Task Manager to check if only one java or java.exe process is running. Duplicate instances can cause serious database problems.
  9. Is any endpoint monitoring software or WAF product being used in your environment? If so, please ensure that Ragic is allowed to run, to avoid affecting its operation.
  10. Have you correctly set the SERVER_NAME parameter in the ragic.properties file? If not set, there will be issues when connecting to the links generated by Ragic.
  11. Is the daily automatic backup correctly configured to a different hard drive than Ragic? The settings include DISTR_DBBACKUP_PATH and DISTR_PRESERVED_NUM. After installation, it’s crucial to configure backups, and to ensure that the backup location is on a different disk other than the one where Ragic is running, to avoid losing everything if the hard drive fails.

Top of Page Table of Contents

See also

Start Ragic for free

Sign up with Google