본문 바로가기
Linux/TIP

워드프레스, 그누보드로 만든 홈페이지(사이트)의 서버 이전

by aegypius 2020. 1. 20.
728x90
반응형

  대략 1년 전 즈음에 서버를 통째로 옮겨야 하는 상황이 발생했다. A라는 IDC센터에 있던 서버를 B라는 센터로 옮기는 작업이었기 때문에 번거롭지만 사람이 직접 움직여야 했다. 변경되는 ip주소를 먼저 알 수 있다면(실제로 미리 알 수 있었다) 원격접속을 통해서 서버의 고정ip주소와 운영중인 도메인의 네임서버 등도 미리 변경설정 할 수는 있었지만, 무엇보다도 가장 큰 문제는 해당 도메인의 ip주소를 변경신청하면 적용될 때까지 사이트가 접속불능상태가 된다는 것이다. (그래봐야 10분 안팎이긴 하다)

  하지만 예를들어 지금처럼 A 서버에서 운영중인 pius라는 사이트를 B 서버로 옮기는 작업은 사이트가 접속불능상태로 되는 일은 막을 수 있다. 두 서버 모두 정상적으로 운영되고 있다면 말이다.

  우선 A 서버에서 운영중인 pius라는 사이트를 FTP등으로 다운받아서 B 서버에 업로드한다. 그리고 B 서버에서 해당 도메인에 대한 네임서버, 웹서버 등의 설정을 해준다. 마지막으로 해당 도메인을 등록했던 기관에서 도메인 IP주소의 변경신청을 하면 된다. 경험상 도메인주소가 변경되는 것은 신청 후 5분~10분 사이였던 것으로 기억한다. 여기서 조금 문제가 되는 것은 워드프레스나 그누보드와 같이 db와 연동되는 사이트라면 당연히 연동되는 db도 함께 옮겨야 한다는 것이다. 또한 사이트에 연동되어 있는 db의 이름, db의 사용자 계정 및 비밀번호도 알아야 한다. 물론 이러한 db정보를 기억하지 못하더라도 알아낼 방법은 있다.

  워드프레스 사이트의 경우에는 사이트의 홈디렉토리에 있는 wp-config.php를 열어보면 상단에 db정보가  담겨있는 것을 볼 수 있다. 그누보드의 경우는 사이트의 홈디렉토리의 하위에 data라는 디렉토리가 있다. 이 곳에 위치하고 있는 dbconfig.php를 열어보면 상단에 db정보가 있다. 이것을 참고하여 db를 백업하고 다시 리스토어 할 수 있을 것이다.

  그누보드는 잘 모르겠지만 워드프레스는 사이트의 이전을 지원하는 몇가지 플러그인이 존재한다. 하지만 이러한 플러그인을 사용하지 않고 하나하나 손수 작업해야 하는 경우도 있다. 지금의 나처럼...

  db의 백업은 아래와 같이 할 수 있다.

 # mysqldump -u[사용자 계정] -p[비밀번호] [원본 db이름] > [백업 db이름.sql] 

  백업 작업이 완료되었다면 이제 복원을 할 차례이다. 백업한 db의 내용을 이전할 서버로 옮겨놓자.

작업순서는 아래와 같다.

  1. 원본db와 같은 이름의 db를 만든다.
      MariaDB [(none)]>create database [원본db이름];
  2. 원본db의 사용자와 암호를 동일하게 생성한다.
      MariaDB [(none)]>create user [사용자계정]@localhost;
      MariaDB [(none)]>set password for [사용자계정]@localhost=password('[비밀번호]');
  3. 새로 생성한 계정에게 db의 권한을 부여하고, 종료하자.
      MariaDB [(none)]>grant all privileges on [원본db이름].* to [사용자계정]@localhost identified by '[비밀번호]';
      MariaDB [(none)]>flush privileges;
      MariaDB [(none)]>exit;
 4. 백업한 db내용을 새로 만든 db에 복원시키자.

 # mysql -u[사용자 계정] -p[비밀번호] [원본 db이름] < [백업 db이름.sql] 

 결국 A 서버에서 운영중인 pius라는 사이트를 B 서버로 옮기는 작업은, 이전할 사이트의 복사본(db포함)을 B 서버에 설치 한 후 정상적으로 작동되는 것이 확인되면  A 서버의 내용을 삭제하면 그만이다.

728x90
반응형

댓글