Magento 2: 500 Galat Server Internal

10

Saya mengikuti dokumen dev Magento di bawah ini:

Jika Anda menambahkan templat .html baru, dan kemudian mengeditnya, perubahan tidak akan berlaku hingga Anda melakukan hal berikut: hapus semua file di pub / static / frontend dan direktori var / view_preprocessing, kemudian muat ulang halaman. Anda dapat menghapus file secara manual atau menjalankan perintah grunt clean: di CLI. Untuk detail tentang menggunakan Grunt di Magento lihat Menginstal dan mengonfigurasi Grunt.

Namun sekarang dalam mode pengembang yang diatur melalui htaccess saya mendapatkan Internal Server Error 500 di seluruh situs dan admin url. Apakah itu masalah caching jika mencari file yang dibersihkan untuk diurai?

Matthew McLennan
sumber
2
periksa log kesalahan Anda.
MagenX
server internal 500 datang karena izin file, hanya memberikan 755 ke folder dan 644 ke file
Alam Zaib

Jawaban:

12

dalam mode pengembang file secara otomatis dihasilkan ketika diminta dan tidak ditemukan. Jadi ini seharusnya tidak menjadi masalah.

Ketika menghadapi kesalahan 500 hal pertama yang harus Anda lakukan adalah mencari log kesalahan server web Anda.

Saat berjalan pada apache, sebagian besar dapat ditemukan di salah satu dari 2 lokasi ini:

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

/ var / log / apache2 / -> debian, ubuntu ...

David Verholen
sumber
5

Cobalah untuk menjalankan perintah berikut di root Magento dan sebelum menjalankan perintah ini berikan izin penuh ke direktori instalasi

php bin/magento setup:static-content:deploy -f
Gaurav Patel
sumber
2

Pada CentOS 7, saya menonaktifkan pengaturan firewall dengan perintah berikut:

$ setenforce 0

dan itu saja. Masalah terselesaikan. dengan RHEL 7 and CentOS 7, SELinux membuat sistem lebih aman tetapi menimbulkan banyak tantangan bagi orang-orang Non-Linux.

Rajveer
sumber
2

Solusi: Kesalahan Server Internal !! Magento 2.2.2 Sangat Penting !! terutama untuk WAMPserver di windows10

  1. Harap pastikan bahwa LoadModule version_module modules / mod_version.so diambil dari httpd.conf, Bug ini menyebabkan Galat Server Internal Magento 2.2.2 dan jika pengaturan berikut mendapat "#", mohon hapus "#"

LoadModule version_module modules / mod_version.so

  1. buat folder baru dan beri nama "statis" setelah / pub / terlihat seperti ini: http: // localhost / magento222 / pub / static / klik kanan folder "statis" dan klik properti untuk memastikan apakah itu dapat ditulis.

  2. hapus database mysql lama Anda untuk magento222 dan buat yang baru untuk membuat instalasi yang bersih dan aman.

PS: Ver. 2.2.2 bukan versi stabil.

Simon Chang
sumber
2

Silakan periksa .htaccess terlebih dahulu. Kemungkinan modul tidak diaktifkan. Karena saya menghadapi masalah ini karena modul mod_version jadi saya mengaktifkannya dari apache dan sekarang berfungsi.

Anda juga dapat memeriksa dengan mengganti file .htaccess Anda atau mengganti namanya untuk mengonfirmasi masalah file .htaccess.

Terima kasih

Savoo
sumber
2
saya telah mengganti file .htaccess dan menyelesaikan masalah terima kasih
Sagar Dobariya
1
  1. Bisa juga karena izin file yang salah.
  2. Pastikan bahwa Anda CHMOD untuk "user":"group" "magento install DIR"
Runehm
sumber
1

Saya juga menemukan situasi yang sama di pagi hari tetapi berkat jawaban @vid.

Setelah sedikit riset direktori log Apache, saya jadi tahu tentang apache itu yang tidak memiliki izin untuk membaca app / etc / folder.

Jadi, setelah memberikan izin semuanya bekerja dengan baik.

Deepanshu Jain
sumber
1
Tolong beritahu saya jalannya.
jafar pinjar
Jika Anda berada di lingkungan Linux maka biasanya / var / log / apache2 atau / var / log / httpd /
Deepanshu Jain
1

Dalam kasus saya, itu karena masalah kepemilikan. Saya menggunakan os ubuntu jadi saya menggunakan perintah berikut untuk memperbaiki kepemilikan.

sudo useradd magento

Sekarang kaitkan pengguna magento ini dengan grup pengguna server web. Di ubuntu, ini adalah www-data default

sudo usermod -g www-data magento

Sekarang navigasikan direktori proyek Magento di terminal dan jalankan perintah berikut.

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

Setelah perintah-perintah ini berjalan dengan sukses maka pengguna Magento memiliki semua izin yang diperlukan apa pun yang dibutuhkan pengaturan Magento.

Mulai ulang server apache dengan perintah berikut

sudo systemctl restart apache2

Mukesh Ojha
sumber
kode Anda membuat saya kehilangan kepemilikan folder publiv_html saya dan di dalamnya, siapa pun yang memiliki masalah harus menjalankan perintah ini untuk mengembalikan chanes: untuk i in cat /etc/trueuserdomains | awk '{print $2}' > do> chown $ i. $ i / home / $ i -R; > chown $ i.mail / home / $ i / etc -R; > chown $ i.nobody / home / $ i / public_html; > chmod 750 / home / $ i / public_html; > selesai;
The Dead Guy
@TheDeadGuy, itu komentar yang terlalu tua. Saya minta maaf untuk itu. Sekarang saya telah mengedit jawaban saya, silakan coba dengan ini.
Mukesh Ojha
Anda dimaafkan;)
The Dead Guy
0

Jika Anda menggunakan Magento 2.2.4. Lalu pertama pergi ke direktori log Apache dan

[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

Menurut log, masalah utama adalah file .htaccess. Saya tidak tahu alasan pasti tetapi menghapus kode berikut dari file .htaccess berfungsi.

Hapus kode tag file.

<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>

Catatan: Saya tidak tahu mungkin ada masalah di masa depan atau tidak. Tapi itu membantu saya.

Shuvankar Paul
sumber
0

Berjuang selama satu jam dan akhirnya masalah terselesaikan setelah menghapus pengaturan proxy. Siapa pun yang menghadapi masalah ini, periksa pengaturan proxy Anda.

L-Board
sumber
0

Diselesaikan dengan memberikan izin file yang tepat ke folder root magento

Neethu Mohandas
sumber
0

Ini adalah masalah yang sangat canggih.

Banyak kemungkinan alasan bisa terjadi untuk ini. Lebih baik daripada pergi secara acak, debug masalahnya.

jika Anda menggunakan apache2 untuk pergi ke / var / log / apache2 dan Anda akan menemukan error.log, di sana Anda akan menemukan alasan spesifik mengapa ini terjadi. Dan menyelesaikannya dengan pencarian melalui internet.

Kemungkinan Masalah:

  • Jika Anda menyalin file dan database dari situs yang ada dan menempatkan directoly di server baru maka mungkin ada masalah copatibilty, untuk ini mengunggah salinan freash dan mencoba menginstalnya, Anda akan menemukan apa yang hilang
  • Di versi Magento baru, ada folder khusus yang disebut dihasilkan . Itu harus izin tertulis.
  • Alasan utama lainnya adalah izin file secara keseluruhan. Pastikan var, generate, vendor, app / etc, pub / media & pub / static memiliki akses tulis yang tepat.
Shuvankar Paul
sumber