There is some information on what Michael mentions below here:

http://forum.lazarus.freepascal.org/index.php/topic,13312.15.html

It might help a little. The linked post has some explanation on the different (3 ways) FCGI solutions with apache and fpc/lazarus.

AB

On 7/26/2014 05:47, Michael Van Canneyt wrote:


On Sat, 26 Jul 2014, Reimar Grabowski wrote:

Hi,

first of all, sorry if the information is out there, but I did not
find anything usefull to help me along.

I need to build a server-side application (fcgi is my choice) that
gets send some json, processes it and communicates with a mysql
database, simple enough.
Looks like all this is perfectly doable without any problems with
Lazarus and fcl-web, at least the 'gets send some json and processes
it'-part I have already done for another project.
But it was a pain to develop.
For such kind of projects I am used to Java and development in Eclipse.
My major problem with Lazarus is where is my server?

That depends.

In Eclipse I just configure my Tomcat or whatever other container I
want to use, press 'run on server' and voila, eclipse starts Tomcat
and my application with full logging working inside the IDE to be
found at 'http://localhost:8080/myapp'.
If I need breakpoints or single stepping, I just start the server in
debug mode and all is well.
So how do I configure Lazarus to do about the same?

It depends on how you set it up.

I found some mentioning of fpembweb or lazaruswebdesign packages but
nothing concrete about where to find or how to use them.
Surely some of you guys do such kind of development with Lazarus and I
cannot believe that everybody runs a local apache and copies his
executable around after every compile (my apache is on a VM which made
it even more work to copy the files around and there was no debugging
capability to speak of).
So it boils down to let Lazarus run the fcgi app (can be another app
type if it is easy to switch it to fcgi for deployment) on an
(embedded) server, with logging output shown in the IDE and the option
to use a debugger with breakpoints and single stepping.

There are 2 options:

1. Use embedded server to do the debugging; that part is easy, it's like
running a normal executable.
    You don't need apache for this.

2. You can run the fastcgi server if you use mod_fastcgi.so, but then
you must use the ExternalFastCGIServer option, and configure the fastcgi
application to listen on this port:

In Apache, configure
FastCgiExternalServer /home/michael/public_html/testht -host
127.0.0.1:10020 -idle-timeout 3 -flush
Here 10020 is the port to listen on, and
/home/michael/public_html/testht is the URL that will be the 'base' url
for your fastcgi app.


In that case, your fastcgi application must be configured to listen on
the same port:
Set
Application.Port:=10020;
in the project source file.

Restart apache, run your executable, and do a request through the
browser. That's it.

Note that you cannot do this with the mod_fcgid module. I do believe
that in Apache 2.4, mod_proxy can handle this situation, but I haven't
tried yet.

Michael.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to