[Lazarus] fpWeb FCGI Setup

ABorka fpc-devel at aborka.com
Thu May 26 21:27:10 CEST 2011


On 5/26/2011 11:44, silvioprog wrote:
> 2011/5/26 ABorka<fpc-devel at aborka.com>:
>> 1. Specify a port number in your project main file (.lpr)
>> ...<snip>...
>>   Application.Title:='My FCGI Application';
>>   Application.Port:=2015;//Port the FCGI application is listening on
>>   Application.Initialize;
>>   Application.Run;
>> ...<snip>...
>>
>> 2. In your apache config file (ex: httpd.conf) put something like
>> LoadModule fastcgi_module "C:/path to the dll/mod_fastcgi-2.4.6-AP22.dll"
>> <IfModule mod_fastcgi.c>
>>   ScriptAlias /myfcgi "C:/path to your fcgi application/yourfcgi.exe"
>>   <Directory "C:/path to your fcgi application">
>>     SetHandler fastcgi-script
>>     Order allow,deny
>>     Allow from all
>>   </Directory>
>>   FastCgiExternalServer "C:/path to your fcgi application/yourfcgi.exe" -host
>> 127.0.0.1:2015 -idle-timeout 30 -flush
>> </IfModule>
>>
>> Note, the port number in the .conf file and in your app must match
>>
>> 3. Restart your Apache
>> 4. Start up your FCGI application in a command prompt window or from Lazarus
>> if you want to run in debug mode
>> 5. Open your web browser and go try to call your FCGI application
>> (ex: http://127.0.0.1:8080/myfcgi/ActionName )
>>
>> AB
>
> Yes, I followed all these steps, but error again.
>
> My steps:
>
> 1. Stop Apache;
> 2. Download the "mod_fastcgi-2.4.6-AP22.dll" and copy to
> "C:\xampp\apache\modules";
> 3. Adds in the "C:\xampp\apache\conf\httpd.conf":
>    LoadModule fastcgi_module "C:/xampp/apache/modules/mod_fastcgi-2.4.6-AP22.dll"
>    <IfModule mod_fastcgi.c>
>     ScriptAlias /myfcgi "C:/xampp/htdocs/fcgi/test.fcgi"
>     <Directory "C:/xampp/htdocs/fcgi">
>       SetHandler fastcgi-script
>       Order allow,deny
>       Allow from all
>     </Directory>
>     FastCgiExternalServer "C:/xampp/htdocs/fcgi/test.fcgi" -host
> 127.0.0.1:2015 -idle-timeout 30 -flush
>    </IfModule>
> 4. Start Apache;
> 5. Open CMD, and run command "C:\xampp\htdocs\fcgi\test.fcgi";
> 6. Open the link "http://127.0.0.1:8080/fcgi/test.fcgi" (tested
> "http://127.0.0.1:2015/fcgi/test.fcgi" too, without success);
>
> The result of steps above:
> "Not found
> The requested URL /fcgi/test.fcgi was not found on this server".
>
> I send my new demo (source and .fcgi) here: http://www.sendspace.com/file/hk29na
>
> My Apache is:
>
> Apache Version	Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o
> mod_fastcgi/2.4.6 PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1
> Apache API Version	20051115
> Hostname:Port	localhost:80
> Max Requests	Per Child: 0 - Keep Alive: on - Max Per Connection: 100
> Timeouts	Connection: 300 - Keep-Alive: 5
> Virtual Server	No
> Server Root	C:/xampp/apache
> Loaded Modules	core mod_win32 mpm_winnt http_core mod_so mod_actions
> mod_alias mod_asis mod_auth_basic mod_auth_digest mod_authn_default
> mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host
> mod_authz_user mod_autoindex mod_cgi mod_dav_lock mod_dir mod_env
> mod_headers mod_include mod_info mod_isapi mod_log_config mod_mime
> mod_negotiation mod_proxy mod_proxy_ajp mod_rewrite mod_setenvif
> mod_ssl mod_status mod_fastcgi mod_php5 mod_perl
>
> AB, thanks for your step by step. :)
>

Try

http://127.0.0.1:8080/myfcgi/index

instead, because that is why we did the ScriptAlias, so the calling URL 
is simpler.

AB





More information about the Lazarus mailing list