NEW Nmail PHP 3 업그레이드 할인
자세히 보기

Nmail ASP 서비스 종료 안내(EOS)

Nmail ASP (nWmail, Nmail Server) 제품은 유상 유지보수를 포함한 모든 서비스가 종료되었습니다.

[설명서]엔메일 셋팅 과정 실례

최*수 2003.07.09 11:38 조회 897

먼저 좋은 프로그램을 만들고 배포해 주신 passkorea에 감사드립니다.
본 글은 서버 관리자에게만 해당됩니다.
설치로 인한 피해는 전적으로 설치하신 분에게 있다는 것을
동의하시는 분만 설치하시기 바랍니다.
저도 여러번 설치해 보았지만 설치의 실패로 인한 피해는 없는 것 같습니다.
서버 관리자시라면 용기를 가지시고 한 번 도전해 보시기 바랍니다.

1. http://java.sun.com/j2se/downloads.html 에서
원하는 버전 선택 => SDK항의 Linux RPM in self-extracting file을 클릭 =>
제일 상단의 Keep Informed 항에 있는 download를 바로 클릭 => 약관 하단의 Accept 클릭
=> 파일을 다운 받는다.(이때 파일을 클릭하지말고 오른쪽 마우스버튼을 누르고 [다른 이름으로 대상 저장]을 통해 다운받는다.)
예) j2sdk-1_4_2-linux-i586-rpm.bin

2. http://java.sun.com/products/javamail/index.html 에서
상단의 Download JavaMail 1.3.1 FCS 밑의 [Continue] 클릭 => 약관 하단의 Accept 클릭 => 파일을 다운 받는다.
예) javamail-1_3_1.zip

3. http://java.sun.com/products/javabeans/glasgow/jaf.html 에서
제일 하단의 Download JavaBeans Activation Framework 1.0.2 release [Continue] 클릭 => 약관 하단의 Accept 클릭 => 파일을 다운 받는다.
예) jaf-1_0_2.zip

4. 자신의 일반 유저 계정에 업로드한다.(예: /home/dycom/nmail)

5. 슈퍼유저(root)로 로그인한다.

6. 일반 유저 계정에 있는 파일들을 /usr/local로 옮긴다.
# cd /home/dycom/nmail
# mv ./ -Rf /usr/local
# cd /usr/local

7. # chmod 755 j2sdk-1_4_2-linux-i586-rpm.bin

8. # ./j2sdk-1_4_2-linux-i586-rpm.bin
라이센스 확인 후 제일 아래에서 동의(yes입력)해야 함.

9. # ln -s /usr/local/j2sdk1.4.2 /usr/local/java

10. # unzip javamail-1_3_1.zip

11. # cp ./javamail-1.3.1/mail.jar /usr/local/java/lib/

12. # cp ./javamail-1.3.1/lib/pop3.jar /usr/local/java/lib

13. # unzip unzip jaf-1_0_2.zip

14. # cp ./jaf-1.0.2/activation.jar /usr/local/java/lib/

15. http://passkorea.net 에서 엔메일을 터미날에서 바로 다운받는다.
여기에서 주의할 점은 버전이 틀릴 수 있으므로 http://passkorea.net 에서 꼭 확인바람.
# wget http://passkorea.net/pubs/nwmail1.1p7.tar.gz


16. 아래와 같이 DB 및 유저를 추가한다.

////아래에서 반드시 DB명, 유저명, 패스워드 수정 후 실행/////

# mysql -u root -p
Enter password : 슈퍼관리자 비번

mysql>use mysql

mysql> create database DB명;

