ubuntu下配置apache james遇到: 权限不够

时间:2024-11-16 07:53:32

由于项目需要发送邮件,公司只有内网,不能上外网,只能自己搭建james邮件服务器,可是在搭建james的时候遇到了问题。


使用的是非root用户,下载完毕后,解压完毕后,到bin目录下, 运行,报如下的错误:

Using PHOENIX_HOME:   /usr/local/coolcao/james-2.3.2
Using PHOENIX_TMPDIR: /usr/local/coolcao/james-2.3.2/temp
Using JAVA_HOME:      /usr/local/coolcao/jdk1.7.0_45
Running Phoenix:

Phoenix 4.2

James Mail Server 2.3.2
Remote Manager Service started plain:4555
org.apache.: Component named "pop3server" failed to pass through the Starting stage. (Reason: : 权限不够).
...
Caused by: : 权限不够
    at (Native Method)
    at (:376)
    at (:376)
    at .<init>(:237)
    at (:74)
    at (:337)
    at .pop3server.(:116)
    at (:244)
    at (:200)
    ... 22 more



主要错误在:Caused by: : 权限不够

在启动pop3server的时候,绑定端口号的时候,出现了异常。提示权限不够。

我很纳闷了,整个jdk我是在自己的目录中的,而且目录所有者和所属组都是我个人的,出现权限不够。

上网查了一下,有说是因为端口4555被exim4占用,可是我根本没装exim4这个服务。

也有说可以使用sudo sh 运行即可

使用sudo sh 后,提示找不到JAVA_HOME

好吧,su切换到root用户,确实找不到JAVA_HOME

在/etc/environment加入java的路径:

使用source /etc/environment刷新一下环境,这下可以找到JAVA_HOME了,使用root切换到james的bin目录再sh 一下,这下就OK 了:




对于这个问题,现在我还没想到更好的解决办法,root的环境变量每次都得设置一下,而且每次启动james都得使用roog用户,这是很不爽的一件事,不知倒大家有没有更好的解决办法,可以教教我。自己再研究两天,看看能不能解决一下,直接使用非root用户启动james。

大概明白了,pop3和smtp服务的端口是110和25,都小于1024,所以,估计因为这样才必须使用root用户才能运行james吧。有大神更好的解决方法吗?