J'ai utilisé gSOAP pour coder un webservice et je voudrais maintenant l'heberger sur mon serveur apache2 (ubuntu).
Voila en gros ce que j'ai fait apres cherche sur le net :
sudo apt-get install libapache2-mod-fastcgi
sudo a2enmod fastcgi
sudo apache2ctl graceful
(apache2 venait detre installe grace au package du meme nom)
Et voici mon fichier http.conf :
[IfModule mod_fastcgi.c]
[Directory "/var/www/fcgi-bin"]
SetHandler fastcgi-script
Options ExecCGI
Allow from all
[/Directory]
AddHandler fastcgi-script .fcgi .fcg
FastCgiServer /var/www/fcgi-bin/index.fcgi -idle-timeout 60 -processes 1
[/IfModule]
(index.fcgi c'est mon binaire compilé)
J'ai ensuite généré un client toujours avec gSOAP pour tester mon webservice et boum : connexion timeout ...
J'ai cherché, geeké et trifouillé mais le mieux que j'ai reussi a obtenir est une erreur 403 :P Bref google m'a decu pour une fois, on trouve tres peu de documentation sur la mise en place du combo apache2/fastcgi/gsoap ... (ne parlons meme pas de la doc de fastcgi qui se contente vraiment du minimum)
Est ce que quelqu'un sait comment mettre en place mon serveur ??
ps: si vous me dites que ca marche sur lighttpd et surtout comment, ca me branche bien aussi ;)
# droits
Posté par B. franck . Évalué à 1.
[^] # Re: droits
Posté par frostiebek . Évalué à 1.
Pour le proprietaire j'ai mis root, mais en theorie ca ne devrait rien change non ?
# tester fcgi
Posté par Joris Dedieu (site web personnel) . Évalué à 2.
[^] # Re: tester fcgi
Posté par frostiebek . Évalué à 1.
Pour l'instant mon web service gSOAP se contente de renvoyer l'heure ^^
C'est tire d'un tuto trouve sur le site de gSOAP, il compile et s'execute. Grace a gSOAP j'ai aussi pu generer le client qui va avec.
Lorsque je relance apache et que j'execute le client je me prends un timeout ...
Je pense que ca vient de ma config Apache2 (que je ne maitrise pas vraiment, voir pas du tout).
Tu aurais un exemple de fichier httpd.conf qui marche avec le hello world de perl s'il te plait ?
Merci !
[^] # Re: tester fcgi
Posté par Joris Dedieu (site web personnel) . Évalué à 2.
Pour fcgi pas besoin de modifier apache2.conf
Par exemple tu rajoute dans /etc/apache2/default
ScriptAlias /fcgi/ /var/fcgi/
<Directory /var/fcgi/>
Options +ExecCGI +FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
dans /var/fcgi tu crée un fichier exemple.fcgi
#!/usr/bin/perl
use FCGI;
my $count = 0;
my $request = FCGI::Request();
while($request->Accept() >= 0) {
print("Content-type: text/html\r\n\r\n", ++$count);
}
http://localhost/fcgi/exemple.fcgi
Et voilou
[^] # Re: tester fcgi
Posté par frostiebek . Évalué à 1.
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.0.55 (Ubuntu) mod_fastcgi/2.4.2 PHP/5.1.2 Server at localhost Port 80
Quand j'execute le script dans un term, pas de soucis, il affiche 'content-type blabla...'. Je ne me suis pas decourage et je suis retourne sur mon gSOAP. J'ai genere le serveur et le client, puis j'ai mis le serveur dans /var/fcgi et execute le client :Error 32 fault: SOAP-ENV:VersionMismatch [no subcode] "SOAP version mismatch or invalid SOAP message" Detail: [no detail]
Pourtant le client et le serveur ont ete généré avec le meme binaire. Voila ce qu'il me dit... Il ne faut pas rajouter une ligne dans la config de apache2 ? genre:FastCgiIpcDir /tmp FastCgiServer fcgi/exemple.fcgi -processes 1
Est ce que ca marcherait plus facilement sur Apache1.3 ?[^] # Re: tester fcgi
Posté par Joris Dedieu (site web personnel) . Évalué à 2.
Qu'est-ce qu'il y a dans error.log ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.