OVH Cloud OVH Cloud

Configuration serveur web

8 réponses
Avatar
david
Salut tlm,

je dois installer un serveur web sur un powerpc (uname).

Par défaut, il y a un apache-1.3.27. J'ai modifié /etc/httpd/httpd.conf
pour gérer le PHP (version 4. chais plus combien) par défaut.

J'ai ensuite télécharger php-4.3.3 et je l'ai compilé avec:
./configure --with-zlib-dir=/usr/local --with-jpeg-dir=/sw
--with-png-dir=/sw --with-gd --with-mysql=/usr/local/mysql --with-xml
--with-apxs --enable-magic-quotes --with-openssl --enable-calendar
--with-ttf --enable-gd-native-ttf

(/sw => j'utilise fink)

ensuite make et make install

Mais la j'ai vraiment besoin d'un débuggeur/profileur PHP.

Donc je dl, décompresse et compile dbg-2.11.23. Ensuite je copie
le fichier modules/dbg.so dans:

/usr/local/lib/php/extensions/no-debug-non-zts-20020429/dbg.so

ensuite j'ai voulu créer le fichier php.ini que je ne trouve pas
avec find. Je "lance" un phpinfo, et je vois (entre autres):

Configuration File (php.ini) Path /usr/local/lib/php.ini

donc j'écris dans php.ini:
+++
extension=dbg.so

[debugger]
debugger.enabled = true
debugger.profiler_enabled = true
debugger.JIT_host = clienthost
debugger.JIT_port = 7869
---

et la apache plante quand je le relance (si je vide php.ini, apache
fonctionne) avec le log:/Library/Logs/CrashReporter/httpd.crash.log

Date/Time: 2003-10-20 17:41:55 +0200
OS Version: 10.2.8 (Build 6R73)
Host: Serveur.

Command: httpd
PID: 450

Exception: EXC_BREAKPOINT (0x0006)
Code[0]: 0x00000001Code[1]: 0x8fe01280

Thread 0 Crashed:
#0 0x8fe01280 in halt
#1 0x8fe045fc in unload_bundle_image
#2 0x8fe12368 in _dyld_unlink_module
#3 0x900b1c44 in NSUnLinkModule
#4 0x00022a7c in ap_os_dso_unload
#5 0x000029d0 in unload_module
#6 0x00011b84 in run_cleanups
#7 0x000106ac in ap_clear_pool
#8 0x00006e70 in standalone_main
#9 0x00007828 in main
#10 0x000026e0 in _start
#11 0x00002560 in start

PPC Thread State:
srr0: 0x8fe01280 srr1: 0x0002f030 vrsave: 0x00000000
xer: 0x00000000 lr: 0x8fe09c38 ctr: 0x8fe29468 mq: 0x00000000
r0: 0x00000004 r1: 0xbffff9b0 r2: 0x8fe4b400 r3: 0x000003f4
r4: 0x00000000 r5: 0x000003f4 r6: 0xbffff9cc r7: 0x00000001
r8: 0x62005f7a r9: 0x00000000 r10: 0x00000000 r11: 0x000b0ff0
r12: 0x8fe71e0e r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000
r20: 0x00000000 r21: 0x00000000 r22: 0x00056df4 r23: 0x00000000
r24: 0x00000000 r25: 0x00056df4 r26: 0x00000000 r27: 0x00000000
r28: 0x8fe4841c r29: 0x8fe484ec r30: 0x8fe484ec r31: 0x8fe099bc


et la je vois pas trop pkoi. C'est peut-être apache et dbg qui ont été
compilés avec des versions de gcc incompatibles. Donc j'ai dl
apache-1.3.28 mais avant de le conf/compiler/installer je voudrais
savoir si personne a une idée, ou a vécu ça...

Et si jamais je dois le compiler, comment je fais pour que quand je
clique sur partage Web dans Préférences Système->Partage, pour que ce
soit la nouvelle version qui soit lancée?

Merci d'avance :)

--
David

8 réponses

Avatar
patpro
In article <bn2sg5$8fg$,
david wrote:

Donc je dl, décompresse et compile dbg-2.11.23. Ensuite je copie
le fichier modules/dbg.so dans:

/usr/local/lib/php/extensions/no-debug-non-zts-20020429/dbg.so


y'a pas de make install ?
tu l'as compilé avec les bons path/prefix ? (questions naives, je n'ai
jamais manipulé de .so manuellement)


et la apache plante quand je le relance (si je vide php.ini, apache
fonctionne) avec le log:/Library/Logs/CrashReporter/httpd.crash.log


