마 젠토 2 : 500 내부 서버 오류


10

아래에서 Magento dev 문서를 따랐습니다.

새 .html 템플리트를 추가 한 후 편집하면 다음을 수행 할 때까지 변경 사항이 적용되지 않습니다. pub / static / frontend 및 var / view_preprocessing 디렉토리의 모든 파일을 삭제 한 후 페이지를 다시로드하십시오. CLI에서 파일을 수동으로 삭제하거나 grunt clean : 명령을 실행할 수 있습니다. Magento에서 Grunt 사용에 대한 자세한 내용은 Grunt 설치 및 구성을 참조하십시오.

그러나 이제 htaccess를 통해 설정된 개발자 모드에서 사이트 및 관리자 URL에 내부 서버 오류 500이 발생합니다. 지워진 파일을 렌더링 할 때 캐싱 문제입니까?


2
오류 로그를 확인하십시오.
MagenX

내부 서버 (500)는 파일 권한으로 인해 온다. 폴더에 755를, 파일에 644를 제공
Alam Zaib

답변:


12

개발자 모드에서는 요청시 파일을 찾을 수 없을 때 파일이 자동으로 생성됩니다. 따라서 이것은 문제가되지 않습니다.

500 오류가 발생하면 가장 먼저 웹 서버 오류 로그를 검색해야합니다.

아파치에서 실행할 때 주로 다음 두 위치 중 하나에서 찾을 수 있습니다.

/ var / log / httpd /-> centos, archlinux ...

/ var / log / apache2 /-> 데비안, 우분투 ...


5

Magento 루트에서 다음 명령을 실행하고이 명령을 실행하기 전에 설치 디렉토리에 대한 전체 권한을 부여하십시오.

php bin/magento setup:static-content:deploy -f

2

CentOS 7에서 다음 명령으로 방화벽 설정을 비활성화했습니다.

$ setenforce 0

그리고 그게 다야. 문제가 해결되었습니다. 로 RHEL 7 and CentOS 7, SELinux는 시스템이 더 확보하게하지만 리눅스가 아닌 사람에 대한 도전의 전체를 많이 포즈.


2

솔루션 : 내부 서버 오류 !! 마 젠토 2.2.2 매우 중요! 특히 windows10의 WAMPserver

  1. LoadModule version_module modules / mod_version.so가 httpd.conf에서로드되었는지 확인하십시오.이 버그로 인해 Magento 2.2.2의 내부 서버 오류가 발생하며 다음 설정에 "#"이 있으면 pls는 "#"를 제거합니다.

LoadModule version_module 모듈 /mod_version.so

  1. / pub / 다음과 같이 새 폴더를 만들고 이름을 "정적"으로 지정하십시오. http : // localhost / magento222 / pub / static / "정적"폴더를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 쓰기 가능한지 확인하십시오.

  2. magento222의 기존 mysql 데이터베이스를 삭제하고 깨끗하고 안전한 설치를 위해 새 데이터베이스를 작성하십시오.

PS : Ver. 2.2.2는 안정적인 버전이 아닙니다.


2

.htaccess를 먼저 확인하십시오. 모듈의 가능성이 활성화되지 않았습니다. mod_version 모듈로 인해이 문제에 직면했기 때문에 아파치에서 활성화했기 때문에 작동합니다.

.htaccess 파일을 교체하여 확인할 수도 있고 .htaccess 파일의 문제를 확인하기 위해 이름을 바꿀 수도 있습니다.

감사합니다


2
.htaccess 파일을 교체하고 문제를 해결해 주셔서 감사합니다
Sagar Dobariya

1
  1. 파일 권한이 잘못되었을 수도 있습니다.
  2. CHMOD해야합니다 "user":"group" "magento install DIR"

1

나는 또한 아침에 같은 상황을 겪었지만 @david 답변 덕분에.

아파치의 로그 디렉토리에 대한 약간의 연구 끝에, 아파치가 app / etc / 폴더 를 읽을 권한이 없다는 것을 알게되었습니다 .

따라서 권한을 부여하면 모든 것이 잘 작동합니다.


1
경로를 알려주십시오.
jafar pinjar

