2 votes

Pourquoi le partage de fichiers sur Internet ne fonctionne-t-il pas sur mon Mac ?

Contexte :

J'utilise mon Mac pour le développement web, en exécutant localement des copies de sites web. J'ai récemment installé la mise à jour Snow Leopard, qui semble s'être déroulée sans problème, sauf...

Qu'est-ce qui ne fonctionne pas ?

Partage sur le web ; plus précisément, je ne peux pas l'activer dans les préférences. Le volet des préférences se bloque lorsque j'essaie de l'activer.

Apache ne démarre donc pas au redémarrage. Je peux démarrer Apache à la main, mais je n'en sais pas assez pour configurer Apache afin qu'il démarre avec l'ordinateur, ou pour réparer correctement le partage de sites web.

Plus d'informations

Mon journal d'erreurs Apache ne montre rien au démarrage du système (comme je m'y attendais).

Voici le message d'erreur qui s'affiche lorsque j'essaie de lancer le partage web à partir du volet des préférences de partage.

28/09/2009 10:58:05 System Preferences[834] setInetDServiceEnabled failed with 1 for org.apache.httpd

Voici les messages qui s'affichent lorsque je démarre apache à partir de la ligne de commande.

[Mon Sep 28 10:35:53 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Sep 28 10:35:54 2009] [warn] mod_bonjour: Skipping user 'sams' - index file /Users/sams/Sites/index.html has zero length.
[Mon Sep 28 10:35:54 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Sep 28 10:35:54 2009] [notice] Digest: done
[Mon Sep 28 10:35:54 2009] [notice] Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8k DAV/2 PHP/5.3.0 Phusion_Passenger/2.2.5 configured -- resuming normal operations

N'hésitez pas à me contacter si vous avez besoin de plus d'informations à ce sujet.

Toute aide serait grandement appréciée.

MISE À JOUR

J'ai ajouté ma propre réponse ci-dessous - j'ai pu résoudre le problème grâce aux commentaires ci-dessous, qui m'ont orienté dans la bonne direction, alors merci beaucoup. Mais je ne sais pas encore très bien ce qui a causé le problème ni comment ma solution l'a résolu, alors je laisse la question ouverte pour l'instant.

2voto

Kit Roed Points 1922

C'est un peu des deux. Le drapeau désactivé (supprimé lorsque launchctl load -w /PATH/TO/PLIST est exécuté - il s'exécute automatiquement lorsque vous cochez l'option "Partage du Web" dans le volet des préférences de partage) indique qu'il ne doit pas être exécuté. Cependant, cette ligne se trouvant en dehors de la dictée, le fichier apparaît comme malformé. Remettez-la dans le fichier avec les valeurs précédentes ou supprimez-la complètement (voir ci-dessous).

Un exemple de .plist fonctionnel (mais désactivé) provenant de Snow Leopard

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/httpd</string>
        <string>-D</string>
        <string>FOREGROUND</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>SHAuthorizationRight</key>
    <string>system.preferences</string>
</dict>
</plist>

1voto

Gilligan Points 1051

N'hésitez pas à clarifier la réponse suivante. Je ne suis pas particulièrement doué pour la technique, donc la plupart de mes solutions impliquent de faire du piratage entre les deux fichiers :)

Suite aux messages d'erreur ci-dessus, j'ai vérifié le fichier org.apache.httpd.plist. Je l'ai ensuite comparé au fichier plist d'avant l'installation de Snow Leopard. Les fichiers diffèrent sur les points suivants :

Configuration Snow Leopard (Ne fonctionne pas)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>EnvironmentVariables</key>
   <dict>
     <key>PATH</key>
   </dict>
     <string>/opt/local/bin:/usr/local/mysql/bin</string>
    <key>ProgramArguments</key>
    <array>

Précédent Config (Travaux)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    <key>KeepAlive</key>
    <false/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>

Il semble qu'il y ait trois problèmes :

Ce qui suit - je suppose que cela désactive httpd ? Ou le fichier. Je ne suis pas tout à fait sûr.

<key>Disabled</key>
<true/>

La ligne suivante est différente, je suppose donc qu'elle pointe vers le mauvais endroit.

<string>/opt/local/bin:/usr/local/mysql/bin</string>

et tout ce bloc semble ne pas être correctement formaté - c'est-à-dire que l'élément "string" devrait se trouver à l'intérieur du bloc "dict".

   <dict>
     <key>PATH</key>
   </dict>
     <string>/opt/local/bin:/usr/local/mysql/bin</string>

Il pourrait donc s'agir de l'un ou l'autre de ces éléments. J'aurais aimé mieux comprendre, mais au moins ça marche maintenant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X