이전 MediaWiki 설치(v1.24)를 Debian 10에서 실행되는 최신 버전으로 업데이트하려고 합니다(Debian 패키지로 설치하지 않고 홈 페이지의 아카이브를 사용함). 하지만 데이터베이스를 가져올 수 없습니다. 작동하도록 업데이트합니다. CLI 업데이트 스크립트도 웹 변형도 아닙니다.
CLI 기반 스크립트의 경우 문제는 LocatlSettings.php에 여러 개의 위키가 있다는 것입니다.
<?php
error_reporting( -1 );
ini_set( 'display_errors', 1 );
// Include common settings to all wikis before this line (eg. database configuration)
switch ( $_SERVER['SERVER_NAME'] ) {
case 'wiki.xyz.de':
require_once 'LocalSettings.wiki.xyz.de.php';
break;
case 'wiki.abc.de':
require_once 'LocalSettings.wiki.abc.php';
break;
default:
header( 'HTTP/1.1 404 Not Found' );
echo 'This wiki is not available. Check configuration.';
exit( 0 );
}
보시다시피, 위키를 로드하기 위해 NGINX를 설정할 때 브라우저에 표시되는 오류 메시지를 활성화했습니다(기본적으로 현재 위키의 구성을 사용하고 새 위키 버전의 폴더 경로를 변경하기만 하면 됩니다). 웹사이트에 접속하려고 하면 다음과 같은 오류가 발생합니다.
스크립트를 실행하려면 어떤 케이스를 사용해야 하는지 알려줘야 합니다. "-S wiki.xyz.de"로 실행하면 작동하지만 "잘못된 주소"가 표시됩니다. 포트(예: 8080)를 추가하면 작동하지만 실행 중이라는 메시지만 표시되며 Ctrl+C를 사용하여 중지할 수 있습니다. SSH를 통해 포트를 내 로컬 컴퓨터로 전달한 다음 브라우저에서 localhost:8080을 열 수 있지만 이는 스크립트가 CLI에서 실행되어야 한다는 것을 분명히 알려줍니다.
"-S wiki.xyz.de:8080"을 php에 전달하고 "sudo -u www-data"로 실행하여 네트워크 업데이트 스크립트에 액세스할 수 있습니다(전체 디렉토리는 www-data:www-data의 소유입니다. 예: 이전 설치). 네트워크 업데이트 스크립트가 제대로 작동하는 것 같습니다. 문제는 포트 8080입니다. nginx 구성에 일부 오류가 있어서 최근에 Wordpress를 설치했고 설치 스크립트를 같은 방식으로 실행하려고 했지만 설치할 때마다 실행했습니다. 페이지를 열려고 하면 url.de:8080으로 리디렉션되므로 이 방식으로 네트워크 업데이트 스크립트를 실행하는 것은 비현실적입니다.
내가 무엇을 더 할 수 있는지 모르겠습니다. 남아 있을 수 있는 유일한 것은 페이지의 nginx 구성에 있는 버그일 수 있습니다. 이는 이전 MediaWiki에서는 작동하지만 최신 버전에서는 작동하지 않습니다. 그래서 제가 여러분을 위해 구성을 업로드했습니다. 누군가가 뭔가를 볼 수도 있습니다.파스퇴르 빈