How to run multiple Delphi RAD Server applications on same IIS? - delphi

I have created a RAD Server application and hosted it on the IIS. For this I had also installed the interbase 2020 instance using the RAD Server Multi-Site License.
Now, I want to host one more RAD Server application on the same IIS. I installed another instance of interbase 2020 instance specifying another port number and another instance name. Gave the RAD Server Multi-Site License again, and installation was done successfully.
But when i start the second instance, it fails to start, and the log said "the same license key already used by another instance".
How can I run more than 1 rad server application on an IIS ? Should there be an interbase instance for each such rad server application ? Multi-Site license wont support this ?
Can someone help me ?

I got this fixed. Though I had created a second IB database in the existing instance,
app1, app2 were created within the "Default Web Site" of IIS. i deleted those, and Created app1, app2 under "Sites" by assigning different port numbers, and opened the ports in windows firewall settings. Now, I have access app1 and app2 by specifying the ip address and the particular port number assigned to them.

Related

Hosting RAD Server in IIS. EMS license not found

I have created a 32Bit RAD Server application and I wanted to host it in my local IIS Server. I followed the steps mentioned in here But when I try to call a webservice say http://localhost:8080/emsserver/EMSServer.dll/version I get the following error :
{"error":"Forbidden","description":"EMS license not found. To resolve this issue, install an instance of Interbase with an EMS license and configure emsserver.ini to connect to the licensed instance."}
What could have gone wrong here ?
Is there again another instance of interbase has to be installed ? I had installed the interbase along with the RAD Studio 10.2 set up. The error message also suggests to configure emsserver.ini. What configuration change does it require ?
My Development environment is :RAD Studio 10.2 Enterprise on Win 10 64bit machine. The InterbaseManager is 64-bit. The IBConsole shows Version Interbase 2017 Version 13.0.0.195.
Can someone help me to get this resolved ?
Thanks in advance.
As noted here, for a RAD Server production environment, you cannot use your license for the RAD Studio IDE nor a "normal" InterBase license. Instead, to be able to run RAD Server in production on either IIS or Apache, you must install a RAD Server deployment license into InterBase. Contact Embarcadero directly (or go through your local Embarcadero sales representative) to request your RAD Server deployment license — as of 10.2 Tokyo edition, it is now included at no additional charge for RAD Studio Enterprise or Architect licensees.
Procedurally, depending on your hosting environment, you will add your RAD Server deployment license to InterBase via its License Manager on Windows or via the command line on Linux: /opt/interbase/bin/LicenseManagerLauncher -i Console as discussed here. This presumes you have previously installed InterBase centrally to serve Identity and Access Management (IAM) purposes as well as to record resource data analytics by endpoint (built-in features of RAD Server's RESTful web application framework).
Most importantly, per your question, you must configure each RAD Server instance — via its associated configuration file (EMSSERVER.INI) — to look to this central/common IAM + data analytics database (aka, the "RAD Server Database") hosted in InterBase.
By default, the RAD Server Database is defined within the InterBase file "emsserver.ib" which serves to persist the devices, users, groups and data analytics for all connected RAD Server instances. In turn, the connection parameters required by each RAD Server instance are stored under the [Data] section of the associated EMSSERVER.INI configuration file as detailed hereunder:
[Data]
InstanceName=192.168.0.127/3050
Database=/etc/ems/emsserver.ib
UserName=sysdba
Password=masterkey
SEPassword=
;# SEPassword connects to an encrypted database
Pooled=
;# Set Pooled=0 to disable connection pooled, Pooled=1 to enable (default is 1).
PooledMax=
;# Set PooledMax=10 to limit maximum pooled connection (default is 50).
As exemplified above, the [Data] section within EMSSERVER.INI defines the connection parameters to the central RAD Server Database (powered by InterBase). The connection parameters needed to get started are:
InstanceName: The <IP_Address|Hostname>/<Port_Number> of the InterBase instance hosting the RAD Server Database.
NOTE: Multiple RAD Server instances (i.e., multiple physical installations on separate machines or docker containers as discussed here) can all use the same remote RAD Server Database backend (powered by InterBase) via this InstanceName setting.
Database: The database file (or its alias) served by the InterBase-powered InstanceName pointed to above. On the Windows OS, the default setting for Database is: C:\Users\Public\Documents\Embarcadero\EMS\emsserver.ib. On Linux, the default setting is: /usr/lib/ems/emsserver.ib
UserName and Password represent credentials for the RAD Server instance connecting to the InterBase-powered RAD Server Database (by default, respectively: sysdba and masterkey).
Moving on from there, the SEPassword parameter is used for connecting to an encrypted database. Going further, connection pooling (enabled {=1} by default in the absence of a value) may be explicitly set using the Pooled=1|0. Next, the maximum number of pooled connections from this RAD Server instance to the central/common RAD Server Database is determined by the PooledMax setting (which, otherwise, defaults to 50).
Finally, further information concerning development and deployment of web applications using RAD Server can be found in David I's Complete Guide to Embarcadero RAD Server.

Visual Studio Team Services error: "The target of the specified cmdlet cannot be a Windows client-based operating system."

When I try to deploy my artifact on IIS, I am getting the error as shown in the below screenshot. Any help will be greatly appreciated.
The "IIS Web App Management" screenshot is shown below:
The error message is pretty clear: You can't use it to install IIS on a client OS (such as Windows 10). You have to use a server OS (such as Windows Server).
There's nothing you can do about it other than to use a server OS or use an alternate tool to deploy.
Using Windows Remote Management (WinRM), connect to the host
machine(s) where IIS or SQL Server is installed, and manage the Web
application or deploy the SQL Server Database as described below:
Create a new website or update an existing website using AppCmd.exe.
Create a new application pool or update an existing application pool using AppCmd.exe.
Deploy a Web Application to the IIS Server using Web Deploy.
Deploy a SQL Server Database using DACPAC and SqlPackage.exe.
Your log mentioned the task was installing IIS, and it seemed the tasking was installing IIS on a windows client OS. You need to check your target machine to see whether it has IIS installed.

Cannot connect to TFS from Windows XP

I have a Team Foundation Server 2013 installed on a server on a domain. I can connect to this server from my domain account using VS 2012.
I also have a virtual machine which runs on Windows XP and NOT part of the domain (login as a local user). I have a VB6 project running on this VM and I want to connect to the TFS to share and control my VB6 code but I keep on getting The Request Failed with HTTP status 404: Not found.
I tried creating a local user on the server with the same name as the user I use for VM but it didn't work. I cannot join the VM to the domain as well.
Hope someone has tackled this and shed me some light.

Cant connect to local MVC 4 api server with WP8 emulator

I have a little game project that uses a MVC 4 api server, however since I installed windows 8 / VS12 / WP8 SDK I havent been able to access the server from my app in the emulator, I can however access the deployed webserver.
Is there some sort of default firewall that would prevent me from contacting a localhost server? I just get a NotFound exception when I try, the localhost server works fine in my browser to retrieve some xml object
I have the same code working in windows 7 with vs2010 and wp7 sdk.
To connect to the server I use http://restsharp.org/
The emulator is running in Hyper-V, which is a virtual machine. It runs it's own network, and thus your PCs "localhost" isn't available from inside the virtual machine.
You don't have to set up a full IIS... you can go about with IIS express ( the visual studio way when you run the Web api solution ).
You need to do 2 things, first one check
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj684580(v=vs.105).aspx - only the part called 'Quick solution with IIS Express' ( parts 1 to 4 )
Second one, add a Microsoft Firewall rule to allow access from the VM to the IIS express.
Firewall > Advanced Settings > Rules for incoming > New port rule

Use IIS as local web server to debug in my visual studio

I've an asp.net MVC website which use somme DLL that work only in 32 bits or only in 64 bits(sql lite).
Since our server are running in 64 bits, I would like to run all my code in 64 bits. The problem is that the Visual studio development server is running in 32 bits in all case.
So I come to use a Local IIS Web server.
The problem is that with an asp.net MVC website, it's mandatory to have the website at the root of the URL.
So I wish to have something like "mywebsite.lo"(with a entry in my hosts file) or "localhost:9999" as project url.
But if I try to put this, when I create the virtual directory, I got this error:
Unable to create the virtual directory. Could not find the server 'mywebsite.lo' on the local machine. Creating a virtual directory is only supported on the local IIS server.
So I created myself the website with the correct binding responding to 'mywebsite.lo'. Now if I click on Create Virtual Directory, I got a successfull message. If But when I run the website, I got a message saying : Unable to start debugging on the web server. The web server is not configured correctly. See help for common configuration errors. Running the web page outside of the debugger may provide further information.
In order to debug in visual studio with a local IIS, then Visual Studio must be running as an administrator, are you doing that?
I made a dummy mistake: The application pool was in .Net 2.x :/

Resources