MediaWiki 서버 이전 체크리스트 (nginx + PHP-FPM + DB)

MediaWiki(위키)를 다른 서버로 옮길 때 필요한 파일/DB/nginx/PHP/TLS 체크리스트

분야: DevOps/인프라 시리즈: 백업/복구 mediawikinginxphp-fpmmigrationbackup

MediaWiki는 “코드 + DB + 업로드 파일(images)” 3가지를 동시에 챙겨야 정상 이전됩니다.

이 문서는 nginx + PHP-FPM + MySQL/MariaDB 형태의 위키를 다른 서버로 옮길 때 체크리스트를 정리합니다.

예시는 모두 익명화되어 있으며, 비밀번호/시크릿은 placeholder로 치환합니다.

관련 용어: rsync, mysqldump, PHP-FPM

0) 이전 전에 확인할 것

  • 업로드 디렉토리(images/) 용량(디스크 여유 확인)
  • PHP 버전/확장 모듈(현재와 동일한 버전 권장)
  • DB 덤프 소요 시간(대용량이면 --single-transaction)
  • DNS TTL 낮추기(컷오버 다운타임 최소화)

1) 파일 복사(코드 + 업로드)

필수:

  • MediaWiki 루트(extensions/skins 포함)
  • images/ 업로드

캐시 디렉토리는 보통 제외해도 됩니다(재생성 가능).

rsync -avz --delete \
  --exclude 'cache/' --exclude '.cache/' \
  /var/www/wiki/html/ user@target:/srv/wiki/

2) DB 덤프/복구

덤프

mysqldump --single-transaction --quick -u wiki_user -p wiki_db > wiki.sql

복구

mysql -u wiki_user -p wiki_db < wiki.sql

3) LocalSettings.php(또는 설정 파일) 갱신

  • DB host/credentials 변경
  • $wgServer, $wgCanonicalServer 갱신
  • 가능하면 DB 비밀번호는 이전 후 로테이션

4) nginx + PHP-FPM 설정

기본 패턴(개념):

  • try_files로 존재하면 정적
  • 없으면 index.php로 라우팅
  • .phpfastcgi_pass로 전달

관련 레시피: nginx: PHP-FPM 기본 location 블록

5) TLS(HTTPS)

sudo certbot renew --dry-run

서버를 바꾸는 경우에는 새 서버에서 certbot을 다시 발급하는 방식이 보통 안전합니다.

6) 검증(이전 후)

  • 메인 페이지 렌더링
  • 이미지 업로드/다운로드
  • API 호출 예: api.php?action=query&meta=siteinfo
  • nginx/PHP-FPM 로그 확인

7) 흔한 장애

  • 이미지가 404 → images/ 복사/권한 확인
  • PHP 502 → php-fpm 소켓/버전 확인
  • 확장 로드 실패 → vendor/composer install 필요

관련 가이드