MediaWiki 백업/복구
백업
MediaWiki를 백업 할 때는 데이터베이스와 데이터 파일들, 설정 파일들을 백업하면 된다.
데이터베이스 백업
mysqldump
를 이용해 파일로 백업한다. sql
파일로만 백업해도 되는데, 만약을 위해 xml
로도 백업하는 것을 mediawiki에서 권장한다.
mysqldump --user=$wgDBuser --password=$wgDBpassword $wgDBname > <filename>.sql
각각은 미디어 위키의 DB에 대한 계정, 비밀번호, DB 이름으로 읽기 쉽게 미디어위키 디렉토리의 LocalSettings.php
파일의 해당 변수값을 사용하면 된다.
xml
로 저장을 하려면 --xml 옵션을 붙여 저장하면 된다.
mysqldump
는 stdout
으로 출력하므로 파일로 redirection 해 백업한다.
데이터 파일 및 설정 파일 백업
미디어위키 디렉토리 내부에 저장되어 있는 파일들을 따로 압축해야 한다. 설치 후 별도로 수정하거나 추가된 파일들을 모두 백업하면 된다고 생각하면 된다.
필수적 백업 사항
작성한 글 관련해서는 이미지와 첨부 파일들이 images
디렉토리에 저장되어 있고, 위키 설정은 LocalSettings.php
파일에 저장되어 있다. 이 둘은 반드시 백업에 포함되어야 한다.
옵션 백업 사항
별도로 추가한 확장이나 스킨은 각각 extentions
과 skins
디렉토리에 설치 되는데, 이를 따로 백업 해도 되고, 업데이트 시 별도로 설치해도 된다. 각 extenstions나 skins에서 따로 설치한 파일이 있는 경우 해당 파일들은 반드시 백업 해 두어야 한다.
모든게 귀찮다면 디렉토리 통째로 백업해도 된다.
설치/복구
사전 준비
웹서버, 데이터베이스, PHP를 설치해야 하고 옵션으로 기타 php 모듈들과 git, 이미지 처리 엔진 등을 설치해야 한다. nginx
, mariadb
를 사용할 때 armbian 기준으로는 다음 명령으로 설치할 수 있다. nginx
를 사용할 때는 php-fpm
을 반드시 설치해야 하는 것 같다.
sudo apt install nginx mariadb-server php php-mysql php-xml php-mbstring php-apcu php-intl php-gd php-cli php-curl git php-bcmath php-fpm imagemagick inkscape composer
데이터베이스 설정
루트 계정을 생성/암호 설정을 하고 DB를 설정/생성한 뒤 사용자 계정을 추가한다.
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE <dbname>;
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON <dbname>.* TO '<username>'@'localhost' WITH GRANT OPTION;
QUIT;
sudo systemctl restart mariadb
위 <dbname>
, <username>
, <password>
는 추후 LocalSettings.php
파일의 $wgDBname
, $wgDBuser
, $wgDBpassword
변수에 할당해 주면 된다.
기존 백업한 sql
파일로부터 복원한다면 다음 명령을 사용한다.
mysql -u $wgDBuser -p $wgDBname < <filename>
웹서버, PHP 설정
nginx
- 사용 환경에 맞게
/etc/nginx/nginx.conf
파일을 수정한다. /etc/nginx/sites-available
디렉토리 내에 새 서버 파일을 생성한다.- 웹서버 포트, 서버 이름, 서버 파일 위치와 접근성을 설정한다.
/etc/nginx/sites-enabled
디렉토리 내에 앞서 생성한 서버 파일의 링크를 만들어 둔다.
php-fpm
/etc/php/<version>/fpm/php.ini
파일을 사용 목적에 맞게 설정한다.
설치
mediawiki 홈페이지에서 다운받아 웹서버 설정 파일에 지정한 곳에 압축을 해제하면 된다.
이후 LocalSettings.php
파일에서 미디어 위키 설정을 하면 된다. 기존 백업해 둔 파일이 있는 경우 images
디렉토리와 LocalSettings.php
파일을 덮어 쓴다.
확장 및 스킨
확장 및 스킨은 미디어위키 설치 디렉토리에서 composer
를 이용해 설치하거나, 각 디렉토리(extenstions
, skins
)에 직접 압축을 풀어 설치할 수 있다. 설치한 확장/스킨은 LocalSettings.php
파일에 등록하고 필요한 경우 추가 설정을 한 뒤 사용할 수 있다. 스킨의 layout처럼 별도 설정한 경우 사전에 따로 백업해 두어야 하고, 복원시 해당 디렉토리에 넣어 주면 된다.
개인적으로 사용 중인 확장
- Bootstrap
- BetaFeatuers
- DarkMode
- Popups
개인적으로 사용 중인 스킨
- chameleon
layouts/private.xml
별도로 사용 중
마무리
미디어 위키 설치 디렉토리 내 모든 파일 소유권을 www-data:www-data
로 변경하고, 미디어위키 디렉토리의 권한을 g+w
로 변경한다.
이후 관련 서비스를 재시작하고 접속 해 보면 미디어위키가 뜬다. 복원한 경우 기존과 동일하게 뜬 것을 확인할 수 있다.
sudo systemctl restart php<version>-fpm
sudo systemctl restart nginx
댓글 없음:
댓글 쓰기