Activation PHP sous Mac OS X : Problème

Antiphon

Membre expert
Club iGen
25 Mars 2001
1 533
17
Région parisienne
Comme je m'essaye à développer un site en PHP, je voulais l'activer au sein de Mac OS X afin de ne pas être obligé de transférer mes fichiers sur le serveur à chaque fois que je voudrais les tester. Je me suis donc reporté à la traduction du mode d'emploi de Marc Liyanage disponible sur le site UltraMac et plusieurs fois mentionnée dans ce forum. J'ai appliqué l'ensemble de cette procédure, mais à partir de la section « Activer le module PHP », parce que le module PHP déjà inclu dans Mac OS 10.1.5 me paraissait suffisant. Ensuite, j'ai donc créé un fichier test.php contenant la mention <?php phpinfo() ?>. En tapant dans Internet Explorer l'adresse file://127.0.0.1/, je me déplace effectivement dans l'arborescence de mon disque. Mais, arrivé au fichier test.php situé dans le dossier Sites, celui-ci refuse de s'ouvrir. J'ai bien un message « Voulez-vous ouvrir le document test.php ? » avec un cadenas, mais rien ne se passe lorsque je clique sur OK… Ai-je commis une erreur dans les codes que j'ai entrés, sans rien y comprendre /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif, dans le Terminal ?… Que dois-je faire maintenant ? Comment savoir où j'en suis ? Un peu d'aide, s'il vous plait, cela dépasse largement mes compétences de vieux Macintoshien… Et je préférerais éviter une manip qui m'efface tout mon disque… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/ooo.gif

Antiphon
 
  • J’aime
Réactions: pim
Pour les plus calés, voici le code :

Welcome to Darwin!
[localhost:~] antiphon% "cd /etc/httpd/"
cd /etc/httpd/: Command not found.
[localhost:~] antiphon% cd /etc/httpd/
[localhost:/etc/httpd] antiphon% sudo apxs -e -a -n php4 libexec/httpd/libphp4.so

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

#1) Respect the privacy of others.
#2) Think before you type.

