본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
도움말
최근 바뀜
게임 목록
임의의 게임으로
Top 20
청사진
커뮤니티
오락실
토론란
발전소
추천 게임
게임제작도움방
자매 프로젝트
리버티책
오사인덱스
진실위키
큰숲백과
위키연합회의장
연합회의장
사이트 개발 서버
개발 서버
리버티게임
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
리버티게임:관리자 가이드/백엔드 관리 가이드 문서 원본 보기
프로젝트 문서
토론
한국어
읽기
원본 보기
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
원본 보기
역사 보기
새로 고침
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보
축약된 URL 얻기
보이기
사이드바로 이동
숨기기
←
리버티게임:관리자 가이드/백엔드 관리 가이드
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
이 문서는
관리자
만 편집할 수 있도록 보호되어 있어, 편집을 시도할 수 없습니다.
이 문서에 대한 의견은
토론 문서
에 적어주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
리버티게임이 새로운 독립 서버로 이주할 때 DB를 통째로 옮기는 것 외에 XML 내보내기 및 가져오기로 문서 파일을 옮겨야 할 상황이 올 수 있습니다. 이 문서는 그런 상황에서 서버 개발자가 해야 하는 작업을 다룹니다. [https://www.mediawiki.org/wiki/Manual:Moving_a_wiki 미디어위키 공식 서버 이주 방법]을 풀어쓰면 이렇습니다. # 기존 서버에서 먼저 [[특수:버전]]을 방문해 현 사이트가 어떤 확장기능을 쓰고 있는지 파악해야 합니다. ## 이때 미디어위키에 기본 포함된 확장기능들은 제외합니다. # 확장 기능을 설정하고 각 확장 기능마다 필요한 설정을 합니다. ## 여기에는 기본적으로 어떤 유저에게도 자신과 관련된 권한을 주지 않는 확장 기능의 경우가 해당합니다. Interwiki 확장 기능과 CheckUser, Gadgets 등이 대표적입니다. ## Gadgets의 경우 인터페이스 관리자에게 수동으로 편집 권한을 주어야 합니다. ## UserFunctions, MyVariables, ParserFunctions는 [[리버티게임: 특수 함수]]와 관련된 확장기능이므로 별도의 세팅을 추가로 해야 해당 문서에 명시된 대로 작동합니다. # 이제 서버에 SSH로 접속한 다음, MySQL로 위키의 데이터베이스에 접근해 계정 정보를 sql 파일로 빼냅니다. # 미디어위키가 설치된 경로에서 maintenance를 찾아 [https://www.mediawiki.org/wiki/Manual:DumpBackup.php DumpBackup.php]로 문서 덤프를 빼냅니다. ## --filter=namespace:xx 옵션으로 xx 부분에 이름공간 ID를 넣어 이름공간 별로 덤프를 빼낼 수 있습니다. # 서버에 업로드된 멀티미디어 파일(이미지, 음악 파일 같은 것들)은 미디어위키 설치 경로의 images 폴더를 그냥 압축해버리면 되나, 그 전에 16진수로 0~F까지의 숫자명으로 된 폴더를 제외한 폴더는 제거하고 압축해야 합니다. # 새 서버를 먼저 연 뒤 LocalSettings.php를 위키의 초기 세팅 웹 페이지가 하라는 대로 하면서(단 확장 기능 설정까지 추가로 하는 경로로 해야 합니다) 받는 작업을 합니다. DB명은 기존 서버와 동일하게 설정하는 걸 권장하지만 반드시 DB명이 같아야 할 필요는 없어서 새 서버에 CUI로 DB를 옮길 때 파라미터로 어느 DB에 옮길지 추가로 명시한다면 상관 없습니다. # SQL 서버에 계정 정보 등이 든 sql 파일을 통째로 쿼리로 보냅니다. # [https://www.mediawiki.org/wiki/Manual:DumpBackup.php DumpBackup.php]를 사용하되, '''--no-updates 옵션을 꼭 주고''' 문서를 이식해야 합니다. ## 해당 옵션을 주지 않고 덤프 이식을 하면 링크 테이블 갱신이 병행되어 RAM 부족으로 서버가 강제 종료될 수 있습니다. # images 폴더의 압축본을 새 폴더에 푼다음, [https://www.mediawiki.org/wiki/Manual:ImportImages.php importImages.php]로 가져오되, --search-recursively 옵션을 줍니다. # 이제 [https://www.mediawiki.org/wiki/Manual:Rebuildtextindex.php rebuildtextindex.php]와 [https://www.mediawiki.org/wiki/Manual:Rebuildrecentchanges.php rebuildrecentchanges.php]를 실행합니다. # 그 다음 [https://www.mediawiki.org/wiki/Manual:RefreshLinks.php refreshLinks.php]를 실행하되 반드시 다음과 같이 실행합니다.<br> > php refreshLinks.php --e (x+1500) -- x # 여기서 x는 문서 ID로, 위 명령어는 1500개의 문서를 대상으로 문서 ID x부터 x+1500까지 링크 테이블을 갱신합니다. '''이 작업은 잘못하면 서버 크래시를 낼 정도로 RAM을 엄청나게 소모하기 때문에 반드시 x를 0부터 1500개 단위로 늘리면서 반복적으로 실행'''하여야 합니다. 이제 사용자 그룹(user, autoconfirmed, sysop, bureaucrat 등)에 기능 권한을 적절히 추가로 세팅하면 위키 이주가 완료됩니다. 그 이후에는 common.js나 가젯 등에 있는 외부 연결 URL 등을 구 서버로 연결되는 것을 새 서버로 연결되도록 수정하면 됩니다. 그 외에 알아두어야 하는 설정은 다음과 같습니다 * 이메일 인증을 위해 구글의 Gmail SMTP를 사용하려면 구글 계정에 앱 비밀번호를 추가한 다음 그 계정을 사용해 Gmail 서비스가 이메일 서버로 쓸 수 있습니다. 서버 공격의 피해 규모를 감안하여 앱 비밀번호를 가진 계정으로 개인적으로 사용하는 계정을 설정하지 않는 것을 강력히 권장합니다. * 하위 문서 단축 링크(‘/’으로 시작하는 내부 링크)는 일반 이름공간에서는 기본적으로 작동하지 않으므로 <code>$wgNamespacesWithSubpages[NS_MAIN] = true;</code>를 LocalSettings.php에 넣어줍시다. * 엔진을 업데이트할 때에를 대비해 LocalSettings.php 내의 업그레이드 키는 백업해둡시다.
리버티게임:관리자 가이드/백엔드 관리 가이드
문서로 돌아갑니다.