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.