Đã cố gắng sao lưu Magento - hiện ném 500 trang lỗi máy chủ nội bộ


7

Tôi đã thử sao lưu Magento bởi Admin-> System-> Tools và khi tôi nhấp vào System Backup, trang web đã hiển thị cho tôi -

Lỗi máy chủ nội bộ

Máy chủ đã gặp lỗi nội bộ hoặc cấu hình sai và không thể hoàn thành yêu cầu của bạn.

Vui lòng liên hệ với quản trị viên máy chủ, webmaster@dnuvo.com và thông báo cho họ về thời gian xảy ra lỗi và bất cứ điều gì bạn có thể đã làm có thể gây ra lỗi.

Thông tin thêm về lỗi này có thể có sẵn trong nhật ký lỗi máy chủ.

Ngoài ra, đã xảy ra lỗi 500 Máy chủ nội bộ khi cố gắng sử dụng ErrorDocument để xử lý yêu cầu.

Máy chủ Apache tại ***. Com Cổng 80

Bây giờ, mỗi trang đang tải cùng một lỗi.

Xin vui lòng giúp đỡ.


1
cung cấp lỗi xảy ra (kiểm tra nhật ký apache / php của bạn, ví dụ /var/log/apache2/error.log)

Câu trả lời:


8

Lưu ý: Chi tiết hơn về mã Magento gây ra sự cố và cách dọn dẹp tại đây ...

Hệ thống sao lưu Magento trong 1.6 trở lên có một tính năng không may trong đó nó sẽ thay đổi một số quyền truy cập tệp / thư mục nhất định, sau đó có thể vượt qua các biện pháp bảo mật như cài đặt SuExec, SuPHP hoặc cPanel WHM.

Lỗi gốc gây ra trang lỗi 500 sẽ hiển thị trong nhật ký máy chủ. Nhật ký lỗi máy chủ phải có sẵn trong cPanel của bạn hoặc trong thư mục nhật ký trong thư mục tài khoản của bạn. Nếu không, bạn có thể liên hệ với nhà cung cấp dịch vụ lưu trữ của mình để cho bạn biết những lỗi nào cho lỗi 500 đang được ghi lại.

Thông thường, xóa lỗi 500 cũng đơn giản như sử dụng WinSCP để thay đổi quyền. Sự thay đổi tệ hại và ngu ngốc thường là index.phptrong thư mục gốc Magento của bạn được cấp quyền 666 (mọi người có thể đọc và ghi được) thay vì các quyền 644 hoặc 664 không vi phạm kiểm tra bảo mật hệ thống. Ngoài ra kiểm tra một tập tin trong root magento của bạn được gọi maintenance.flagvà xóa nó.

Trong trường hợp xấu nhất, bản sao lưu có thể thay đổi tất cả các quyền của tệp / thư mục và sau đó bạn phải chạy một tập lệnh để thay đổi quyền của thư mục thành 755 và quyền của tệp thành 644.

Trang trợ giúp thương mại để thiết lập quyền truy cập tệp

Cho rằng Magento Một công ty e-Bay Inc. đã cho phép một số trang chấm dứt sự tồn tại trên trang web của họ, chuyển phần thịt của chủ đề ở đây sang bằng chứng liên kết. Đối với Magento 1.5+ như sau:

Dưới đây là cách đặt lại quyền truy cập tệp và thư mục của bạn nếu PHP đang chạy qua FastCGI, suPHP hoặc LSAPI:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage

YMMV tùy thuộc vào nhà cung cấp dịch vụ lưu trữ, các tệp 664 và thư mục 775 CÓ THỂ cần thiết

Nếu PHP đang chạy dưới dạng một mô-đun (DSO), bạn sẽ cần phải làm điều này:

sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;
sudo chmod o+w var app/etc
sudo chmod 550 mage
sudo chmod -R o+w media

Trên trang đó có đề cập đến Công cụ dọn dẹp Magento (miễn là nó vẫn có sẵn) được chạy dưới dạng tập lệnh php. Một số người khuyên bạn nên chạy nó sau mỗi lần sao lưu hệ thống bảng điều khiển Magento Admin.

Tất nhiên, cách xung quanh là phân phối với bản sao lưu hệ thống Magento cho đến khi họ sửa nó và sử dụng bản sao lưu tarball / mysqldump kết hợp như một thao tác được viết theo kịch bản thủ công hoặc để thiết lập một hệ thống khác và sử dụng rsync và thực hiện một kết xuất mã hóa được mã hóa bằng cron. được kéo qua khi sao lưu rsync được chạy.


Khi sử dụng, findbạn có thể tăng tốc quá trình này (do khối lượng tệp) bằng cách sử dụng +thay vì \;- Ví dụ:find . -type f -exec chmod 0644 {} +
tro

<b> Giải pháp 100% </ b> Tôi đã sử dụng sao lưu quản trị viên sau khi sao lưu hiển thị 500 lỗi máy chủ nội bộ. tôi có quyền truy cập root tôi chạy các lệnh tìm. -type f -exec chmod 644 {} \; tìm thấy . -type d -exec chmod 755 {} \; chmod 550 pháp sư
Sourav

2

