1、需要用到很多权限和1024下的端口,用root部署比较好
2、需要部署一个1.5版以上的jdk,并已经在linux上配好了Java_home等,不会请点下面的链接
配Java_Home
3、ubuntu系统默认没有sendmail,用这个系统的可以跳过这段
James 启动时,其SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动, 请确保这些端口未被占用。Linux下查过这些端口是否被占用的命令是:lsof -i:端口号,例如:
[root@nhslj-app ~]# lsof -i:25
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sendmail 3268 root 4u IPv4 8650 TCP nhslj-app:smtp (LISTEN)
这表示25端口正在被sendmail服务占用。
关闭SendMail服务:
一般RedHat的系统安装时都会默认安装了sendmail邮件服务,因此在部署Apache James时,需要把sendmail关闭。可以通过以下方法来关闭sendmail,以防止系统重启时又自动启动sendmail服务。
没有安装chkconfig请安装一下
yum install chkconfig
apt-get install chkconfig
1)用chkconfig --list sendmail命令查看sendmail的情况:
[root@susun177 ~]# chkconfig --list sendmail
sendmail 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:启用 6:关闭
2)通过chkconfig sendmail off命令来关闭sendmail的启动:
[root@susun177 ~]# chkconfig sendmail off
3)这时再用chkconfig --list sendmail命令可以查看到sendmail的所有启动级别都已经关闭了:
[root@susun177 ~]# chkconfig --list sendmail
sendmail 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
这样,即使重新启动Linux系统,sendmail服务也不会自动启动了。
4、解压Apache James包apache-james-2.3.2.tar.gz,解压后有个james-2.3.2
5、进入james-2.3.2/bin目录,运行run.sh,会提示权限不够
chmod +x run.sh phoenix.sh
6、再运行run.sh
./run.sh
显示下面的话表示部署成功
Using PHOENIX_HOME: /home/usr/james-2.3.2
Using PHOENIX_TMPDIR: /home/usr/james-2.3.2/temp
Using JAVA_HOME: /jdk160_29
Running Phoenix:
Phoenix 4.2
James Mail Server 2.3.2
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service started plain:119
FetchMail Disabled
7、默认的James输入
命令 服务器名 端口号
然后输入用户名和密码,默认用户名root 密码root
然后会进入James,输入Help可以获得命令列表
8、Ctrl+C退出James,进入/james-2.3.2/apps/james/SAR-INF目录下的config.xml,可以自定义James
这个很重要,可以单开一篇文章了
9、优化James内存,编辑/james-2.3.2/bin/phoenix.sh,加入
PHOENIX_JVM_OPTS="$PHOENIX_JVM_OPTS -Xms128M -Xms512M -XX:PermSize=64M -XX:MaxPermSize=128M"
10、修改/james-2.3.2/conf/wrapper.conf的配置,设置初始内存128M,最大内存512M
wrapper.java.initmemory=128
wrapper.java.maxmemory=512