Password:
[activating module `php4' in /private/etc/httpd/httpd.conf]
cp /private/etc/httpd/httpd.conf /private/etc/httpd/httpd.conf.bak
cp /private/etc/httpd/httpd.conf.new /private/etc/httpd/httpd.conf
rm /private/etc/httpd/httpd.conf.new
[localhost:/etc/httpd] antiphon% sudo perl -p -i.bak -e 's%#(AddType \S+-php[ -]%$1%i' httpd.conf
/#(AddType \S+-php[ -]/: unmatched () in regexp at -e line 1.
[localhost:/etc/httpd] antiphon% sudo apachectl graceful
/usr/sbin/apachectl graceful: httpd not running, trying to start
Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/antiphon.conf
[Sun Aug 11 12:48:06 2002] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
/usr/sbin/apachectl graceful: httpd started
[localhost:/etc/httpd] antiphon%

Je comprends en gros qu'il y a un problème : « httpd not running, trying to start Processing config directory », mais que faire à présent ?

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> Pour les plus calés, voici le code :

Welcome to Darwin!
[localhost:~] antiphon% "cd /etc/httpd/"
cd /etc/httpd/: Command not found.
[localhost:~] antiphon% cd /etc/httpd/
[localhost:/etc/httpd] antiphon% sudo apxs -e -a -n php4 libexec/httpd/libphp4.so

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

#1) Respect the privacy of others.
#2) Think before you type.

Password:
[activating module `php4' in /private/etc/httpd/httpd.conf]
cp /private/etc/httpd/httpd.conf /private/etc/httpd/httpd.conf.bak
cp /private/etc/httpd/httpd.conf.new /private/etc/httpd/httpd.conf
rm /private/etc/httpd/httpd.conf.new
[localhost:/etc/httpd] antiphon% sudo perl -p -i.bak -e 's%#(AddType \S+-php[ -]%$1%i' httpd.conf
/#(AddType \S+-php[ -]/: unmatched () in regexp at -e line 1.
[localhost:/etc/httpd] antiphon% sudo apachectl graceful
/usr/sbin/apachectl graceful: httpd not running, trying to start
Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/antiphon.conf
[Sun Aug 11 12:48:06 2002] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
/usr/sbin/apachectl graceful: httpd started
[localhost:/etc/httpd] antiphon%

Je comprends en gros qu'il y a un problème : « httpd not running, trying to start Processing config directory », mais que faire à présent ?

Antiphon
<hr /></blockquote>

Edite le fichier /etc/httpd/httpd.conf tu devrais trouver une ligne qui contient ServerName vérifie que l'adresse en question soit bien 127.0.0.1, sauve (fais attention il faut utiliser sudo pour modifier le fichier httpd.conf car il appartient à root), puis tu fais sudo apachectl graceful et tu me remets le message qu'il t'affiche /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif
 
Ouh la, doucement !… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif Tu dis : « Edite le fichier /etc/httpd/httpd.conf », c'est-à-dire ? Qu'il faut que je tape cette adresse dans mon navigateur ? Sans doute pas… J'ai donc tapé ça dans le Terminal à la suite de la séquence que j'ai copiée dans mon précédent message… Réponse du Terminal : « /etc/httpd/httpd.conf: Permission denied. » Alors là, je fais quoi ? Je suis seul utilisateur… Il faut sans doute que je me mette néanmoins en administrateur, root, c'est ça ? Comment on fait ? Ensuite, peux-tu m'expliquer plus précisément… Tu dis de faire une sauvegarde ? Comment ? Désolé, mais je ne comprends qu'un mot sur deux, et encore… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif

Merci pour ton aide…

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> Ouh la, doucement !… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif Tu dis : « Edite le fichier /etc/httpd/httpd.conf », c'est-à-dire ? Qu'il faut que je tape cette adresse dans mon navigateur ? Sans doute pas… J'ai donc tapé ça dans le Terminal à la suite de la séquence que j'ai copiée dans mon précédent message… Réponse du Terminal : « /etc/httpd/httpd.conf: Permission denied. » Alors là, je fais quoi ? Je suis seul utilisateur… Il faut sans doute que je me mette néanmoins en administrateur, root, c'est ça ? Comment on fait ? Ensuite, peux-tu m'expliquer plus précisément… Tu dis de faire une sauvegarde ? Comment ? Désolé, mais je ne comprends qu'un mot sur deux, et encore… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif

Merci pour ton aide…

Antiphon
<hr /></blockquote>

ahhh mais il fallait dire /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif

Alors reprennons les choses depuis le début tu ouvres le Terminal tu tapes:

cd /etc/httpd/
sudo chown tonlogin httpd.conf

tu rentres ton mot de passe admin, et tu n'oublie pas de changer tonlogin par ton login /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif

une fois fais tu retournes dans le finder tu vas sous Allez-&gt;Allez au Dossier et tu mets /etc/httpd tu ouvres le fichier httpd.conf avec BBedit tu trouve la ligne ServerName 127.0.0.1 tu vérifie qu'il n'y ait pas de # devant et que ce soit bien 127.0.0.1 tu sauves, tu fermes et tu reviens dans le Terminal et tu fais

sudo chown root /etc/httpd/httpd.conf

/ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif

Tu peux aussi le faire en restant ds le Terminal avec vi, emacs, etc... mais si tu n'as pas l'habitude c'est un peu plus compliqué /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif
 
J'ai suivi tes instructions et je n'ai pas les réponses que tu me dis… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/frown.gif D'abord, en tapant ce que tu dis dans le Terminal, il m'a dit que mon nom d'utilisateur était invalide, sans doute parce que je l'avais fait suivre de % ? Bon, ensuite j'ai réessayé, je me suis dit qu'il avait quand même dû comprendre et je suis retourné dans le Finder… Ce que tu m'as dit de faire avec BBEdit, je l'avais déjà fait, en attendant ta réponse, avec TextEdit… J'ai bien un fichier nommé httpd.conf qui s'ouvre. Il fait plus de 1000 lignes. Je ne trouve que deux mentions de 127.0.0.1 dans la phrase suivante : « 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your machine always knows itself by this address. If you use Apache strictly for local testing and development, you may use 127.0.0.1 as the server name. » Au mot server, j'ai parcouru les occurences et je ne trouve rien d'intéressant, semble-t-il… Si bien que je ne suis pas retourné dans le Terminal pour taper la dernière ligne de commande… Qu'est-ce que je fais ? /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/confused.gif

Antiphon
 
Dans BBedit va à la ligne 354, en fait tu étais au bonne endroit mais c'est à la fin du paragraphe dont tu parles tu dois avec une ligne

#ServerNamme nomduserveur

à la place tu mets

ServerName 127.0.0.1

au pire tu peux essayer d'activer le partage web ds les Préferences Système sous Partage
 
'

Je crois qu'il faut se méfier de TextEdit qui ne sauve pas forcément en texte brut... Vaut mieux prendre BBEdit et faire gaffe après avoir fais "Enregistrer sous" de bien cliquer sur "Options", de virer le créateur et de mettre Unix pour les retours chariots (ça se passe dans 2 petits menus déroulants).

J'y connais rien d'autre, je vous laisse ! /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif

'+
 
Ligne 354, j'ai ServerName contact. Je remplace donc contact par 127.0.0.1 et j'enregistre (Pomme + S simplement ? Je ne comprends pas ce que dit de faire le Gognol… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif) ? Puis je retourne dans le Terminal et je tape sudo chown root /etc/httpd/httpd.conf ? C'est bien ça ?

Antiphon
 
Ça ne marche toujours pas… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/frown.gif J'ai bien remplacé contact par 127.0.0.1 et enregistré, puis tapé ce que tu me dis dans le Terminal. Il m'a demandé mon mot de passe et j'ai validé. Par Internet Explorer, je suis allé à file://localhost/private/etc/httpd/ et les deux fichiers httpd.conf et httpd.conf.bak (pourquoi celui-là ? je ne crois pas y avoir touché !) ont bien été modifiés aujourd'hui. Par contre lorsque j'essaye d'ouvrir le fichier file://127.0.0.1/Users/antiphon/Sites/test.php, il ne veut toujours rien savoir… Une idée ?… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/confused.gif

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> Ça ne marche toujours pas… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/frown.gif J'ai bien remplacé contact par 127.0.0.1 et enregistré, puis tapé ce que tu me dis dans le Terminal. Il m'a demandé mon mot de passe et j'ai validé. Par Internet Explorer, je suis allé à file://localhost/private/etc/httpd/ et les deux fichiers httpd.conf et httpd.conf.bak (pourquoi celui-là ? je ne crois pas y avoir touché !) ont bien été modifiés aujourd'hui. Par contre lorsque j'essaye d'ouvrir le fichier file://127.0.0.1/Users/antiphon/Sites/test.php, il ne veut toujours rien savoir… Une idée ?… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/confused.gif

Antiphon
<hr /></blockquote>

moi je dis essait avec http://127.0.0.1 au lieu de file:// maintenant tu as un serveur alors c'est comme un serveur web normal tu es obligé d'y accéder par http /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> En tapant http://127.0.0.1, j'obtiens Server Error… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/frown.gif

Antiphon
<hr /></blockquote>

Ce qui sous entend que tu as une erreur ds ton fichier de configuration httpd.conf, va dans /var/log/httpd tu dois avoir deux fichier un acees_log et l'autre error_log tu ouvre error_log et tu regardes les derniers messages d'erreurs histoire de savoir ce qu'il se passe /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif

 
Voilà ce que je trouve dans error_log :

Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/antiphon.conf
[Sun Aug 11 12:48:07 2002] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sun Aug 11 12:48:07 2002] [notice] Apache/1.3.23 (Darwin) PHP/4.1.2 configured -- resuming normal operations
[Sun Aug 11 12:48:07 2002] [notice] Accept mutex: flock (Default: flock)

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> Voilà ce que je trouve dans error_log :

Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/antiphon.conf
[Sun Aug 11 12:48:07 2002] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sun Aug 11 12:48:07 2002] [notice] Apache/1.3.23 (Darwin) PHP/4.1.2 configured -- resuming normal operations
[Sun Aug 11 12:48:07 2002] [notice] Accept mutex: flock (Default: flock)

