기존에 qmail + vpopmail 을 cdb 방식으로 사용하다가 mysql 방식으로 바꿔서 설치해봤다.
특별한 차이는 없고, 계정정보를 mysql db 에 저장하여 사용한다.

그런데, 기존의 계정정보를 mysql 으로 옮기는 방법을 설명한다.
vpopmail 에 관련 명령이 있다. vconvert

vconvert 는 /etc/passwd 의 계정정보(기존 sendmail 방식이나, qmail + checkpasswd 방식) 를 옮길 수도 있고, cdb 방식 , mysql 방식등 서로간의 계정정보를 옮길 수 있다.

-e 는 /etc/passwd  에 해당하는 옵션이다.
-c 는 cdb 방식 , -m 은 mysql 방식(정확히는 sql)이다.

그래서 변환 방식은
vconvert -c -m  또는  vconvert -c -m {도메인명}
방식으로 변환하면 된다. ( FROM -c TO -m 의 순서라고 생각하면 된다.)

이때 변환시 vconvert 가 참조하는 파일은 /var/qmail/users/ 의 cdb 파일을 참조한다.
계정을 옮길때  기존의  ~vpopmail/domains 폴더와  /var/qmail/users 폴더를 백업해놓는다.
이 데이터를 기준으로 변환된다. 새서버 세팅후에 해당 디렉토리를 교체해준다.
위 명령으로 옮기면 된다. 이때 vpopmail.mysql 세팅이 되어 있어야 한다.
바로 mysql 에 연결해서 vpopmail 테이블에 계정정보를 저장하기 때문이다.


한가지 주의할 사항이 있다.
/var/qmail/users 를 옮겨올때,  vpopmail/vchkpw 의 UID/GID 가 동일하다면 상관없지만, 다르다면 바꿔줘야 한다.
+mydomain.com-:mydomain.com:108:107:/home/vpopmail/domains/mydomain.com:-::
108:107 부분을 새 시스템에 맞게 바꿔준다.
바꿔준후에 적용하는 방법은  /var/qmail/bin/qmail-newu  를 실행시켜주면 cdb 파일이 재 설정된다.


주의사항 하나더.
vconvert 하면  control 의 rcpthosts , virtualdomains 등의 설정도 자동갱신해주는 줄 알았는데.
수동으로 넣어줘야 한다. /var/qmail/control 도 같이 백업해 주는 것이 좋겠다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,