mysql>INSERT INTO `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`) VALUES ('localhost', '유저명', PASSWORD('패스워드'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');

mysql>INSERT INTO `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`) VALUES ('localhost.localdomain', '유저명', PASSWORD('패스워드'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');

mysql>INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`) VALUES ('localhost', 'DB명', '유저명', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

mysql>INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`) VALUES ('localhost.localdomain', 'DB명', '유저명', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

mysql>flush privileges;

mysql>quit

//// DB명 및 유저 추가 끝 /////

# tar zxvf nwmail1.1p7.tar.gz -C /usr/local

### /usr/local은 설치 디렉토리임.
### /usr/local에 설치하지 않으셨다면 이하에서 수정되는 부분에서 모두 변경해 주셔야 합니다.
### 될수 있는 대로 /usr/local에 설치하셔야 에러가 나지 않습니다.


# cd /usr/local/nmail

# vi nmail.sh
엔메일 엔진 설치경로 수정
(/usr/local에 설치하신 분들은 수정 불필요)


# vi NConfig.conf
경로수정 및 DB 설정 수정

/----------Mail Server Address Setting
Server=jgod.com
Server=mjuit.ac.kr

/---다중 도메인 사용시 위에처럼 도메인들을 기입

/----------DNS Server Address Setting
DNSServer=ns1.jgod.com
/---본인의 DNS명(네임서버)이나 DNS의 IP 기입

/----------Halt File Name Setting
HaltFileName=/var/nmail/Halt

/---------Log File Path Setting
LogFilePath=/var/nmail/log


/----------RetryFolder Path Setting
RetryFolderPath=/var/nmail/queue/RetryQueue
RetryQueueFileName=RetryFolder
RetryInfoQueueFileName=InfoRetryFolder

/----------NonLocalFolder Path Setting
NonLocalFolderPath=/var/nmail/queue/NonLocalQueue
NonLocalQueueFileName=NonLocalFolder
NonLocalInfoQueueFileName=InfoNonLocalFolder

dbDriver=org.gjt.mm.mysql.Driver
dbURL=jdbc:mysql://localhost.localdomain:3306/DB명
dbUserid=DB유저명
dbPassword=DB비번
dbMaxConnection=0
/--- 본인의 DB 설정에 맞게 수정
/-- 원본 dbURL=jdbc:mysql://localhost:3306/nmail을 반드시 아래와 같이 수정바람.
dbURL=jdbc:mysql://localhost.localdomain:3306/DB명


# vi ../jakarta-tomcat-3.2.3/bin/tomcat.sh
아래와 같이 톰켓설치경로 수정

JAVA_HOME=/usr/local/java
TOMCAT_HOME=/usr/local/jakarta-tomcat-3.2.3
////본인의 설치 경로에 맞게 맞게 수정. /usr/local에 설치하신 분들은 수정 불필요 ///////


# vi ../jakarta-tomcat-3.2.3/webapps/ROOT/nmail/include/inc_globalVar.jsp
여러가지 자신의 환경에 맞게 설정
String ADMIN_MAIL = "****@****"; // 관리자이메일
String[] DOMAIN = {"jgod.com", "mjuit.ac.kr"}; // 다중 도메인 설정시 콤마로 구분하여 여러 도메인 입력
String NMAIL_ENGINE_ROOT = "/usr/local/nmail/maildir"; // 메일 저장 경로
String JOB_ROOT = "/usr/local/jakarta-tomcat-3.2.3/webapps/ROOT/nmail"; // 웹메일 설치 경로(Tomcat)
String WEBSERVER_PORT = "8080"; // 웹서버의 포트번호(Tomcat).
String ISVIEW_WEB_USER = "Y"; // Y : 엔메일만사용시, N : 외부회원모듈과 연동시
String EXTERNAL_MEMBER_TABLE = "tb_member"; // 외부회원모듈의 테이블명
String EXTERNAL_MEMBER_FIELD_OF_USERID = "username"; // 외부회원모듈의 사용자ID 필드명
int INDEX_CURRENT_DOMAIN = 10MB; // 사용자 메일 제한용량 기본값. ex) 10MB



# vi ../jakarta-tomcat-3.2.3/webapps/ROOT/WEB-INF/classes/beans/db.properties
(자신의환경에 맞게 수정)

# cd /usr/local/

# chmod 755 ./jakarta-tomcat-3.2.3/bin/*.sh

# mysql DB명 -u유저명 -p < ./nwmail_data/nwmail.sql
Enter password: 비번 입력후 엔터)

# mysql mysql DB명 -u유저명 -p < ./nwmail_data/post.sql
Enter password: 비번입력후 엔터
레코드가 많아서 다소 시간이 걸림

# ps -ax | grep mail
sendmail 등의 데몬이 실행 중인지 검사

sendmail 데몬이 실행 중일 경우
# killall sendmail

# /usr/sbin/sendmail -bi

에러가 있을 경우 vi /etc/hosts 체크

# /usr/local/nmail/startup.sh
SmtpServer started!
SmtpSender started!
Pop3Server started!
위의 메시지가 제대로 나오면 성공!
간혹 Pop3Server가 실행되지 않았다는 메시지가 나올 수 있지만 상관없습니다.

# /usr/local/jakarta-tomcat-3.2.3/bin/startup.sh
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( /admin )
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( )
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( /include )
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( /js )
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( /images )
Starting tomcat. Check logs/tomcat.log for error messages
2003-03-13 06:02:22 - ContextManager: Adding context Ctx( /test )
2003-03-13 06:02:24 - PoolTcpConnector: Starting HttpConnectionHandler on 8080
2003-03-13 06:02:24 - PoolTcpConnector: Starting Ajp12ConnectionHandler on 8007

위와 같이 에러와 관련되지 않은 여러가지 메시지가 나오면 성공.

# /usr/local/nmail/shutdown.sh
SmtpSender stopping........
Pop3Server stopping........
java.lang.NullPointerException
at nmailserver.smtp.SmtpServer.run(SmtpServer.java:79)
All Server stopped!
메일 서버 종료

# /usr/local/jakarta-tomcat-3.2.3/bin/shutdown.sh
Using classpath: /var/jakarta-tomcat-3.2.3/lib/ant.jar:/var/jakarta-tomcat-3.2.s
Stop tomcat
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /examples )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /admin )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /include )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /js )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /images )
2003-03-13 06:14:12 - ContextManager: Removing context Ctx( /test )
톰켓(웹메일) 종료