Antiphon
<hr /></blockquote>

Tu n'as rien modifier d'autre dans le fichier httpd.conf ? Fais moi une copie du paragraphe ServerName (celui dont tu parlais en dessus avec la dernière ligne ServerName 127.0.0.1)
 
</font><blockquote><font class="small">Citer:</font><hr />
ServerName allows you to set a host name which is sent back to clients for your server if it's different than the one the program would get (i.e., use "www" instead of the host's real name).

Note: You cannot just invent host names and hope they work. The name you define here must be a valid DNS name for your host. If you don't understand this, ask your network administrator.
If your host doesn't have a registered DNS name, enter its IP address here.
You will have to access it by its address (e.g., http://123.45.67.89/)
anyway, and this will make redirections work in a sensible way.

127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your machine always knows itself by this address. If you use Apache strictly for local testing and development, you may use 127.0.0.1 as the server name.

ServerName 127.0.0.1
<hr /></blockquote>

Voilà, mais ça m'a plus l'air d'un mode d'emploi que d'un fichier de config… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/confused.gif

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> &lt;/font&gt;&lt;blockquote&gt;&lt;font class="small"&gt;Citer:&lt;/font&gt;&lt;hr /&gt;
ServerName allows you to set a host name which is sent back to clients for your server if it's different than the one the program would get (i.e., use "www" instead of the host's real name).

