Commit | Line | Data |
0198fd3c |
1 | FastCGI for Windows NT README (V2.0, beta 1) |
2 | ============================================ |
3 | |
4 | Version 2.0.1, 20 March 1997 |
5 | $Id: README_NT.txt,v 1.1 1997/09/16 15:36:24 stanleyg Exp $ |
6 | Copyright (c) 1996 Open Market, Inc. |
7 | See the file "LICENSE.TERMS" for information on usage and redistribution |
8 | of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
9 | |
10 | This is a beta copy of the FastCGI libraries for Windows NT 3.51 |
11 | and NT 4.0. It will also build on (or should build on) all previously |
12 | supported versions on Unix. |
13 | |
14 | The Unix build instructions are identical to the past. The |
15 | Windows NT version however is slightly different due to the fact that NT |
16 | doesn't contain a native equivalent to the bourne shell to start with. |
17 | NT also doesn't support the same Makefile structure and therefore we have |
18 | provided Visual C++ project makefiles for the cgi-fcgi application as well |
19 | as the libfcgi DLL. |
20 | |
21 | The first version of the libraries for Windows NT will require a |
22 | little care in installing and building. However, what do you want for |
23 | free? Subsequent versions will ideally support a more NT look and feel |
24 | but that's if time permits. |
25 | |
26 | For those of you that have the MKS toolkit or other bourne shell |
27 | equivalent for NT, great. You're off to a good start and will be able |
28 | to use the configure script provided to generate your config header file |
29 | at the very least. However, in order to make life easier, we are |
30 | providing an NT version of the header file that should allow you to build |
31 | the sample applications without requiring you to run configure at all. |
32 | (NOTE: The NT version has only been tested on Windows NT 4.0 running on |
33 | X86 hardware. Other CPUs may have slightly different defines.) |
34 | |
35 | There are two batch files provided which will build Debug versions |
36 | of fastcgi.dll and the cgi-fcgi application. They are: |
37 | |
38 | build_no_shell.bat - This will copy a canned version of the |
39 | fcgi_config_x86.h file to fcgi_config.h and |
40 | remove the need to use the "configure" script |
41 | to generate this. (This is the recommended |
42 | way to build the sample DLL and applications.) |
43 | |
44 | build.bat - This version will run the "configure" script |
45 | and will then build libfcgi.dll and |
46 | cgi-fcgi.exe. |
47 | |
48 | Installation |
49 | ============ |
50 | |
51 | Unpack the kit and install it into a directory of your choice. |
52 | Try something simple like "C:\FastCGI.beta". |
53 | |
54 | In order to run under IIS using the cgi-fcgi.exe "shim" program, |
55 | we need to create a file extension type that IIS will recognize and will |
56 | automatically launch the application and/or connect to the target FastCGI |
57 | application. |
58 | |
59 | 1) Make a directory "C:\FastCGI.beta". The name is not critical |
60 | but is is what is assumed for the remainder of this README. |
61 | |
62 | 2) cd into "C:\FastCGI.beta". |
63 | |
64 | 3) Unpack the kit into this directory. |
65 | |
66 | 4) Run build_no_shell.bat |
67 | |
68 | 5) Add the .fcgi file type to the registry for IIS. This is done |
69 | using regedit. |
70 | |
71 | \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map |
72 | |
73 | Edit -> New -> String Value <CR> |
74 | |
75 | 6) Type in ".fcgi" for the "String Value" extension name. |
76 | |
77 | 7) Double click the ".fcgi" entry. |
78 | |
79 | 8) Enter C:\FastCGI.beta\FcgiBin\cgi-fcgi.exe -f %s |
80 | NOTE: This assumes you installed into c:\FastCGI.beta |
81 | |
82 | Save this value and exit regedit. |
83 | |
84 | 9) Add the pathname of libfcgi.dll to your system path |
85 | environment variable. |
86 | "C:\FastCGI.beta\libfcgi\Debug" |
87 | |
88 | NOTE: The build_no_shell.bat command will copy all the sample |
89 | applications as well as cgi-fci.exe and libfcgi.dll to |
90 | the directory "FcgiBin" which will be created as a result |
91 | of the build_no_shell.bat command being run. This makes |
92 | it easier to use and removes the need for adding the |
93 | paths to the system environment as the libfcgi.dll will |
94 | live in the same directory as the applications which will |
95 | be using it. This has been tested and qualified on |
96 | IIS 3.0. |
97 | |
98 | If your applications live in a directory other than the |
99 | FcgiBin directory AND there's no path environment |
100 | variable registered which contains a pointer to a valid |
101 | libfcgi.dll the FastCGI application will not work. |
102 | |
103 | 10) Use Internet Service Manager (or the registry editor if you're |
104 | brave) and map in the directory "C:\FastCGI.beta\FcgiBin" |
105 | as a virtual directory "/fcgi" with execute access and |
106 | read access. |
107 | |
108 | You should now be ready to try out the shipped samples. Try this by |
109 | accessing the following urls: |
110 | |
111 | The url "http://yourServer/fcgi/tiny-fcgi.exe" reloaded repeatedly |
112 | should produce the following output: |
113 | |
114 | FastCGI Hello! (C, fcgi_stdio library) |
115 | |
116 | Request number 1 running on host "yourServer" Process ID: N |
117 | |
118 | where: |
119 | |
120 | yourServer is the name of your server. |
121 | |
122 | N is the process id number of the tiny-fcgi.exe process. This |
123 | should be changing each time you reload the URL. |
124 | |
125 | Now try the url "http://yourServer/fcgi/tiny-fcgi_nt.fcgi". The |
126 | output from this url should produce the same as the preceeding url |
127 | but you should notice the "Request number" incrementing each time |
128 | you reload and the Process ID should remain constant. If this is |
129 | working, you have a persistent FastCGI application running. |
130 | |
131 | |
132 | Known Problems/Limitations |
133 | ========================== |
134 | |
135 | 1) This port was build for Windows NT 3.51 and above. It was |
136 | not built with Windows 95 as one of the target platforms. |
137 | The reason is that I/O completion ports are used for |
138 | asynchronous I/O which are not present on Windows 95. |
139 | Changing this is not that big a job and involves changing to |
140 | use overlapped I/O. Again, the port was towards Windows NT |
141 | which was why the I/O completion ports were chosen. This |
142 | mechanism was also chosen in anticipation of the multi-threaded |
143 | FastCGI for NT as it will map to the model we currently |
144 | have designed. |
145 | |
146 | |
147 | NOTE: Use the application "kill.exe" contained in the NT resource kit |
148 | to kill persistent FastCGI applciations! |
149 | |