부팅시 자동으로 실행하기
# vi /etc/rc.d/rc.local
위 파일 맨 아랬 줄에 다음을 삽입한다.

/usr/local/nmail/startup.sh
/usr/local/jakarta-tomcat-3.2.3/bin/startup.sh


# ntsysv
(sendmail 체크 해제한다.)

재실행
# /usr/local/nmail/startup.sh
# /usr/local/jakarta-tomcat-3.2.3/bin/startup.sh


소스파일위치 cd /usr/local/jakarta-tomcat-3.2.3/webapps/ROOT/nmail/source

미리보기 : http://설치도메인:8080/ (예: http://jgod.com:8080)


이상 수고하셨습니다. 성공하셨는지요?
끝으로 주의 사항은 본 설명서를 통해 설치하시게 되면
2003년 7월 5일을 기준으로 가장 최신의 프로그램들을
설치하시게 됩니다만 가장 최신이라는 이유로 충분히
안정성을 검토해 보지는 않았습니다.
항상 최신을 좋아하는 사람들이 흔히 감내해야만
하는 문제이긴 합니다만 제가 테스트한 바로는 문제는
아직 발견되지 않았습니다.
오히려 많은 점에서 안정되고 빨라진 것 같습니다.
느낌 Good!

다시 한 번 언급하지만 설치로 인한 피해는 전적으로
설치하신 분에게 있다는 것을 동의하시는 분만 설치
하시기 바랍니다. 저도 여러번 설치해 보았지만 설치의
실패로 인한 피해는 없는 것 같습니다. 서버 관리자시라면
용기를 가지시고 한 번 도전해 보시기 바랍니다.
위의 설명서에 대한 문의 및 제안은 ****@****으로만
받습니다. 수고하셨습니다.




2003년 7월 9일 덧붙임

한글 파일명으로 첨부된 파일이 다운되지 않을 때
# vi /usr/local/jakarta-tomcat-3.2.3/webapps/ROOT/nmail/source/download.jsp

17 line)
header_attach_name = new String(attach_name.getBytes("euc-kr"),"8859_1");
=>
attach_name = new String(attach_name.getBytes("8859_1"),"KSC5601");
header_attach_name = new String(attach_name.getBytes("euc-kr"),"8859_1");

댓글 2
이전 글 [질문]메일받기는 되는데 보내기가 안되어요. 1 김* 2003.07.05
다음 글 [질문]메일받기 에러가 나는데 내용좀 봐주세요. 1 김* 2003.07.04