rien dans les /var/log/httpd/*.log ? parfois il a le temps d'écrire des
trucs significatifs.

Et si jamais je dois le compiler, comment je fais pour que quand je
clique sur partage Web dans Préférences Système->Partage, pour que ce
soit la nouvelle version qui soit lancée?


il faudra que tu l'installes de manière identique à l'apache d'apple
(donc avec le risque qu'il soit écrasé par une mise a jour Apple.
Ou que tu modifies l'apachectl d'apple pour qu'il lance ton apache et
non pas celui fourni par apple. Normalement le TdB partage utilise
l'apachectl pour lancer apache.

Le premier cas se règle avec un --prefix, le second avec un mv et ln -s
ou un coup de vi.
Attention tout de même, l'apache d'apple a des modules spéciaux lui
permettant par exemple l'utilisation d'HFS+ en case sensitive, ou les
notifications rendez-vous.


patpro
--
je cherche un poste d'admin-sys Mac/UNIX
(ou une jeune et jolie femme riche)
http://patpro.net/cv.php

Avatar
david
patpro wrote:

In article <bn2sg5$8fg$,
david wrote:

Donc je dl, décompresse et compile dbg-2.11.23. Ensuite je copie
le fichier modules/dbg.so dans:

/usr/local/lib/php/extensions/no-debug-non-zts-20020429/dbg.so


y'a pas de make install ?
tu l'as compilé avec les bons path/prefix ? (questions naives, je n'ai
jamais manipulé de .so manuellement)


non, c'est un script ./deferphpize qui fait tout (compile). la copie se
fait à la main (c'est marqué dans le fichier INSTALL).


et la apache plante quand je le relance (si je vide php.ini, apache
fonctionne) avec le log:/Library/Logs/CrashReporter/httpd.crash.log


rien dans les /var/log/httpd/*.log ? parfois il a le temps d'écrire des
trucs significatifs.


dans /var/log/httpd/error_log:

dyld: /usr/sbin/httpd Undefined symbols:
_OnUpdateInt
_OnUpdateString
__array_init
__convert_to_string
__efree
__emalloc
__erealloc
__estrdup
__estrndup
__php_stream_open_wrapper_as_file
__zend_bailout
__zval_copy_ctor
__zval_dtor
_ap_php_snprintf
_compiler_globals
_convert_to_boolean
_convert_to_long
_display_ini_entries
_executor_globals
_get_active_function_name
_php_info_print_table_end
_php_info_print_table_row
_php_info_print_table_start
(...)

mais ce msg n'apparait qu'une fois alors que j'ai fais crasher apache 4
ou 5 fois, bizarre...


Et si jamais je dois le compiler, comment je fais pour que quand je
clique sur partage Web dans Préférences Système->Partage, pour que ce
soit la nouvelle version qui soit lancée?


il faudra que tu l'installes de manière identique à l'apache d'apple
(donc avec le risque qu'il soit écrasé par une mise a jour Apple.
Ou que tu modifies l'apachectl d'apple pour qu'il lance ton apache et
non pas celui fourni par apple. Normalement le TdB partage utilise
l'apachectl pour lancer apache.

Le premier cas se règle avec un --prefix, le second avec un mv et ln -s
ou un coup de vi.


Ok, perso je préfère la méthode ln/vi.


Attention tout de même, l'apache d'apple a des modules spéciaux lui
permettant par exemple l'utilisation d'HFS+ en case sensitive, ou les
notifications rendez-vous.



AÏE! Et tu connais un document qui explique comment avoir les mêmes
choses de dispo? Avoir les options de compile de l'apache installé en
gros...

--
David


Avatar
patpro
In article <bn2vg9$6r9$,
david wrote:

Le premier cas se règle avec un --prefix, le second avec un mv et ln -s
ou un coup de vi.


Ok, perso je préfère la méthode ln/vi.


je m'en doutais ;)

Attention tout de même, l'apache d'apple a des modules spéciaux lui
permettant par exemple l'utilisation d'HFS+ en case sensitive, ou les
notifications rendez-vous.



AÏE! Et tu connais un document qui explique comment avoir les mêmes
choses de dispo? Avoir les options de compile de l'apache installé en
gros...



Les sources des modules sont dispo dans Darwin (donc dispo avec un
compte gratuit sur connect.apple.com)

Jette un oeil ici quand meme :
http://www.stepwise.com/Articles/Workbench/2001-10-11.01.html

Sinon officiellement c'est là :
http://www.opensource.apple.com/darwinsource/10.2.8/

Et pour le mod_rendezvous il faudra passer par le CVS comme l'indique
cette page : http://developer.apple.com/darwin/projects/rendezvous/


patpro
--
je cherche un poste d'admin-sys Mac/UNIX
(ou une jeune et jolie femme riche)
http://patpro.net/cv.php


Avatar
laurent.pertois
patpro wrote:

Et pour le mod_rendezvous il faudra passer par le CVS comme l'indique
cette page : http://developer.apple.com/darwin/projects/rendezvous/


Celui-là n'est pas dramatiquement important, par contre, il ne faut
surtout pas oublier de mettre le mod_hfs qui gère le fait qu'HFS Plus
est case insensitive alors qu'apache s'attend à tourner sur un fs case
sensitive.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
david
Laurent Pertois wrote:
patpro wrote:

Et pour le mod_rendezvous il faudra passer par le CVS comme l'indique
cette page : http://developer.apple.com/darwin/projects/rendezvous/


Celui-là n'est pas dramatiquement important, par contre, il ne faut
surtout pas oublier de mettre le mod_hfs qui gère le fait qu'HFS Plus
est case insensitive alors qu'apache s'attend à tourner sur un fs case
sensitive.


bah la mon début de site marche sans les modules hfs, ni rendezvous...

J'ai lutté mais ça y est j'ai apache-1.3.28 avec php-4.3.3 qui marchent!!!

Par contre, impossible d'installer dbg !!! Alors que c'est le truc
principal :/

Est-ce que vous connaissez des débuggueur/profileur tout prêt à
installer pour mac os X? Ou avez vous des conseils pour faire marcher dbg?

La j'avais:


PHP Warning: Unknown(): Unable to load dynamic library
'./extensions/dbg.so' - (null) in Unknown on line 0

pui sj'ai mis dans /usr/local/lib/php.ini
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20020429/"

et la je reviens à l'erreur du début:

Console:
Oct 21 18:08:06 Serveur-bdd crashdump: Crash report written to:
/Library/Logs/CrashReporter/httpd.crash.log

/Library/Logs/CrashReporter/httpd.crash.log:
Date/Time: 2003-10-21 18:08:05 +0200
OS Version: 10.2.8 (Build 6R73)
Host: Serveur-bdd.local.

Command: httpd
PID: 5615

Exception: EXC_BREAKPOINT (0x0006)
Code[0]: 0x00000001Code[1]: 0x8fe01280

Thread 0 Crashed:
#0 0x8fe01280 in halt
#1 0x8fe045fc in unload_bundle_image
#2 0x8fe12368 in _dyld_unlink_module
#3 0x900b1c44 in NSUnLinkModule
#4 0x00035378 in ap_os_dso_unload
#5 0x00001c38 in unload_module
#6 0x0001958c in run_cleanups
#7 0x00017230 in ap_clear_pool
#8 0x00007c7c in standalone_main
#9 0x000089e4 in main
#10 0x00001904 in _start
#11 0x00001784 in start


et /var/log/httpd/error_log:
dyld: /usr/sbin/httpd Undefined symbols:
_OnUpdateInt
_OnUpdateString
__array_init


puis je suis tombé sur:
http://ww1.nusphere.com/support/viewtopic.php?t6

j'ai modifié le makefile et la j'ai dans /var/log/system.log:
Oct 21 18:23:08 Serveur-bdd /usr/sbin/httpd: PHP Warning: Unknown():
dbg: Unable to initialize module Module compiled with module
API 010901, debug=0, thread-safety=0 PHP compiled with module
API 020429, debug=0, thread-safety=0 These options need to match in
Unknown on line 0
Oct 21 18:23:08 Serveur-bdd /usr/sbin/httpd: PHP Warning: Unknown():
dbg: Unable to initialize module Module compiled with module
API 010901, debug=0, thread-safety=0 PHP compiled with module
API 020429, debug=0, thread-safety=0 These options need to match in
Unknown on line 0


et la je dis Mac OS X ca commence à $^&é"$^é`"...

mais bon tout aide sera apréciée :)

--
David


Avatar
patpro
In article <bn3mqo$545$,
david wrote:

bah la mon début de site marche sans les modules hfs, ni rendezvous...


rdv est plus qu'optionnel. mod_hfs par contre... si ta machine est
uniquement pour le développement, et que :
- tu t'astreins à une nommenclature sans ambiguité au niveau de la casse
- tu ne mets pas en place de filtres sur les noms, chemin, url dans les
directives apache
- tu n'utilises pas webdav
- tu es d'un naturel chanceux

alors ca devrait se passer correctement. Sinon compile absoluement ce
module.

patpro

Avatar
laurent.pertois
david wrote:

bah la mon début de site marche sans les modules hfs, ni rendezvous...


Euh, pas recommandé sans le mod_hfs :-/

Toutes les explications :

<http://docs.info.apple.com/article.html?artnum7310>

J'ai lutté mais ça y est j'ai apache-1.3.28 avec php-4.3.3 qui marchent!!!


Le 1.3.27 d'origine ne suffisait pas ? parce que pour php, celui
d'entropy.ch doit tout inclure, sjnma.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
david
patpro wrote:
In article <bn3mqo$545$,
david wrote:

bah la mon début de site marche sans les modules hfs, ni rendezvous...


rdv est plus qu'optionnel. mod_hfs par contre... si ta machine est
uniquement pour le développement, et que :
- tu t'astreins à une nommenclature sans ambiguité au niveau de la casse
- tu ne mets pas en place de filtres sur les noms, chemin, url dans les
directives apache
- tu n'utilises pas webdav
- tu es d'un naturel chanceux

alors ca devrait se passer correctement. Sinon compile absoluement ce
module.


bah je n'utilise pas webdav, et je respecte la casse vu qu'on peut
changer de serveur web (le passe sous un unix qui fait les différence de
casse).

Au pire je l'installerais si j'ai des problèmes d'accès...

Sinon, j'ai laissé tomber gdb, et j'essaye avec Xdebug, mais nouveau crash:

j'ai dl la xdebug-1.2.0 en binaire précompilé,

dans php.ini:
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20020429/
xdebug-4.3.2-1.2.0-macosx.so

dans /var/log/httpd/error_log:
dyld: /usr/sbin/httpd Undefined symbols:
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _OnUpdateBool expected to be defined in the
executable
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _OnUpdateInt expected to be defined in the executable
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _OnUpdateString expected to be defined in the
executable
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _compiler_globals expected to be defined in the
executable
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _core_globals expected to be defined in the
executable
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/xdebug-4.3.2-1.2.0-macosx.so
undefined reference to _executor_globals expected to


dans /Library/Logs/CrashReporter/httpd.crash.log:
Date/Time: 2003-10-22 11:57:35 +0200
OS Version: 10.2.8 (Build 6R73)
Host: Serveur-bdd.local.

Command: httpd
PID: 9697

Exception: EXC_BREAKPOINT (0x0006)
Code[0]: 0x00000001Code[1]: 0x8fe01280

Thread 0 Crashed:
#0 0x8fe01280 in halt
#1 0x8fe106b4 in link_in_need_modules
#2 0x8fe12230 in _dyld_link_module
#3 0x900169c8 in NSLinkModule
#4 0x007830f4 in zend_mh_bundle_load (zend_extensions.c:245)
#5 0x00782bbc in zend_load_extension (zend_extensions.c:34)
#6 0x00777e68 in zend_llist_apply (zend_llist.c:188)
#7 0x00757ae4 in php_ini_delayed_modules_startup (php_ini.c:477)
#8 0x00752b38 in php_module_startup (main.c:1232)
#9 0x00791e18 in php_apache_startup (mod_php4.c:271)
#10 0x00792bc0 in php_init_handler (mod_php4.c:890)
#11 0x00015544 in ap_init_modules
#12 0x000089bc in main
#13 0x00001904 in _start
#14 0x00001784 in start

PPC Thread State:
srr0: 0x8fe01280 srr1: 0x0202f030 vrsave: 0x00000000
xer: 0x00000000 lr: 0x8fe09c38 ctr: 0x8fe29468 mq: 0x00000000
r0: 0x00000004 r1: 0xbffff880 r2: 0x8fe0b7f4 r3: 0x000003f6
r4: 0x00000000 r5: 0x000003f6 r6: 0xbffff89c r7: 0x65637465
r8: 0x725f676c r9: 0x00000000 r10: 0x8fe4850c r11: 0x00000000
r12: 0x8fe71e0e r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000
r20: 0x00000000 r21: 0x00000000 r22: 0x00000000 r23: 0x00000000
r24: 0x00000001 r25: 0x00812674 r26: 0x007f2674 r27: 0x00049c9c
r28: 0x8fe4841c r29: 0x8fe484ec r30: 0x8fe484ec r31: 0x8fe099bc

:/

--
David