|
NetTalk WebServer - Deploying NetTalk Servers (where and how) |
|||
![]() |
|||
| Version www.capesoft.com Updated 20 February 2008 |
|||
|
Learn
NetTalk
|
Examples
|
Common
Features |
NetAuto
Objects |
NetSimple
Objects |
Dial-Up
|
Support
|
Version
History
|
|
Contents - Deploying NetTalk Servers, where and how |
|||
|
|
Deploying NetTalk Servers (where and how) |
|
|
| 1) Deployment
Basics 2) Intranet Development 3) Internet Deployment on your own Server 4) Internet Deployment on a Hosted Server 5) Installing NetTalk and IIS on the same machine. (Same port, different IP number.) |
|||
|
|
|
|
|
![]()
One of the main benefits to using NetTalk as your platform of choice is that deployment is really really easy. there are no dependencies on IIS, Apache or any other web programs. Deploying a NetTalk program is exactly the same as deploying a normal Windows 32 bit exe.
Of course a proper Windows install, such as one made with SetupBuilder, is the first step for a professional install.
Please take note of the files you need to distribute in your application folder (in the Distribution section of the main NetTalk document) if you are using SSL.
![]()
To deploy on your own server is no more difficult than installing any normal Windows program. Typically you will need:
- The Exe, plus any support files (DLL's, TPS, INI's etc) in a folder and
- The "Web" folder, and sub folders containing the images, scripts, and style files. See \Clarion6\3rdparty\LibSrc\NetWeb for a typical "web" folder.
Then either run the exe as a program, or if you have made it into a service (using SelfService) then run the exe with the /iss command line switch to install it as a service (and start it running.) For example:
web31.exe /iss
Port number considerations
Ideally you program will be running on Port 80. Then if it's running on a machine called Hobbes, your users (on the Lan) can access it by typing http://hobbes in their browser.
However if you already have a program running on the server, on Port 80, then you will need to run your program on a different port. All the shipping examples run on port 88. In that case users on the Lan will get to the app by typing http://hobbes:88 into their browser. (They can of course bookmark this address as a Favorite.)
![]()
Installing on your own server, but for access by users outside the Lan is fairly straightforward.
Firstly install the program as if for Lan users, as described above.
Then create a route, so that users from outside can access this port on this machine. This will mean going to the settings for your ADSL (or Cable, or Whatever) router/modem and explicitly open port 80 to the outside, so that users connecting to your modem (from the outside on port 80) get redirected to the internal machine. This process does vary from router to router, but is usually fairly intuitive.
Since your users will not want to type in an IP number to access your new site, you will need to create a DNS entry for your domain, pointing at the new server. For example, at CapeSoft, I created a DNS entry called oak.capesoft.com which means that people can type http://oak.capesoft.com in their browser to get to one of our servers.
If you have a dynamic IP address issued by your ISP then all is not lost. All you then do is make use of a Dynamic DNS service which will keep your DNS up to date, to attach the actual IP address of your router. There are numerous such services available, for example www.no-ip.com.
![]()
If you would like your web site, or web program, to be on the internet, but you are unable (or unwilling) to host it yourself then there are any number of internet ISP's that will host it for you. Because you will be running proprietary software (ie the Clarion EXE you are writing) what you need is a dedicated server, either Virtual or Physical.
A Virtual Server Machine (VM) appears to you as a dedicated machine, but is actually sharing a CPU with another machine. However your machine, and the other Virtual Machines on the computer are completely isolated from each other. From your program's perspective it's as if you were running on a dedicated machine. Virtual Machines offer improved security over shared servers, because one VM can't access the hard disk of another VM and so on.
Some ISP's that know about Clarion, and will understand your needs for the NetTalk Server are listed below;
Oak Park Solutions: Host both physical machines and virtual machines. VM prices run from $34.95 pm, 50GB disk space, 2000 GB bandwidth, 3 fixed IP addresses and full Admin Access.
![]()
In concept, if your machine has 2 (or more IP addresses) then you can limit IIS to listening on one IP address, and you can set your NetTalk program to listen on the other IP address.
To "Bind" your NetTalk program to a single IP address, use the setting on the Advanced tab on the WebServer procedure.
To limit IIS to a specific IP address is slightly more difficult, and is explained below. Thanks to Ian Hickton for supplying much of this information.
A good discussion of limiting IIS to a specific IP address can be found
here
http://support.microsoft.com/kb/813368
Be aware that IIS binds itself to ALL available IP addresses (it uses
socket pooling !). If you want to use port 80 for your NetTalk server then
you will need to add another IP address to your NIC and then tell IIS to use
its own IP address.
The way to tell IIS to use a specific IP address is this:-
Open a command prompt window. (Press Windows-R, then type
CMD).
For IIS 5.0 and 5.5, type
CD \Inetpub\AdminScripts
CSCRIPT ADSUtil.vbs
SET W3SVC/disablesocketpooling TRUE
Wait for the response <BOOLEAN> TRUE
For IIS 6, type
CD\
HTTPCFG SET IPListen -i XXX.XXX.XXX.XXX:80
( Replace XXX's with your IP address)
Tip: If you can't find the HTTPCFG program then look on your Windows Server 2003 CD, in the Support\Tools directory, it's part of the Support.Cab.
For all versions of IIS, now stop and start the web services using the
commands below;
Type
NET STOP iisadmin /y
Wait for responses
Type
NET Start W3SVC