![radserverinterbaselinux | Embarcadero RAD Studio Delphi C++Builder Blogs radserver interbase linux](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/03/radserver-interbase-linux-6169798.jpg?resize=1140%2C675&ssl=1)
If you want to deploy RAD Server on a Linux environment (on-premise or cloud-based) it is mandatory to deploy an instance of InterBase as well because it is the database used by RAD Server to store all its internal data.
This is quite straightforward in most cases, and you can even do it using Docker if you want, but what if you need to deploy RAD Server and your own InterBase instance on just one Linux machine?
For this kind of environment, you must install 2 different instances of InterBase being exposed in different ports, with different names, and installed in different paths.
By default, the InterBase instance is named “gds_db”, is exposed in port 3050, and is installed in /opt/interbase/. We are going to tweak a bit all this to have a more organised and clean installation.
In this article, we will give you all the details about how to accomplish this on Ubuntu 22.04 in just a few steps.
Table of Contents
Step1: Installing your InterBase server instance
Once you have the InterBase Linux installer on your machine, you need to give execution permissions to the file install_linux_x86_64.sh
1 |
chmod +x install_linux_x86_64.sh |
Now execute the installer:
1 |
sudo ./install_linux_x86_64.sh -i Console |
Pay attention to the argument -i Console. Although not mandatory (the installer is clever enough to know it is in terminal mode) it’s best to specify it.
During the installation wizard, you will be asked a few questions:
- Architecture: 64 bits
- Install Set: Server and client
- Multi-Instance: Yes
- Instance-name: gds_db
- Port: 3050
- Install Folder: /opt/interbase/gds_db
After accepting all the options everything will be installed and your first instance will be created.
Now you need to load your InterBase license in this instance.
1 |
sudo /opt/interbase/gds_db/bin/LicenseManagerLauncher -i Console |
In this case, the -i Console argument is mandatory.
This will launch the license wizard. For console mode, we recommend option 2 “Direct register” where you’ll be able to specify your serial number plus your EDN account. The assistant will do the rest of the work and will verify your license connecting to the Embarcadero servers.
If you want to verify now if the license has been loaded correctly, you can use option 1 in the previous menu “List license” to confirm everything went as expected. In the case in the future you forget which license you have, you can always come back here and verify it.
The InterBase instance is already installed and licensed but it needs to be started. For that, we need to enter the InterBase console executing this command:
1 |
sudo /opt/interbase/gds_db/bin/ibmgr |
We will log into the console and you just need to type start and press enter. Once we see the message that the server is running, type q and press enter to exit the console. This instance is now fully operational and you can use it to connect to your applications, IBConsole etc.
Step 2: Installing the RAD Server InterBase instance
Your main InterBase instance is already up and running, but what happens with the instance that RAD Server needs? The process is going to be nearly identical but just changing a few things.
You need to repeat exactly the same steps explained in Step 1, but changing just the following:
- Instance-name: ems
- Port: 3051
- Install Folder: /opt/interbase/ems
Notice that in this case the instance is named ems instead of gds_db (which is the default). It will be listening in port 3051 and stored in the path /opt/interbase/ems
The next commands to be executed (license loading, service starting…) are the same as in Step 1, but instead of pointing to the gds_db path, you need to change that for the new ems instance location.
IE: sudo /opt/interbase/ems/bin/LicenseManagerLauncher -i Console
For registering the InterBase ems instance use your RAD Server serial. It is crucial to understand that each InterBase instance has its own licensing system and they are fully independent of one another.
Step 3: Making the InterBase client available to other applications and services
To simplify connecting other applications and services to InterBase databases the simplest approach is to create a symbolic link to the InterBase library and point it to /usr/lib. This will avoid you to copy the lib to every service that needs an InterBase connection.
1 |
sudo ln -s /opt/interbase/gds_db/lib/libgds.so.0 /usr/lib/libgds.so |
In this case, we are using the library from the instance gds_db, but if by any chance you’ve named it differently, you just need to modify the origin path.
Step 4: Installing RAD Server
At this point, you already have all your InterBase instances up and running but now you need to install RAD Server. To do so you can follow the steps explained in the next link:
IMPORTANT – There is just one thing to take into consideration: the instance name that the RAD Server wizard will suggest by default is gds_db. You need to change it for ems as well as the path to the database location /opt/interbase/ems. The rest of the steps and values are the same as in the link.
Configuring Your RAD Server Engine or RAD Server Console on Linux
That’s it! After this, you will have a Linux server ready with an InterBase database to use by your applications and also RAD Server.
Extra tip: Connecting to the ems instance
If for any reason you want to connect to the ems instance (even though it’s not recommended being RAD Server the one in charge of this database), you won’t be able to connect until at least one request has been registered. Any request will do.
IE: http://X.X.X.X:8080/version
After this, the ems instance password has been configured correctly and you’ll be able to connect to the instance through IBConsole.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Can this be installed in WSL2?
Hi Martin,
I haven’t personally tested it on WSL2, but on paper it should work, although I wouldn’t recommend it for production environments. If you had in mind using it for testing purposes it should be fine, but if you already have a Windows server, I would deploy this natively on it.