티스토리 뷰


데이터베이스 이전

기존 CentOS 서버에서 새로운 Ubuntu 서버로 DB 데이터를 이전한다. mysqldump 명령어를 사용해서 sql 파일을 생성 후 새로운 서버에 적용한다. 자세한 내용은 제타위키의 '미디어위키 이전'을 참고하자

제타위키 - 미디어위키 이전

CentOS $ mysqldump -uroot -p --databases cukwiki > cukwiki.sql
Ubuntu $ mysql -uroot -p cukwiki < cukwiki.sql


MediaWiki PHP 파일 이전

그냥 기존 서버에서 통째로 tar로 묶은 다음 이전할 서버에서 tar를 푸는 방식을 사용할거다.

CentOS $ tar -cvf /home/cukwiki/public_html/cukwiki.tar /home/cukwiki/public_html/*

이전할 서버에서 wget 명령어로 tar를 받아오자

Ubuntu $ wget http://192.168.0.28/cukwiki.tar -P /home/official/src

tar 압축해제. 이전에 phpmyadmin을 압축해제한 곳에 cukwiki라는 디렉토리를 만든다.

Ubuntu $ tar -xvf /home/official/src/cukwiki.tar -C /home/official/dir/
Ubuntu $ mv /home/official/dir/public_html /home/official/dir/cukwiki
Ubuntu $ ln -s  /home/official/dir/cukwiki /home/official/cukwiki


apache2 설정 파일에서의 VirtualHost 설정

나는 구매한 도메인이 있으므로 VirtualHost로 접속 경로를 관리할 것이다. 미디어위키, redmine, phpmyadmin 모두 virtualHost로 관리할 생각이다.

우분투 apache2에서는 /etc/apache2/sites-available 디렉토리와 sites-enabled 에서 관리한다. 실제로 VirtualHost로 등록하기 위해서는 sites-enabled에 심볼릭 링크 파일을 등록하고 Apache2 restart를 하면 된다.


apache2 설정 파일에서의 VirtualHost 설정

Default VirtualHost 삭제

Ubuntu $  sudo rm /etc/apache2/sites-enabled/000-default.conf

미디어 위키를 기본 VirtualHost 등록

Ubuntu $  sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-mediawiki.conf
Ubuntu $  sudo ln -s /etc/apache2/sites-available/001-mediawiki.conf /etc/apache2/sites-enabled/001-mediawiki.conf

vi로 virtualHost conf 파일 변경

Ubuntu $  sudo vi /etc/apache2/sites-available/001-mediawiki.conf

001-mediawiki.conf 파일을 열어 ServerAdmin에는 관리자 메일, DocumentRoot 에는 미디어위키 디렉토리 위치, ServerName은 도메인을 설정해주자.

ServerAdmin uyu423@youremail.com
DocumentRoot /home/official/cukwiki
ServerName yourdomain.co.kr

추가로 VirtualHost 구문 안에 Document 구문도 설정해 주자.

<Directory /home/official/cukwiki>
        Options FollowSymLinks MultiViews
        AllowOverride All
</Directory>

아파치 재시작

Ubuntu $ service apache2 restart

만약 접속에 문제가 생기거나 DB 에러가 난다면 mediawiki 디렉토리의 LocalSettings.php 를 체크해보자.

도메인을 사용할 경우 도메인을 구매한 업체의 관리 페이지에서 추가로 도메인과 IP를 찍어줘야 할 수도 있다.

앞으로 phpMyAdmin과 Redmine도 Virtualhost로 설정을 잡을 것이다. 그런데 VirtualHost를 사용하면 사용하면 이전 포스트에서 설정 했던 phpymadmin은 접속이 안된다.


추가 : phpmyadmin의 VirtualHost 설정

Ubuntu $  sudo cp /etc/apache2/sites-available/001-mediawiki.conf /etc/apache2/sites-available/002-phpmyadmin.conf
Ubuntu $  sudo ln -s /etc/apache2/sites-available/002-phpmyadmin.conf /etc/apache2/sites-enabled/002-phpmyadmin.conf
$ sudo vi /etc/apache2/sites-enabled/002-phpmyadmin.conf
ServerAdmin uyu423@youremail.com
DocumentRoot /home/official/phpmyadmin
ServerName phpmyadmin.yourdomain.co.kr
<Directory /home/official/phpmyadmin>
        Options FollowSymLinks MultiViews
        AllowOverride All
</Directory>


프로필사진

Yowu (Yu Yongwoo)

백엔드 개발 정점을 꿈꾸는 흔한 개발자입니다
우분투 데스크탑 개발 환경을 매우 선호합니다
최근에는 vscode에 vim 모드 올려서 쓰고 있습니다
개발용 키보드는 역시 해피해킹 프로2 무각입니다
락 밴드에서 드럼을 꽤나 오래 쳤었습니다