#1 Le 13/03/2015, à 08:39
- Jtomoise
[RESOLU] PB php5 et apache 2
Bonjour
Mon objectif est de réaliser une plate-forme moodle-BBB-Wims.
Au stade de mon expérimentation, j'en suis là :
Moodle est installé avec le module BBB et tout fonctionne... a priori. nginx écoute sur le port 80 et apache2 sur le port 82.
Il me reste à voir ce que je pourrais faire avec wims...
Et là, ça coince !
Je vous joins donc le message error.log que j'ai consulté à la suite du de la 500 Internal Server Error générée par : http://www.wims.net:82/wims.cgi
(indication : libgdz-xpm-dev est installée)
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' - /usr/lib/php5/20121212/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0
[Fri Mar 13 08:00:20.332808 2015] [mpm_prefork:notice] [pid 2271] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.6 mod_perl/2.0.8 Perl/v5.18.2 configured -- resuming normal operations
[Fri Mar 13 08:00:20.332837 2015] [core:notice] [pid 2271] AH00094: Command line: '/usr/sbin/apache2'
[Fri Mar 13 08:09:56.676897 2015] [:error] [pid 2360] Unrecognized character \\x7F; marked by <-- HERE after /wims.cgi\n<-- HERE near column 147 at /var/www/wims/wims.cgi line 1.\n
J'y ajoute bien sûr une copie de /etc/apache2/sites-enabled/wims.conf
<VirtualHost *:82>
ServerName www.wims.net
DocumentRoot /var/www/wims
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
########
AddHandler cgi-script .cgi .pl
<Files ~ "\.(pl|cgi)$">
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
Options +ExecCGI
PerlSendHeader On
</Files>
########
<Directory /var/www/wims/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/wims/public_html>
Options +FollowSymLinks +ExecCGI -Indexes
AllowOverride All
allow from all
</Directory>
<Directory /var/www/wims/public_html/modules>
Options FollowSymLinks
AllowOverride Limit
</Directory>
########
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
#<VirtualHost *:443>
# SetEnvIf Request_URI "^/u" dontlog
# ErrorLog /var/log/apache2/error.log
# Loglevel warn
# SSLEngine On
# SSLCertificateFile /etc/apache2/ssl/apache.pem
# ProxyRequests Off
# <Proxy *>
# AuthUserFile /srv/ajaxterm/.htpasswd
# AuthName EnterPassword
# AuthType Basic
# require valid-user
# Order Deny,allow
# allow from all
# </Proxy>
# ProxyPass / http://localhost:8022/
# ProxyPassReverse / http://localhost:8022/
#</VirtualHost>
rappel. Le port 82, parce que nginx écoute sur le port 80.
Si quelqu'un a une idée pour résoudre ce pb de Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' ???
Cordialement
JM
Dernière modification par Jtomoise (Le 14/04/2015, à 06:18)
Hors ligne
#2 Le 13/03/2015, à 10:53
- bruno
Re : [RESOLU] PB php5 et apache 2
Si quelqu'un a une idée pour résoudre ce pb de Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' ???
Installer le paquet php5-gd.
Sinon tu as un problème d'encodage de caractères dans le fichier wims.cgi
#3 Le 13/03/2015, à 14:54
- gl38
Re : [RESOLU] PB php5 et apache 2
Pourquoi le wims.cgi est-il là au lieu d'être dans le dossier public_html de wims ?
Cordialement,
Guy
Hors ligne
#4 Le 13/03/2015, à 18:51
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Mon site wims étant en /var/www/wims (DocumentRoot), voici le fichier /etc/apache2/sites-enabled/wims.conf que j'ai créé :
<VirtualHost *:82>
ServerName www.wims.net
DocumentRoot /var/www/wims
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
########
AddHandler cgi-script .cgi .pl
<Files ~ "\.(pl|cgi)$">
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
Options +ExecCGI
PerlSendHeader On
</Files>
<Directory /var/www/wims/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/wims/public_html/>
Options +FollowSymLinks +ExecCGI -Indexes
AllowOverride All
allow from all
</Directory>
<Directory /var/www/wims/public_html/modules>
Options FollowSymLinks
AllowOverride Limit
</Directory>
########
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
#<VirtualHost *:443>
# SetEnvIf Request_URI "^/u" dontlog
# ErrorLog /var/log/apache2/error.log
# Loglevel warn
# SSLEngine On
# SSLCertificateFile /etc/apache2/ssl/apache.pem
# ProxyRequests Off
# <Proxy *>
# AuthUserFile /srv/ajaxterm/.htpasswd
# AuthName EnterPassword
# AuthType Basic
# require valid-user
# Order Deny,allow
# allow from all
# </Proxy>
# ProxyPass / http://localhost:8022/
# ProxyPassReverse / http://localhost:8022/
#</VirtualHost>
Je me suis résolu à installer la version 4.09d à partir du tar ball et j'ai effectivement éliminé d'emblée les pbs du fichier apache-config. Cependant, je n'arrive tjs pas à lancer wims dans mon navigateur. je suis sous le coup d'une 500 Internal serverError. :
Pourrais-tu STP me transmettre tes fichiers *.conf dans /etc/sites-enabled/ ?
Dans ma nouvelle installation il n'y a pas 'plus) de lien wims.cgi dans la racine de mon site /var/www/wims/
Cordialement
JM
Hors ligne
#5 Le 13/03/2015, à 19:22
- gl38
Re : [RESOLU] PB php5 et apache 2
Tu avais pourtant dit que tu avais installé la même version que moi...
Dans un /etc/apache2/sites-enabled, il n' y a qu'un lien qui pointe vers /etc/apache2/sites-available, dans celui-ci il y a un fichier default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Cordialement,
Guy
Hors ligne
#6 Le 13/03/2015, à 22:19
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Pour répondre à Bruno.
php5-gd est installé. Quant au pb d'encodage de wims.cgi, c'est une de mes pistes privilégiées mais je ne sais pas vraiment comment gérer ça...
@+
JM
Hors ligne
#7 Le 14/03/2015, à 17:01
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Bonjour
Par quelle intervention le fichier wims cgi placé dans /public_html, et qui est en fait un lien symbolique, peut-il être interprété comme un réel programme cgi ? (cr qui n'est pas le cas chez moi!!!)
@+
JM
Hors ligne
#8 Le 14/03/2015, à 18:55
- bruno
Re : [RESOLU] PB php5 et apache 2
Grâce à cette directive :
Options FollowSymLinks
Dernière modification par bruno (Le 14/03/2015, à 18:55)
#9 Le 15/03/2015, à 10:13
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Merci Bruno
Précision :
alors que tout se passe bien par exemple pour :
http://www.wims.net:82/public_html/wims.cgi/index.html
l'exécution dans firefox de :
www.wims.net:82/public_html/wims.cgi
me renvoie le message d'erreur suivant :
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' - /usr/lib/php5/20121212/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0
[Sun Mar 15 09:26:36.369733 2015] [mpm_prefork:notice] [pid 5650] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.6 mod_perl/2.0.8 Perl/v5.18.2 configured -- resuming normal operations
[Sun Mar 15 09:26:36.369758 2015] [core:notice] [pid 5650] AH00094: Command line: '/usr/sbin/apache2'
[Sun Mar 15 09:29:25.209197 2015] [:error] [pid 5654] Unrecognized character \\x7F; marked by <-- HERE after /wims.cgi\n<-- HERE near column 183 at /var/www/wims/public_html/wims.cgi line 1.\n
]
Cette option FollowSymboLinks indique "simplement" que les liens symboliques doivent être pris en charge dans un Directory, non ?
Mon interrogation est la suivante : pour qu'un lien symbolique soit effectivement pris en charge, encore faut-il qu'il soit écrit dans un langage adapté ( cgi ---> perl, C, C++, java...) et dans un encodage compatible ?
Partant du principe que le lien wims.cgi (incriminé chez moi) fonctionne pour la grande majorité des utilisateurs de wims, Je suis enclin à penser que le suffixe .cgi n'est pas usurpé, c'est donc la raison pour laquelle je me tourne vers un pb d'encodage sur ma machine...
Cela étant, voilà ce que me donne :
wims@Family:~$ sudo /usr/sbin/apache2
[Sun Mar 15 10:04:38.214577 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Sun Mar 15 10:04:38.214617 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Sun Mar 15 10:04:38.214629 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Sun Mar 15 10:04:38.214633 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Sun Mar 15 10:04:38.214641 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Sun Mar 15 10:04:38.222092 2015] [core:warn] [pid 6925] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 72 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
J'ai donc un gros pb de configuration de apche2 (et php ?) avec lequel je me débats...
Cordialement
Hors ligne
#10 Le 15/03/2015, à 11:25
- bruno
Re : [RESOLU] PB php5 et apache 2
Un lien symbolique n'est écrit dans aucun langage, c'est juste un lien vers un fichier.
Il faut effectivement que tu commences par corriger l'erreur de syntaxe indiquée dans apache2.conf (en principe on ne modifie pas ce fichier sauf besoin très spécifique). Et je vois que tu n'as toujours pas examiné ton erreur sur la bibliothèque php gd : le paquet est installé ok, le fichier /usr/lib/php5/20121212/gd.so est-il présent ? le module php est-il activé ?
#11 Le 16/03/2015, à 08:03
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Bonjour
Concernant le lien symbolique : mais alors pourquoi ce suffixe .cgi dans mon fichier wims.cgi ?
Concernant gd.so : /usr/lib/php5/20121212/gd.so est bien présent.
Concernant php : A quels niveaux, quels fichiers, dois-je vérifier que php est activé ?
Enfin l'option : DirectoryIndex index.php index.html index.htm est-elle toujours nécessaire et dans l'affirmative dans quels fichiers de configuration ?
Mille mercis
@+
JM
Hors ligne
#12 Le 16/03/2015, à 08:51
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Pour répondre à Guy.
Tout d'abord 1000 excuses, j'ai sauté le mail m'avertissant de ta réponse... Ce n'est donc qu'en remontant la discussion que je me suis aperçu de mon 'incorrection".
Tout d'abord, après vérification, la version que j'avais installée était la 4.09c et non la 4.09d comme je l'avais cru. D'autre part, en ne gardant dans le dossier /etc/apache2/sites-enabled/ que le fichier default que tu m'as fourni , j'ai enfin progressé en obtenant le célèbre message wims panick ! (mais là je connais ) au lancement de htttp://localhost:82/wims.
Il n'en demeure pas moins que je n'arrive pas à obtenir les tracés animés en démonstration. Le message d'erreur étant le suivant...
cat: /var/www/wims/chroot/version: No such file or directory
gnuplot: symbol lookup error: gnuplot: undefined symbol: gdImageCreateFromPng
bin/insplot..processor: 93: [: Illegal number:
gnuplot: symbol lookup error: gnuplot: undefined symbol: gdImageCreateFromPng
whirlgif Rev 3.04 (c) 1997-1999 by Hans Dinsen-Hansen
(c) 1995-1996 by Kevin Kadow
(c) 1990-1993 by Mark Podlipec
Processed 0 files.
dans lequel gd semble plus qu'impliqué. D'où l'intérêt du fil avec Bruno.
Cordialement
JM
Dernière modification par Jtomoise (Le 16/03/2015, à 08:53)
Hors ligne
#13 Le 16/03/2015, à 15:18
- gl38
Re : [RESOLU] PB php5 et apache 2
Je ne comprends pas ce que tu fais.
On peut supposer que wims consent à démarrer et dépasse le message panic. Tu pourrais le dire.
Comment se fait-il que le message d'erreur parle de chroot ?
Moi j'ai compilé wims, l'installation par chroot n'est pas conseillée dans la doc.
Cordialement,
Guy
Hors ligne
#14 Le 16/03/2015, à 16:28
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
1°) J'ai fait le nécessaire pour éliminer le pb du message panick (ce pb est connu). C'est une affaire réglée.
2°) A ta question : "Comment se fait-il que le message d'erreur parle de chroot ?" , je n'ai pas de réponse ; puisque n'ayant en aucun cas eu recours à l'installation en chroot...
Une hypothèse toutefois : un pb avec gd, mais où ???? J'espère que Bruno aura une piste...
De ton côté, les tracés animés (en démonstration) ne posent pas de pb ?
@+
JM
Hors ligne
#15 Le 17/03/2015, à 08:05
- gl38
Re : [RESOLU] PB php5 et apache 2
Chez moi, les tracés animés fonctionnent.
Cordialement,
Guy
Hors ligne
#16 Le 17/03/2015, à 13:16
- bruno
Re : [RESOLU] PB php5 et apache 2
Si ton application est chrootée cela peut expliquer les problèmes avec la bibliothèque gd qui n'est pas trouvée alors qu'elle est bien installée.
#17 Le 17/03/2015, à 13:44
- gl38
Re : [RESOLU] PB php5 et apache 2
Si tu vas à la page "Administration du serveur", puis "Vérification du système", que donnent "Images dynamiques" et "Logiciels périphériques" ?
Cordialement,
Guy
Hors ligne
#18 Le 17/03/2015, à 23:08
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Merci à vous deux
Pour répondre à Bruno : mon application (installation "classique", la même maintenant que celle de Guy) n'est pas chrootée... a priori.
Pour répondre à Guy : Pari GP, Maxima,Yacas et Octave sont dispo.
Gap et Macaulay ne sont pas dispo.
Pour les Images dynanmiques : La cible (Flydraw) OK, Gnuplot (en fait gd) ne fonctionne pas, tandis que Graphviz et Povray sont OK !!!
Cela étant, les pb avec gd alimentent copieusement les forums et on n'y trouve rien de véritablement probant...
Une indication sérieuse à archiver (pas compter sur ma mémoire de poisson rouge:(). J'ai pu obtenir la page http://localhost:82/wims (apache écoute sur le port 82 de ma machine) en déplaçant le fichier wims.conf (crée à l'installation de wims dans /etc/apache2/conf-enabled) dans /etc/apache2/conf-available et en créant ensuite le lien symbolique "usuel" dans /etc/apache2/conf-enabled. Etonnant, non ? aurait dit Desproges...
Je continue de chercher pour le pb avec gd...
@+
Amicalement
Hors ligne
#19 Le 18/03/2015, à 07:41
- gl38
Re : [RESOLU] PB php5 et apache 2
Est-ce que gnuplot marche tout seul ?
Quand tu le lances et que tu lui demandes
plot [t=-4:4] sin(t), cos (t)
est-ce que tu obtiens les 2 courbes ?
Cordialement,
Guy
Hors ligne
#20 Le 18/03/2015, à 22:48
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Pas de miracle :
jean-marc@Family:~$ gnuplot
gnuplot: symbol lookup error: gnuplot: undefined symbol: gdImageCreateFromPng
gd est derrière gnuplot, alors...
Cordialement
JM
Hors ligne
#21 Le 19/03/2015, à 08:44
- gl38
Re : [RESOLU] PB php5 et apache 2
Peut-être qu'une réinstallation de gnuplot ne ferait pas de mal ?
Cordialement,
Guy
Hors ligne
#22 Le 19/03/2015, à 17:46
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
Déjà tenté mais je possède la version la plus récente de gnuplot.
En fait
http:// localhost/info.php (qu'est-ce que ça donne sur ta machine ?)
m'indique que gd n'est pas activé, ce que confirme :
wims@Family:~$ php -i | grep gd
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' - /usr/lib/php5/20121212/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gd.so' - /usr/lib/php5/20121212/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0
/etc/php5/cli/conf.d/20-gd.ini,
alors que mes fichiers de configuration dans /etc/php5 tendent à prouver le contraire...
Pourrais-tu, je te prie, me faire parvenir une copie de ton fichier :
/etc/php5/mods-available/gd.ini ?
Cordialement
JM
Hors ligne
#23 Le 20/03/2015, à 11:16
- gl38
Re : [RESOLU] PB php5 et apache 2
Je ne crois pas qu'il y ait un rapport entre gnuplot et php.
Dans ma version de test, je n'ai même pas de dossier /etc/php5 et gnuplot marche mais sur 2 essais de 14.04 et de gnuplot, il m'a fallu réinstaller gnuplot pour obtenir un fonctionnement satisfaisant
Terminal type set to 'wxt'
gnuplot> plot [t=-4:4] sin(t), cos (t)
sans réinstallation de gnuplot et gnuplot-x11, le terminal reste unknow.
Dans mon ubuntu 12.04, j'ai un /etc/php5/conf.d/gd.ini
; configuration for php GD module
extension=gd.so
et dans /usr/lib/php5, j'ai un 20090626+lfs/gd.so
Cordialement,
Guy
Hors ligne
#24 Le 20/03/2015, à 21:45
- Jtomoise
Re : [RESOLU] PB php5 et apache 2
De mon côté, même après plusieurs purge et apt-gt install de gnuplot, rien ne change.
Je pense qu'il ne me reste plus qu'à attendre une mise à jour de php5 et /ou gd.so. En effet, ce qui m'ennuie le plus c'est le undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0 du message d'erreur. Il ne s'agirait donc pas d'une simple erreur de dossier mais du contenu de gd.so....
Cordialement
JM
Hors ligne
#25 Le 21/03/2015, à 13:25
- gl38
Re : [RESOLU] PB php5 et apache 2
Si on demande à Google "undefined symbol gdimagecreatefromjpeg tx", on trouve plusieurs pages pas très récentes. Compter sur une mise à jour de php5 ne me semble pas une voie vers la solution.
Le problème semble plutôt résider dans le fait qu'il y aurait plusieurs gd.so.
Au début de la compilation de wims, le configure râle parce qu'il ne trouve pas gd.h, te souviens-tu de ce que tu as ajouté au système pour aller plus loin ?
Que donne
locate gd.so
apès mise à jour de la base de données par
sudo updatedb
Cordialement,
Guy
Dernière modification par gl38 (Le 21/03/2015, à 13:26)
Hors ligne