Linux 환경에있는 경우 일반적으로 / var / log / apache2 또는 / var / log / httpd /입니다.
Deepanshu Jain

1

제 경우에는 소유권 문제 때문입니다. 나는 우분투 os를 사용하고 있었으므로 다음 명령을 사용하여 소유권을 수정했습니다.

sudo useradd magento

이제이 magento 사용자를 웹 서버의 사용자 그룹에 연관 시키십시오. 우분투에서는 기본적으로 www-data입니다.

sudo usermod -g www-data magento

이제 터미널에서 Magento 프로젝트 디렉토리를 탐색하고 다음 명령을 실행하십시오.

sudo find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; sudo find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; sudo chown -R magento:www-data . sudo chmod u+x bin/magento

이러한 명령이 성공적으로 실행되면 magento 사용자는 Magento 설정에 필요한 모든 권한을 갖습니다.

다음 명령으로 아파치 서버를 다시 시작하십시오.

sudo systemctl restart apache2


귀하의 코드는 내 publiv_html 폴더와 내부의 소유권을 잃어 버렸습니다. 문제가있는 사람은이 명령을 실행하여 노래를 되돌려 야합니다 cat /etc/trueuserdomains | awk '{print $2}' . > chown $ i.mail / home / $ i / etc -R; > chown $ i.nobody / home / $ i / public_html; > chmod 750 / home / $ i / public_html; > 완료;
The Dead Guy

@ TheDeadGuy, 너무 오래된 의견이었습니다. 나는 그것을 사과했다. 이제 답변을 편집했습니다. 이걸 사용해보십시오.
Mukesh Ojha

당신은 용서;)
죽은 사람


0

Magento 2.2.4를 사용중인 경우. 그런 다음 먼저 Apache 로그 디렉토리로 이동하여

[Wed May 30 00:58:17.857269 2018] [core:alert] [pid 7184:tid 1244] [client 127.0.0.1:65528] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:58:42.568180 2018] [core:alert] [pid 7184:tid 1248] [client 127.0.0.1:49165] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:59:01.667499 2018] [core:alert] [pid 7184:tid 1252] [client 127.0.0.1:49169] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:04.655715 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49174] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:35.151803 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49201] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration

로그에 따르면 주요 문제는 .htaccess 파일입니다. 정확한 이유는 모르지만 다음 코드는 .htaccess 파일에서 제거됩니다.

파일 태그 코드를 제거하십시오.

<Files composer.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files composer.lock>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .gitignore>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .php_cs.dist>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .travis.yml>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files CHANGELOG.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files COPYING.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files Gruntfile.js>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE_AFL.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files nginx.conf.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files package.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files php.ini.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files README.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files auth.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files magento_umask>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>

참고 : 나는 미래에 문제가 있을지 모른다. 그러나 그것은 나를 도와줍니다.


0

한 시간 동안 어려움을 겪고 프록시 설정을 제거한 후 문제가 해결되었습니다. 이 문제에 직면 한 사람은 프록시 설정을 확인하십시오.



0

매우 복잡한 문제입니다.

이에 대한 많은 이유가 발생할 수 있습니다. 무작위로 진행하는 것보다 문제를 디버그하십시오.

apache2를 사용하여 / var / log / apache2로 이동하여 error.log를 발견하면 다른 곳에서 이것이 일어나는 이유를 찾을 수 있습니다. 그리고 인터넷을 통한 검색으로 해결했습니다.

가능한 문제 :

  • 기존 사이트에서 파일 및 데이터베이스를 복사하고 새 서버에 직접 배치하면 일부 공용성 문제가 발생할 수 있습니다. 이로 인해 Freash 사본을 업로드하고 설치하려고하면 누락 된 것이 발견됩니다.
  • 새로운 Magento 버전에는 generated 라는 특수 폴더 있습니다. 반드시 쓰기 권한이어야합니다.
  • 또 다른 주요 이유는 전체 파일 권한입니다. var, generated, vendor, app / etc, pub / media & pub / static 에 올바른 쓰기 액세스 권한 이 있는지 확인하십시오 .
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.