메일서버 프로그램인 Nmail(http://passkorea.net)은 PHP의 확장모듈을 몇가지 사용하는데 이중

세가지가 없으면 설치도 되지 않고 만일 PHP버전을 업그레이드 한후에 이 확장모듈들도 버전이

맞지 않으면 사용이 불가능 하게 되는 경우가 있다. 다행히 PHP 확장모듈은 찾아보면 리눅스용은

말할것도 없고 Win32용도 간편하게 구할수 있는데 문제 해결방법을 간단히 소개하겠다.

일단 여기서 나는 PHP 5.1.x 버전을 최근버전(07.06.20기준)인 5.2.x 버전으로 업그레이드 했다.

PHP 업그레이드 후에 아파치 서버 에러로그를 보면 다음과 같은 메시지를 발견할수 있다.

Warning : PHP Startup: mailparse: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=1
PHP    compiled with module API=20060613, debug=0, thread-safety=1
These options need to match


이는 기존에 컴파일된 PHP 확장모듈이 업그레이드된 PHP버전에서 읽어들이지 못해서 생기는

오류이다.

이제 아래 링크에서 Nmail 오류해결을 할수있는 PHP확장모듈을 다운로드 받도록 한다.

PHP 5.2.x 버전 확장모듈 다운로드
(다른이름으로 대상저장)

압축을 풀면 다음과 같은 파일들이 있다.

ioncube_loader_win_5.2.dll(Nmail 설치시 필수PHP확장모듈 PHP 5.2.x 용)
php_mbstring.dll(PHP 5.2.x 버전 확장모듈)
php_mailparse.dll(PHP 5.2.x 버전 확장모듈)


일단 이 파일들을 PHP가 설치된 곳의 ext 디렉토리에 모두 복사한다. 그리고 이제 PHP.ini를 수정

한다. Nmail이 설치된 상태라면 가장 아랫부분에 다음과 같은 부분이 추가되어있는데 수정한다.

(PHP.ini는 설치상태에 따라 Windows 디렉토리나 Windows\system32 혹은 PHP를 설치한

디렉토리에 있다.)

;---------------------------------
;Nmail Auto Config - Begin
extension_dir="PHP가 설치된 디렉토리/ext"
extension=php_mailparse.dll
zend_extension_ts="PHP가 설치된 디렉토리/ext\ioncube_loader_win_5.2.dll"
....(중간생략)
;Nmail Auto Config - End
;---------------------------------


이렇게 수정해준뒤 아파치 서버를 재시작 하고 PHP확장모듈이 제대로 적용됐는지 PHPinfo로 일단

확인해본다.

사용자 삽입 이미지


Mailparse와 mbstring 확장모듈이 정상적으로 로딩됐다.

사용자 삽입 이미지

아랫부분에서 ioncube_loader 모듈이 정상적으로 로딩된것을 확인했다.

이제 Nmail 관리자 화면에 접속하면 에러가 뜨지 않고 잘 작동할 것이다. 그외에 Nmail관련 사항은

http://passkorea.net 에서 찾아볼수 있다.

윈도우에서 PHP를 사용하는 설치가 간편한 웹메일이 있어서 소개를 하려한다. 현재 나도 쓰고있

는중이고 사실 요새 큰업체의 왠만한 메일계정들을 보면 메일서버를 굳이 설치해서 이용할필요는

없지만 한번 사용해보고 싶었다. 작업을 하기전에 물론 아파치서버와 MySQL이 설치되있어야한다.

한마디로 APM이 설치되어있어야한다. 그리고 고정 도메인 주소가 있는것이 좋다.

도메인포워딩된 주소도 이용할수 있으니 IP주소로 메일서버를 구축할 생각 하시진 말고 무료로

도메인 포워딩을 이용할수 있는 http://dnip.net 등을 이용하도록하자.

사용자 삽입 이미지
http://passkorea.net 에 접속하여 Nmail PHP를 다운받도록 한다.

사용자 삽입 이미지
설치를 위해 위와같이 max_allowed_packet 의 사이즈를 16M으로 바꿔준다. 대개 1M로 기본설정

되어있을것이다.(Mysql 의 my.ini파일 수정)

사용자 삽입 이미지

이제 Windows폴더내의 PHP.ini 파일을 수정해야한다. 편집기로 열어서 위의 부분 Nmail을 설치
하므로 sendmail을 사용하지 않을것이기때문에 세미콜론을 sendmail 부분에 넣어준다..아래와
같이.. 물론 APM설치시에 sendmail을 설치하지 않았다면 이부분은 세미콜론만 붙혀주면 된다.

; For Win32 only.
;sendmail_from =webmaster@localhost 

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = "자신이 센드메일을 설치한 경로"

여기까지 했으면 받은 Nmail PHP를 임의의 경로에 압축해제 한다. 뒤에서 가상호스트를 이용해

메일서버 관리자 페이지에 들어가게 설정하려고 하는데 그렇기때문에 왠만하면 루트디렉토리에

설치하기 보다는 htdocs등의 APM이 설치되어있는 폴더내부에 설치하는것을 권장한다.

(디렉토리 이름에 공백이 있으면 안됨.)

사용자 삽입 이미지

설치전에 시작->실행->cmd 로 명령창을 열고 php -v 명령어를 실행해서 php콘솔프로그램이

제대로 작동하는지 확인한다. 위와같은 메시지가 떠도 Mysql접속이 잘 이뤄지지 않는 경우가 있으니

@ECHO OFF
php 설치폴더\php-cgi.exe -q -c php설치폴더\php.ini %1 %2 %3 %4 %5 %6 %7 %8 %9

로 확장자 bat의 php.bat 파일을 만들어 windows폴더에 저장한다.

이렇게 한뒤 다시 php -v 를 입력해보면 위의 사진과 같이 php버전정보가 나타난다.

사용자 삽입 이미지

커맨드창에서 telnet 127.0.0.1 25 명령으로 25번포트(SMTP)포트가 쓰이고 있는지 검사한다.

위의 사진에선 포트에 연결할수 없다고 나오는데 이미 25번 포트와 POP3포트인 110번을 현재 실제

컴퓨터에서 메일서버를 이용하고 있기때문에 나오는 메시지이며 따로 사용하는 메일서버가 없다면

접속가능하다는 메시지를 볼수있을것이다.

사용자 삽입 이미지
다됐으면 nmail_dir_set.bat 파일을 실행해서 경로를 레지스트리에 등록시키고 nmail_install.bat 을

실행해서 설치를 시작한다.

사용자 삽입 이미지

위와 같이 User ID와 자신의 도메인주소를 입력한다.(예:parkdi@example.com)

위에서는 가상머신내에서 주소를 찾지 못해서 나오는 에러이며 원래대로라면 그밑에 나오는

관리자계정,DB계정에서 사용될 비밀번호와 엔메일 세팅시에 사용될 비밀번호를 입력한다.

사용자 삽입 이미지

이화면에서 엔터를 입력하고 phpmyadmin에서 쓰는 mysql root 암호를 입력하면 설치가 이뤄진다.

필자의 경우 PHP모듈때문에 설치가 중단되는데 안될경우 확장모듈 mailparse가 활성화 되있는지

살펴봐야한다. 그리고 필자는 APMsetup 환경에서 설치를 해보고 있는것인데 APMsetup에서는

한번에 설치가 안되는듯 싶으니 참고하길 바란다.

정상적으로 됐다면 저화면 이후엔 건드릴 필요없이 엔터만 간혹 눌러주면 설치가 완료된다.

이제는 가상호스트를 설정해줘야한다. 아파치서버가 설치된 폴더의 vhost.conf(아파치 2.x의경우)

(1.x는 virtual 폴더내에 host.conf 파일이 있을것이다.)

다음과 같이 수정한다. 기본 아파치서버 포트는 80번이다. 아래에서는 9993번 포트를 사용하였다.

<VirtualHost *:9993>
     ServerAdmin
postmaster@해당도메인주소
     DocumentRoot "Nmail이 설치된 경로"
     ServerName mail.xens.dnip.net
     ServerAlias mail.*
     #ServerAlias mail.MultiDomain1.com mail.MultiDomain2.com
     ErrorLog logs\nmail2.error_log
     TransferLog logs\nmail2.access_log
     <Directory "Nmail이 설치된경로">
         Options None
         AllowOverride None
         Order allow,deny
         Allow from all
     </Directory>
</VirtualHost>

저장후에 아파치 서버를 재시작 시킨다. 정상적으로 됐다면...

사용자 삽입 이미지

접속했을때 다음과 같은 화면을 볼수있고 자신의 Email주소는 postmaster@설치시입력된주소

가된다. 비밀번호는 설치시 입력했던 비밀번호를 입력하면 된다. 위의 주소는 필자의 메일서버를

예로 든것이고 필자의 메일주소는 postmaster@xens.dnip.net 이 된다.