localhost / phpmyadmin-macOS High Sierra에서 404 오류


0

내 컴퓨터의 loalhost에서 PHP 프로젝트를 설정하고 있습니다. 이 부분은 제대로 작동하며 index.php방문 할 때 올바르게 로드 됩니다 http://localhost. 그러나 방문 http://localhost/phpmyadmin하면 HTTP 404 오류가 발생합니다.

내 설정은 다음과 같습니다.

  • 프로젝트 경로 Users/zaina-alyahya/Sites/Meetings

  • phpmyadmin 경로 Users/zaina-alyahya/Sites

  • 의 DocumentRoot 설정 httpd.conf:/Users/zaina-alyahya/Sites/Meetings/public

  • 에 httpd-vhosts.conf대한 VirtualHost 설정/Users/zaina-alyahya/Sites/Meetings/public

    • phpmyadmin에 대한 VirtualHost도 설정하려고 시도했지만 작동하지 않았습니다.

    • 나는 그러나 두 번째 대답 단계를 수행 않았다 여기를 . 그것은 효과가 있었지만를 통해 phpmyadmin에 액세스하는 것이 옳지 않은 것 같습니다 phpmyadmin.localhost.

localhost/phpmadmin오류없이로드 하기 위해 무엇을 놓치고 있습니까?

내 소프트웨어 구성은 다음과 같습니다.

  • macOS High Sierra 10.13.3

  • 아파치 2.4.28

  • PHPMyAdmin 4.8.0.1


이것은 주제 IMO에서 벗어 났지만 커뮤니티가 동의하지 않는 것 같습니다.
— JBis

답변:


1

Phpmyadmin은 DocumentRoot 안에 있어야합니다. 'localhost / phpmyadmin'은 localhost DocumentRoot 내의 phpmyadmin을 나타냅니다. httpd.conf에서 DocumentRoot의 경로를 변경하거나 phpmyadmin 폴더를 이미 구성한 폴더로 이동하십시오.

VirtualHost 또는 DNSmasq는 특정 주소를 통해서만 특정 폴더에 액세스 할 수 있도록합니다. 내가 실수하지 않으면 여전히 DocumentRoot 안에 있어야합니다.

또한 httpd.conf 내의 사용자 및 그룹에 대한 권한을 편집하거나 이에 따라 DocumentRoot에 대한 권한을 설정해야합니다.

설정을 변경 한 후 Apache를 다시 시작해야합니다.

$ sudo apachectl -k restart

최신 정보:

웹 응용 프로그램은 컴퓨터의 특정 폴더에 있습니다. Apache와 같은 웹 서버는 웹이나 브라우저에이를 제공합니다. 각 프로젝트마다 아파치와 DNS를 구성해야합니다. 일반적으로 모든 응용 프로그램 디렉토리는 문서 루트에 있습니다. 어쨌든 응용 프로그램 디렉토리 (이 경우 웹 응용 프로그램 인 phpmyadmin)와 웹 서버 간의 연결은 아파치의 경우 httpd.conf와 같은 구성 파일로 이루어집니다. 아파치를 설치 한 방법에 따라 다음을 구성해야합니다.

  • 청취 할 포트
  • DocumentRoot /usr/local/var/www를 문서 루트로 설정
  • 아래의 태그 참조를 변경하고 설정하십시오. AllowOverride All
  • 가능하게하다 mod_rewrite
  • 당신이 권한을 관리하거나 유지하려는 방법에 따라 _www와 설정 파일에 웹 응용 프로그램 폴더 또는 더 나은 세트 permissione 해당 적용 user YourName+Group staff
  • 서버 이름을 ServerName localhost
  • 사이트 폴더 설정 (필요한 경우 편집 권한)
  • 아파치를 다시 시작

이것은 로컬 호스트에서 시작하여 문서 루트와 일치하는 개발 시스템의 모든 것을 제공합니다.

localhost/phpinfo.php문서 루트에있는 phpinfo.php 파일 localhost/phpmyadmin을 엽니 다. phpmyadmin 디렉토리 내에서 인덱스를 엽니 다.

여러 웹 프로젝트를 경우 그들은 동일한 절차를 통해 사용할 수 있습니다 : localhost/webapp1또는 localhost/webapp1/index.html등

시스템에서 사용 가능한 다른 주소로의 변환은 가상 호스트, DNS 서버 등을 통해 이루어집니다. URL은 웹앱의 루트로 URL을 변환 / 연결합니다.

이것을하기 위해:

  • 주석 LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so에/usr/local/etc/httpd/httpd.conf
  • 포함 /usr/local/etc/httpd/extra/httpd-vhosts.conf
  • 편집하다 /usr/local/etc/httpd/extra/httpd-vhosts.conf

가상 호스트를 구성 할 때 문서 루트를 풀면 가장 먼저 문서 루트를 다시 추가하거나 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>

웹 앱의 ServerName은 사용자가 선택해야합니다. 호스트 파일에 추가하고 /etc/hosts선호하는 DNS 서버를 사용해야합니다. OSX 서버는 DNS 기능을 잃어 버리기 때문에 dnsmasq (단순) 또는 더 나은 BIND (전체 기능)를 살펴 봐야합니다. 이 프로그램은 컴퓨터의 URL을 확인합니다.

특정 지역에서는 문제가 발생할 수 있습니다.

  • Apache가 사용되는 경우 : Apple 버전이 사용됩니까? 어느 것? 시스템 또는 macOS 서버? macOS 서버가 설치되어있는 경우 웹 서버 부분을 비활성화하십시오. 다음 버전의 macOS로 업그레이드하기로 결정한 경우 올해 어쨌든 풀릴 것입니다. 어쨌든 훨씬 더 교육적인 모든 것을 수동으로 구성하는 것이 좋습니다!
  • DNS 설정
  • 권한 !!!!!!!! 올바르게 설정되지 않은 경우 404가 표시됩니다.
  • 구성을 변경 한 후 웹 서버를 다시 시작하십시오.

@SEJU 감사합니다. 이전 제안 (DocumentRoot 내에 phpmyadmin이 있음)을 사용하면 어떻게 앱에 액세스 할 수 있습니까?
— zalyahya

모든 것이 올바르게 설정되어있는 경우 로컬 호스트는 당신의 DocumentRoot와 모든 것을 의미하기 때문에 당신은 당신의 DocumentRoot에서 시작한 후 상대적 위치로, '로컬 호스트 / phpMyAdmin에'를 통해 방문 할 수 있어야한다
— SEJU

내가 (이전에 시도한) 이것을 따라 가면, 문제는 내가 방문 할 때 localhost/Meetings(내 응용 프로그램 인 경우) 디렉토리 만 볼 수 있으며 localhost/Meetings/public로드 방문 index.php이 올바른 습관처럼 보이지 않는다는 것입니다.
— zalyahya

이것이 가상 호스트, DNS 매핑을 통한 이름 라우팅을 구성하지 않고 수행되는 방법입니다. 개발 시스템에서 특정 URL을 사용하려면 이름 라우팅을 구성하십시오.
— SEJU

문서 루트는이어야합니다 /Users/zaina-alyahya/Sites. 그 안에 모든 프로젝트 디렉토리를 배치하고 가상 호스트, DNS 매핑을 통해이를 해결합니다.
— SEJU
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.