Note: You cannot just invent host names and hope they work. The name you define here must be a valid DNS name for your host. If you don't understand this, ask your network administrator.
If your host doesn't have a registered DNS name, enter its IP address here.
You will have to access it by its address (e.g., http://123.45.67.89/)
anyway, and this will make redirections work in a sensible way.

127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your machine always knows itself by this address. If you use Apache strictly for local testing and development, you may use 127.0.0.1 as the server name.

ServerName 127.0.0.1
<hr /></blockquote>

Voilà, mais ça m'a plus l'air d'un mode d'emploi que d'un fichier de config… /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/confused.gif

Antiphon
<hr /></blockquote>

Tu as enlevé les # avant le texte ??? si c'est le cas tu remets des # devant chaque ligne sauf la dernière, c-à-d que ServerName 127.0.0.1 ne doit rien avoir devant...

Pour le mode d'emploi en fait le fichier de config contient une partie de la doc histoire de facilité les choses /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif
 
Effectivement, on a :

</font><blockquote><font class="small">Citer:</font><hr />
name. [c'est la fin du paragraphe]
#
#ServerName 127.0.0.1
<hr /></blockquote>

Lorsque j'essaye d'enlever les #, il me dit : « The document "httpd.conf" couldn't be unlocked, beacause it is owned by "root". » Qu'est-ce que je fais ?

Antiphon
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Antiphon:</font><hr /> Effectivement, on a :

&lt;/font&gt;&lt;blockquote&gt;&lt;font class="small"&gt;Citer:&lt;/font&gt;&lt;hr /&gt;
name. [c'est la fin du paragraphe]
#
#ServerName 127.0.0.1
<hr /></blockquote>

Lorsque j'essaye d'enlever les #, il me dit : « The document "httpd.conf" couldn't be unlocked, beacause it is owned by "root". » Qu'est-ce que je fais ?

Antiphon
<hr /></blockquote>

Tu retournes ds le Terminal et tu refais sudo chown tonlogin /etc/httpd/httpd.conf et apprais tu l'ouvres avec BBedit et quand tu as finis tu reviens dans le Terminal et tu fais sudo chown root /etc/httpd/httpd.conf

Tu ne peux pas modifier le fichier qu'il appartient à root