0 votes

localhost/phpmyadmin - erreur 404 sur MacOS High Sierra

Je suis en train de mettre en place un projet PHP sur le loalhost de ma machine. Cette partie fonctionne bien, et il charge le fichier index.php correctement lors de la visite http://localhost . Cependant, visiter http://localhost/phpmyadmin il me donne une erreur HTTP 404.

Voici mes paramètres :

  • Chemin du projet Users/zaina-alyahya/Sites/Meetings

  • chemin de phpmyadmin Users/zaina-alyahya/Sites

  • Paramètres de DocumentRoot dans httpd.conf : /Users/zaina-alyahya/Sites/Meetings/public

  • Configuration du VirtualHost dans httpd-vhosts.conf pour /Users/zaina-alyahya/Sites/Meetings/public

    • J'ai également essayé de configurer un VirtualHost pour phpmyadmin, mais cela n'a pas fonctionné.

    • J'ai cependant suivi les étapes de la deuxième réponse. aquí . Cela a fonctionné, mais il ne semble pas correct d'accéder à phpmyadmin par l'intermédiaire de phpmyadmin.localhost .

Qu'est-ce qui me manque pour faire localhost/phpmadmin se charge sans erreur ?

Voici la configuration de mon logiciel :

  • MacOS High Sierra 10.13.3

  • Apache 2.4.28

  • PHPMyAdmin 4.8.0.1

1voto

SEJU Points 643

Phpmyadmin doit se trouver dans votre DocumentRoot. 'localhost/phpmyadmin' signifie que phpmyadmin se trouve dans le DocumentRoot de localhost. Changez le chemin pour votre DocumentRoot dans votre httpd.conf ou déplacez le dossier phpmyadmin dans le dossier que vous avez déjà configuré.

VirtualHost ou DNSmasq ne rendent certains dossiers accessibles que via une adresse spécifique. Si je ne me trompe pas, ils doivent toujours résider dans votre DocumentRoot.

Vous devez également modifier les permissions pour l'utilisateur et le groupe dans httpd.conf ou définir les permissions sur le DocumentRoot en conséquence.

N'oubliez pas de redémarrer Apache après avoir modifié les paramètres.

$ sudo apachectl -k restart

Mise à jour :

Les applications Web sont placées dans un dossier particulier de votre machine. Un serveur web tel qu'Apache les sert sur le web ou dans votre navigateur. Vous devrez configurer apache et les DNS pour chaque projet. En général, tous les répertoires d'applications résident dans le Root des documents. Dans tous les cas, la connexion entre le répertoire d'application (dans ce cas, votre phpmyadmin, qui n'est qu'une application web) et votre serveur web est établie dans un fichier de configuration tel que httpd.conf pour apache. Selon la façon dont vous avez installé apache, vous devrez configurer :

  • le port où écouter
  • Définir DocumentRoot /usr/local/var/www à votre document Root
  • changez la référence de la balise ci-dessous et mettez AllowOverride All
  • activer mod_rewrite
  • en fonction de la manière dont vous souhaitez gérer les permissions, soit garder _www et appliquez la permission correspondante au dossier de votre application web ou mieux encore, définissez-la dans le fichier de configuration. user YourName + Group staff
  • définir le nom du serveur à ServerName localhost
  • configurer le dossier de votre site (modifier les permissions si nécessaire)
  • redémarrer apache

Cela servira tout sur votre machine de développement à partir de localhost, qui coïncide avec votre racine de document.

localhost/phpinfo.php ouvrira le fichier phpinfo.php placé dans votre document Root localhost/phpmyadmin ouvrira l'index à l'intérieur du répertoire phpmyadmin

Si vous avez plusieurs projets web, ils seront disponibles par la même procédure : localhost/webapp1 o localhost/webapp1/index.html etc.

La traduction vers une autre adresse disponible pour votre système se fait par le biais des hôtes virtuels, du serveur DNS, etc. qui traduit/connecte une URL à la racine de votre application web.

Pour ce faire :

  • Décommenter LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so sur /usr/local/etc/httpd/httpd.conf
  • inclure /usr/local/etc/httpd/extra/httpd-vhosts.conf
  • modifier le /usr/local/etc/httpd/extra/httpd-vhosts.conf

Sachez que lors de la configuration de l'hôte virtuel, vous perdrez votre Root de documents. La première chose à faire est donc de le rajouter, sinon vous perdrez la possibilité d'utiliser localhost/phpinfo :

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites/webapp"
    ServerName webapp.test
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites/PHPmyadmin"
    ServerName phpmyadmin
</VirtualHost>

Le nom du serveur pour l'application Web doit être choisi par vous. Vous devrez l'ajouter à votre fichier d'hôte. /etc/hosts utilisent un serveur DNS, ce que je préfère. Puisque le serveur OSX va perdre la fonctionnalité DNS, vous devriez jeter un coup d'oeil à dnsmasq (simple) ou mieux à BIND (fonctionnalité complète). Ces programmes résolvent une URL vers votre machine.

Certaines zones pourraient créer des problèmes :

  • en cas d'utilisation d'Apache : la version d'Apple est-elle utilisée ? Laquelle ? Celle du serveur System ou MacOS ? Si vous avez un serveur MacOS installé, désactivez la partie serveur web. Vous la perdrez de toute façon cette année si vous décidez de passer à la prochaine version de MacOS. Il est préférable de tout configurer manuellement, c'est beaucoup plus instructif de toute façon !
  • Configuration du DNS
  • Permissions !!!!!!!! S'ils ne sont pas correctement définis, vous obtiendrez un message 404.
  • redémarrer le serveur web après avoir modifié sa configuration.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X