2009-12-25 6 views
1

J'utilise Snow Leopard pour le développement web avec PHP. J'ai un dossier dans mon répertoire personnel qui est utilisé comme espace de travail eclipse pour le projet. Je voudrais l'utiliser comme répertoire de déploiement dans Apache, de sorte que toutes les modifications que je ferai soient immédiatement visibles.Problème d'Apache Alias, Snow Leopard

A cette fin, j'ai créé un alias dans httpd.conf comme suit:

Alias /mysite/ "/Users/mysuser/workspace/mysite" 
<Directory "/Users/victor/workspace/mysite"> 
    Order allow,deny 
    Allow from all 
</Directory> 

Cependant, lorsque je tente d'accéder http://localhost/mysite/index.php je reçois:

 
    Forbidden 
    You don't have permission to access /mysite/index.php on this server. 

J'ai vérifié les autorisations du dossier et tous les utilisateurs peuvent lire/écrire/exécuter dessus.

Ai-je raté quelque chose? Aussi, existe-t-il une meilleure alternative à l'utilisation d'alias pointant vers mon espace de travail? Merci, Victor.

+1

'/ Users/mysuser' contre'/Users/victor' ?? faute de frappe? – gnarf

Répondre

1

Assurez-vous que tous les dossiers ci-dessus (probablement /Users/mysuser) ont des autorisations pour tout lire/exécuter. Le bit d'exécution, lorsqu'il est défini pour un répertoire, accorde la possibilité de parcourir son arborescence pour accéder aux fichiers ou aux sous-répertoires.

Pour répondre à la deuxième partie de votre question, je l'utilise toujours VirtualHosts, et définir les noms d'hôte (à savoir 127.0.0.1 mysite.local) dans mon dossier /etc/hosts. De cette façon, vous êtes moins susceptible d'avoir des problèmes avec l'utilisation de chemins absolus. Vos fichiers « modèle » peuvent lien vers /css/main.css sans avoir à se soucier des problèmes de chemin de base ...

0

@gnarf était correct dans le premier paragraphe:

Assurez-vous que tous les dossiers ci-dessus (le plus probable/Utilisateurs/mysuser) ont des permissions à lire/exécuter. Le bit d'exécution, lorsqu'il est défini pour un répertoire, accorde la possibilité de parcourir son arborescence pour accéder aux fichiers ou aux sous-répertoires.

Plus précisément, la façon de résoudre ce problème est d'aller au Terminal, cd dans le répertoire approprié où ces fichiers se trouvent et le type:

sudo chmod 0755 mysite 

Vous pouvez faire la même chose pour les fichiers dans le répertoire si pour une raison quelconque cela ne fonctionne toujours pas. Et en dernier recours, juste pour tester que les permissions ne sont plus le problème, essayez de les chmod à 0777 (temporairement, car c'est un trou de sécurité si vous le laissez).

0

Il y a un bug GRAVE dans l'implémentation ALIAS/REDIRECT de 10.6/10.5 (sans parler de leur paradigme de configuration d'apache boiteux). L'un des "Alias" ou "Redirections" que vous créez dans Admin Serveur a des guillemets autour des arguments ... comme le font les directives <DocumentRoot "XXX"> et <Directory "XXX"> ... dans les fichiers .conf résultants. Je ne pense pas que tous ces paramètres sont supposés avoir des citations .. J'ai lutté avec cela depuis si longtemps que je ne peux plus dire de bas ...

Solution ... Configurez votre base Structure VHost dans l'administrateur du serveur, puis arrêtez de l'utiliser !! Allez dans les fichiers .conf qu'il a créés dans /etc/apache2/Sites et ajoutez manuellement vos directives mod_alias. C'est à quoi ressemble la sortie de l'Admin Serveur.

Alias "/include/" "/ServiceData/Web/mabishu/include/" 
Alias "/collaboration" "/usr/share/collaboration" 
Alias "/error/" "/usr/share/httpd/error/" 
Redirect temp "http://www.osxserversux.com/" "http://osxserver.com/" 

C'est ce qu'il devrait ressembler, et ce qui fonctionne réellement, (je pense) ...

Alias /include/ /ServiceData/Web/mabishu/include/ 
Alias /collaboration /usr/share/collaboration 
Alias /error/ /usr/share/httpd/error/ 
Redirect temp http://www.osxserversux.com/ http://osxserver.com/ 

Et à partir de ce moment, JAMAIS cliquez sur Enregistrer dans « Web » dans " Server Admin "à nouveau. Si vous le faites, il sera heureux de remettre toutes les citations pour vous!

Toute cette administration Web, et plus particulièrement le «panneau» des «alias», est un exemple hideux d'échec d'Apple dans sa quête pour faciliter les choses. Ils renomment les conventions, faisant des recherches des solutions un cauchemar, et leur implémentation est brisée. Sans oublier qu'ils auraient dû utiliser mod_rewrite à la place ... Pour couronner le tout avec peu de documentation de leur méthode d'installation propriétaire, et pouah!

J'AIME Apple, mais certaines des frustrations et le manque d'options de configuration du serveur Mac OS X sont vraiment inexcusables et ennuyeux.