|
| 1 | +--- |
| 2 | +layout: default-layout |
| 3 | +title: Install Dynamsoft Dynamsoft License Server on Linux |
| 4 | +keywords: Install, Dynamsoft License Server, Linux |
| 5 | +description: Steps and information about how to install Dynamsoft Dynamsoft License Server on Linux |
| 6 | +breadcrumbText: Install DLS on Linux |
| 7 | +needAutoGenerateSidebar: true |
| 8 | +--- |
| 9 | + |
| 10 | +# Install Dynamsoft License Server on Linux |
| 11 | + |
| 12 | +## Example Environment |
| 13 | + |
| 14 | +* CPU: 2 Core |
| 15 | +* Memory:2 GB |
| 16 | +* Disk Space |
| 17 | + * System: 8 GB |
| 18 | + * Data: 20 GB |
| 19 | +* OS:CentOs7.4 |
| 20 | + |
| 21 | +## Installation |
| 22 | + |
| 23 | +The following shows all the commands and steps required to set up the Dynamsoft License Server |
| 24 | + |
| 25 | +<!--### Prepare a new disk to store DLS data (optional) |
| 26 | +
|
| 27 | +``` shell |
| 28 | +mkdir /data |
| 29 | +# Specify a disk to mount, in our case, it is /dev/nvme1n1 |
| 30 | +mkfs -t ext4 /dev/nvme1n1 |
| 31 | +mount /dev/nvme1n1 /data |
| 32 | +# Configure the mounting to be automatic |
| 33 | +vim /etc/fstab |
| 34 | +# Add the following line to the fstab file |
| 35 | +/dev/nvme1n1 /data auto defaults 0 2 |
| 36 | +# Re-mount |
| 37 | +mount -a |
| 38 | +``` |
| 39 | +--> |
| 40 | + |
| 41 | +### Download the Dynamsoft License Server v2.4.1 installer, or just copy it over to a proper location |
| 42 | + |
| 43 | +``` shell |
| 44 | +cd /a-proper-location |
| 45 | +wget https://tst.dynamsoft.com/public/download/dls/2.4.1/dynamsoft_dls-linux_x64-v2.4.1.tar.gz |
| 46 | +``` |
| 47 | + |
| 48 | +### Unzip and start the Dynamsoft License Server |
| 49 | + |
| 50 | +``` shell |
| 51 | +# Unzip the installer |
| 52 | +tar zxvf dynamsoft_dls-linux_x64-v2.4.1.tar.gz |
| 53 | +# Set permissions |
| 54 | +chmod -R 755 ./dls-linux |
| 55 | +# Start the server |
| 56 | +cd ./dls-linux |
| 57 | +./startup.sh |
| 58 | +``` |
| 59 | + |
| 60 | +If you use Ubuntu, to start the server, try the following instead. |
| 61 | + |
| 62 | +``` shell |
| 63 | +# [optional] Install net-tools if it is not available (Ubuntu 20.04 may not come with it) |
| 64 | +sudo apt install net-tools |
| 65 | +./startup.sh |
| 66 | +``` |
| 67 | + |
| 68 | +### Check the status to make sure the server is up |
| 69 | + |
| 70 | +``` shell |
| 71 | +ps -ef |grep dynamsoft |
| 72 | +``` |
| 73 | + |
| 74 | +Now, if you visit [http://127.0.0.1:48080/page/index.html#/](http://127.0.0.1:48080/page/index.html#/) in the browser, you should be able to see the management portal of the Dynamsoft License Server. |
| 75 | + |
| 76 | +> You can edit startup.sh to change the listening ports. |
| 77 | +
|
| 78 | +Upon the first visit, you will be asked to set an admin password. A few things to note: |
| 79 | + |
| 80 | +> 1. The default password is empty; |
| 81 | +> 2. The user name is admin and it can not be changed; |
| 82 | +> 3. **Currently, there isn't a way to retrieve the password should it get lost. Therefore, please keep the password secure**. |
| 83 | +
|
| 84 | +After that, you will land on the home page where you can find the UUID of this DLS . |
| 85 | + |
| 86 | +> This UUID is require when [activating your licenses]({{site.selfhosted}}index.html#activate-the-license). |
| 87 | +
|
| 88 | + |
| 89 | + |
| 90 | +If you see the above page, DLS is installed correctly and is ready to process requests. In order to better integrate with your original service, and make the service more secure on the Internet, the next step is to configure the network environment - (set up a reverse proxy) - for it with the help of `nginx`. See [Configure Reverse Proxy Using Nginx]({{site.selfhosted}}configurereverseproxyusingnginx.html) on how to redirect requests for `https://www.yoursite.com/dls/*` to `https://127.0.0.1:48080/*`. |
| 91 | + |
| 92 | +> NOTE |
| 93 | +> |
| 94 | +> 1. "proxy" and "https" are only required if you use one of the following products: |
| 95 | +> |
| 96 | +> * SDKs for Javascript without a local service (like Dynamsoft BarcodeReader Javascript Edition). |
| 97 | +> * SDKs for iOS (unless the user makes an exception for the application).  (Reference: https://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http#answer-33712228) |
| 98 | +> |
| 99 | +> If "proxy" and "https" are not configured, please use `http://ip:port/` in the following steps. |
| 100 | +> |
| 101 | +> 2. For Docker Users |
| 102 | +> |
| 103 | +> DLS binds the physical information of a machine. After DLS runs for the first time, you can not change the host machine. Since it is difficult to ensure that a service is deployed on a fixed physical machine on k8s, we do not recommend deploying DLS on k8s. |
| 104 | +> |
| 105 | +> Some data in the DLS installation directory requires persistent storage. One way is to use the container like a virtual machine. If `docker stop <containerID>` was executed, use `docker restart <containerID>` to restart. |
| 106 | +> Another way is to use [volume mounts](https://docs.docker.com/get-started/05_persisting_data/) or [bind mounts](https://docs.docker.com/get-started/06_bind_mounts/). |
| 107 | +
|
| 108 | +## Configuration |
| 109 | + |
| 110 | +With the above steps, DLS will be listening on requests sent to this URL `https://www.yoursite.com/dls/`. You can set up another DLS on another machine as the standby server just in case the main server is temporarily unavailable due to network and other reasons. |
| 111 | + |
| 112 | +### Configure a Standby DLS |
| 113 | + |
| 114 | +For maximum up time, a standby DLS is necessary. Assume you have installed two copies of DLS, the following are the steps to configure them |
| 115 | + |
| 116 | +* Find the file `dls.json.sample` in the DLS directory, copy and rename it to `dls.json` |
| 117 | + |
| 118 | +* In the configuration, there are two settings: "serverMode" and "servers". We only need to change "servers". It accepts two values, the first specifies the main DLS URL and the second, the standby URL. |
| 119 | + |
| 120 | + * For the main DLS: `"servers": ["self", "https://standby.yoursite.com/dls/"]` |
| 121 | + |
| 122 | + * For the standby DLS: `"servers": ["https://www.yoursite.com/dls/", "self"]` |
| 123 | + |
| 124 | +> NOTE that you need to configure both the main DLS and the standby DLS separately. |
| 125 | +
|
| 126 | +### Configure Server URLs |
| 127 | + |
| 128 | +In order for the license client to know where to find DLS, the server URLs need to be embedded in the license string. |
| 129 | + |
| 130 | +By default, when you first import a license and create a project, the license string for the project will already contain a server URL which is simply the host of the website. For example, if DLS is being visited like shown in the following image, then the license string will contain server URL as `http://127.0.0.1:48080/`. |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | +Since the client devices may visit the DLS through a proxy, the automatically detected URL can be incorrect. We can click the button "Set Server URL" and correct it: |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | +Input the actual server URLs and save: |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | +Once saved, all license strings will be updated to contain the server URLs. |
0 commit comments