Nguyên nhân của vấn đề này rất có thể là sự cố về quyền của tệp do các thay đổi trong tệp và thư mục. Một cách rất nhanh chóng và dễ dàng để khắc phục vấn đề này là chạy tập lệnh dọn dẹp Magento. Nếu điều đó không làm việc thì bạn sẽ cần phải thiết lập quyền truy cập tệp theo cách thủ công.

Lưu mã dưới dạng tệp PHP trong thư mục gốc của Magento và chạy.

<?php

## Function to set file permissions to 0644 and folder permissions to 0755

function AllDirChmod( $dir = "./", $dirModes = 0755, $fileModes = 0644 ){
   $d = new RecursiveDirectoryIterator( $dir );
   foreach( new RecursiveIteratorIterator( $d, 1 ) as $path ){
      if( $path->isDir() ) chmod( $path, $dirModes );
      else if( is_file( $path ) ) chmod( $path, $fileModes );
  }
}

## Function to clean out the contents of specified directory

function cleandir($dir) {

    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != '.' && $file != '..' && is_file($dir.'/'.$file)) {
                if (unlink($dir.'/'.$file)) { }
                else { echo $dir . '/' . $file . ' (file) NOT deleted!<br />'; }
            }
            else if ($file != '.' && $file != '..' && is_dir($dir.'/'.$file)) {
                cleandir($dir.'/'.$file);
                if (rmdir($dir.'/'.$file)) { }
                else { echo $dir . '/' . $file . ' (directory) NOT deleted!<br />'; }
            }
        }
        closedir($handle);
    }

}

function isDirEmpty($dir){
     return (($files = @scandir($dir)) && count($files) <= 2);
}

echo "----------------------- CLEANUP START -------------------------<br/>";
$start = (float) array_sum(explode(' ',microtime()));
echo "<br/>*************** SETTING PERMISSIONS ***************<br/>";
echo "Setting all folder permissions to 755<br/>";
echo "Setting all file permissions to 644<br/>";
AllDirChmod( "." );
echo "Setting pear permissions to 550<br/>";
chmod("pear", 550);

echo "<br/>****************** CLEARING CACHE ******************<br/>";

if (file_exists("var/cache")) {
    echo "Clearing var/cache<br/>";
    cleandir("var/cache");
}

if (file_exists("var/session")) {
    echo "Clearing var/session<br/>";
    cleandir("var/session");
}

if (file_exists("var/minifycache")) {
    echo "Clearing var/minifycache<br/>";
    cleandir("var/minifycache");
}

if (file_exists("downloader/pearlib/cache")) {
    echo "Clearing downloader/pearlib/cache<br/>";
    cleandir("downloader/pearlib/cache");
}

if (file_exists("downloader/pearlib/download")) {
    echo "Clearing downloader/pearlib/download<br/>";
    cleandir("downloader/pearlib/download");
}

if (file_exists("downloader/pearlib/pear.ini")) {
    echo "Removing downloader/pearlib/pear.ini<br/>";
    unlink ("downloader/pearlib/pear.ini");
}

echo "<br/>************** CHECKING FOR EXTENSIONS ***********<br/>";
If (!isDirEmpty("app/code/local/")) {
    echo "-= WARNING =- Overrides or extensions exist in the app/code/local folder<br/>";
}
If (!isDirEmpty("app/code/community/")) {
    echo "-= WARNING =- Overrides or extensions exist in the app/code/community folder<br/>";
}
$end = (float) array_sum(explode(' ',microtime()));
echo "<br/>------------------- CLEANUP COMPLETED in:". sprintf("%.4f", ($end-$start))." seconds ------------------<br/>";

Phương pháp thủ công:

Phương pháp thủ công cho phép cài đặt tập tin Magento


1
Vui lòng cung cấp nội dung của pastebin trong câu trả lời vì pastebin có thể sẽ biến mất vào một lúc nào đó.
philwinkle

2

Trong một số trường hợp, bạn không có quyền truy cập (hoặc không có ROOT (sudo)) SSH, vì vậy những gì tôi đã làm là:

Đi đến của bạn cPanel -> File Managervà thay đổi tất cả các tập tin và thư mục 755, sau đó nó sẽ cho phép bạn làm việc.

Sau đó tải xuống Magento cleanup tool, tải nó lên rootthư mục của bạn và truy cập nó từ trình duyệt của bạn. Nó sẽ làm sạch tất cả các hoán vị.

Hy vọng nó sẽ giúp.

Chúc mừng :)


2

Cảm ơn vì sự giúp đỡ. Tôi đã sửa nó một cách dễ dàng bằng FileZilla FTP, tôi chỉ cần chọn thư mục gốc cho magento và thay đổi quyền cho tất cả các tệp và nó đã tự động làm điều đó. Không cần chạy script.

FileZilla cũng có một tùy chọn để tự động thay đổi tất cả các quyền của thư mục.

Hy vọng nó giúp.


-1

Có thể tôi sai nhưng bạn hãy thử nó.

Chỉ cần xóa tệp tin "bảo trì.flag" khỏi thư mục gốc thì trang web của bạn sẽ hoạt động trở lại.

Hy vọng điều này sẽ giúp bạn :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.