-
déployer un dso websnap
Après avoir ramé de longues heures sur : comment faire reconnaître à apache la commande 'LoadModule' du fichier httpd.conf. J'en suis arrivé à ça :
ajouté les options suivante à 'configure' :
--enable-rule=SHARED_CORE
--enable-module=so
La première permetant la génération du module libhttpd.so necessaire à kylix 3 et la deuxième l'intégration des fonctions du fichier mod_so.c au noyau de apache - donc la reconnaissance de la fonction 'LoadModule'
Alors me direz-vous: quel est le problème ???
Et bien, j'y arrive. Lorsque j'ajoute la ligne suivante à mon fichier httpd.conf :
Loadmodule Tutorial libexec/mod_Tutorial.so
et que je teste mon nouveau fichier de config avec la commande 'apachectl configtest', j'ai le message d'erreur suivant :
Cannot load /usr/local/apache/libexec/mod_Tutorial.so into server: /usr/local/apache/libexec/mod_Tutorial.so: undefined symbol: QWidget_destroy
Est-ce que quelqu'un peut m'aider. J'en peux plus, j'suis au bord du suicide ... :evil:
-
Salut,
à mon avis il y a un pb dans ton mod_tutorial je pense... D'après le message il ne connait pas QWidget_Destroy qui est pourtant une fonction de base de la librairie Qt (Librairie graphique ss Linux)
Tu pourrais donner + de précision sur le prog ?
-
En fait, j'ai en partie résolu mon pb. Il vient du fait que le projet d'origine est créé pour fonctionner sur le webappdeboger. Lorsque j'ai créé un nouveau projet (cette fois ci en choisissant apache dso), j'ai ajouté les pages de mon projet version appdebogger en remplacant le HomeU ( page d'accueil généré par mon nouveau projet ) par le HomeU de mon projet webappdeboger. le problèm venait de la. Maintenant autre chose :
Je cherche maintenant à appeler mon module (logique, sinon ça servé à rien de le faire). Pour ce faire, j'ai ajouté les ligne suivante à mon httpd.conf :
<Location /ct>
SetHandler hTutorial
Allow from all
</Location>
/ct est la façon dont jeux veux l'appeler :
ex : http://localhost/ct
hTutorial est la valeur de mon ContentType dans mon fichier de projet.
Voila ce que j'ai comme réponse :
The requested URL /ct was not found on this server.
Qu'est ce que j'ai oublié ???
-
pour les options de compilation d'Apache elles sont documenté dans l'aide de kylix + dans mon tutorial depuis Kylix 1:
http://www.developpez.com/kylix/apache/ApacheDSO.htm
à partir de Kylix 3 il ne faut pas mettre d'unité Qt dans le DSO (toute unité commencant par Q) ce n'est pas supporté.
ensuite concernant le Handler, ct/ va être le point d'entré pour ton DSO, mais il faut qu'il y est une action par défaut pour qu'il réponde sur
localhost/ct/
sinon c'est
localhost/ct/monaction
bien vérifier que le ContentType correspond exactement aux handlet sépcifier dans le httpd.conf sinon cf mon tutoriel
-
Pour ce qui est du tutoriel, OK je vais regarder.
:P Par contre, peux tu me préciser ce qu'est 'monaction' (le nom de ma page d'accueil, une fonction, ???) et ou est-ce que je l'affecte comme action par défaut.
Merci :wink:
-
-
C'est un peu plus compliqué que ça puisque le ModuleName et ContentType sont deux propriétés à définir dans le fichier de projet.
Cela fait, il ne me reste plus qu'à régler un problème de droit, car j'ai maintenent le message d'erreur suivant:
internal application error
Cannot open file '/mon fichier.html'. permission non accordée.
Le context est le suivant : Je ne suis pas root. Mon projet est dans un sous dossier de mon '$HOME'. Apache est dans /usr/local/apache et necessite un 'su' pour être démarré. Un chmod 777 ne suffit pas à lui permettre d'utilisé mon fichier HomeU.html.
Si qq un sait comment faire ???
Merci