floatboat
5.2.安装Web编程环境
安装jdk1.2.2
# cd /usr/local/src
# tar zxvf jdk1_2_2-linux-i386.tar.gz --directory=/usr/local/servers/
# cp mm.mysql-2.0.2-bin.jar /usr/local/servers/jdk1.2.2/lib
修改/etc/profile
添加:
CLASSPATH=""/usr/local/servers/jdk1.2.2/lib/tools.jar:/usr/
local/servers/jdk1.2.2/lib/rt.jar:/usr/local/servers
/jdk1.2.2/lib/mm.mysql-2.0.2-bin.jar:.""
JAVA_HOME=/usr/local/servers/jdk1.2.2
export CLASSPATH JAVA_HOME
修改PATH变量,在最后添加 /usr/local/servers/jdk1.2.2/bin,以下是我的系统的PATH变量值:
PATH=""$PATH:/usr/local/X11R6/bin:/usr/local/servers/jdk1.2.2/bin""
存盘退出,并注销当前用户重新登录。
测试java是否安装正确
使用vi 在/tmp创建一个名为 Test.java 的文件,内容为:
public class Test{
public static void main(String args[]){
System.out.println(""Hello, World!"");
}
}
使用以下的命令进行编译和运行:
# cd /tmp
# javac Test.java
# java Test
如果程序显示""Hello,World!""这行字符则说明jdk环境已经成功建立,如果出现其它的提示信息,请您仔细检查安装步骤是否正确。测试完毕之后,请使用以下的命令将测试数据删除:
# rm /tmp/test.java
# rm /tmp/test.class
测试jdbc联接是否正确
使用 vi 在/tmp创建一个名为testjdbc.java的文件,内容为:
import java.sql.*;
public class testjdbc{
public static void main(String args[]){
try
{
Class.forName(""org.gjt.mm.mysql.Driver"");
System.out.println(""OK! JDBC Driver For MySQL Loaded."");
try
{
Connection con=DriverManager.getConnection(""jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1"");
System.out.println(""OK!Connect to MySQL DBMS."");
}
catch(SQLException e)
{
System.out.println(""Error! Error Code:#1. Can make connection
to Mysql Server.
""+e.getMessage());
}
}
catch (java.lang.ClassNotFoundException e)
{
System.out.println(""Error! Error Code #2. Can Load jdbc Driver.
""+e.getMessage());
}
}
}
按照前面的步骤启动MySQL数据库服务器,然后使用以下的命令编译与运行testjdbc:
# cd /tmp
# javac testjdbc.java
# java testjdbc
查看输出的结果,如果是连续两个OK则说明JDBC安装的正确的。如果出现错误则根据以下的信息进行查错。
Error Code=#1 MySQL没有启动或者是用户名/密码错误
Error Code=#2 MySQL的JDBC驱动程序没有正确的安装或者是MySQL的权限设置处没有允许指定用户登录,仔细对照JAVA安装那一节重新检查JDBC驱动安装是否正确,同时检查MySQL的权限控制是否允许用户在本地登录。
至此,JAVA的运行环境及JDBC for MySQL的驱动程序都已经正确的安装完成,下一步我们将开始安装JSP的解释器Resin。
安装JSP解释器Resin
# cd /usr/local/servers/resin1.1.3
# ./configure --with-java-home=/usr/local/servers/jdk1.2.2
# --with-apxs=/usr/local/servers/apache/bin/apxs
# make
# make install
测试Resin安装结果
1、启动Resin
# cd /usr/local/servers/resin1.1.3/bin
# ./srun.sh start
如果显示的结果只有""start resin""同时使用 ps ax | grep ""java"" 可以得到类似于以下的结果则说明Resin已经在后台运行。
16842 pts/0 S 0:00 sh -c /usr/local/servers/jdk1.2.2/bin/java -Dresin.
如果出现其它的提示信息则可能是您的安装过程有误,请仔细检查。
2、查看Resin的运行状态
修改/usr/local/servers/apache/conf/httpd.conf,将其中的:
#
#SetHandler Caucho-status
#
前的#号全部去掉。并用 /etc/rc.d/init.d/httpd restart 重新启动 Apache。使用Netscape或者是Ie打开http://202.99.11.120/caucho-status,当页面完全打开后,查看顶端表格中的Host项应该为绿色的 localhost:6802,否则请检查您的Resin是否有启动,以及安装过程是否正确。
3、测试Resin是否正常运行
在浏览器中打入http://202.99.11.120/servlet/Env ,如果您的配置正确的话,应该可以看到关于服务器与客户端的环境变量。如果没有正确的显示出来,请检查您的JAVA、Rsein安装是否正确。
设置相关的参数
通过前面的工作,我们已经建立起一个非常基本的JSP/Servlet解释环境,但在实际应用时还需要进行一些参数的定制。下面我们就要开始修改Resin的参数使其可以根据我们的实际要求进行工作。
在进行设置前,建议您先给resin.conf做个备份,免得在修改出错之后无法正常的使用时没有办法恢复。使用vi修改/usr/local/servers/resin1.1.3/conf/resin.conf。
1、修改缺省文档根目录
搜索
doc将其中的doc修改 Apache的配置文件 httpd.conf 中的DocumentRoot 参数指定的路径。缺省的情况下应该是 /usr/local/servers/apache/htdocs,则修改后的结果应该是:
/usr/local/servers/apache/htdocs
2、删除测试用参数
resin.conf包含一些测试时使用的参数,在实际应用中我们并不需要这些参数,所以要将其删掉。
将从:
起至
之间的参数全部删,要注意,起是不可以删除的哦。删完无关的参数之后,在
前添加一行:
则修改之后的resin.conf应该为(为减少篇幅,我们将注释部分去掉了,主要内容应该是一样的):
driver=""org.gjt.mm.mysql.Driver""
url=""jdbc:mysql://localhost:3306/test""
user=""""
password=""""
max-connections=20/>
/usr/local/servers/apache/htdocs
8080
true
5
20
source=WEB-INF/classes
compile= rue/>
index.xtp, index.jsp, index.html
servlet-name=com.caucho.jsp.XtpServlet/>
servlet-name=com.caucho.jsp.JspServlet/>
4096
30
true
true
0
修改完成之后存盘退出,使用以下的命令启动Resin,同时重新启动Apache。
# /usr/local/servers/resin1.1.3/bin/srun.sh start
# /etc/rc.d/init.d/httpd restart
这里要注意一点,必须启动Resin之后才可以重启Apache。如果启动Resin的过程中出现错误,请检查您修改resin.conf的过程是否正确。
重新启动完两个服务之后,我们再使用浏览器查看:http://202.99.11.120/caucho-status 其内容应该已经发生了改变。如果跟第一次测试时比较起来没有任何的改动,请检查您的修改过程是否正确。
测试Resin
通过前的步骤,我们已经成功的将Resin与Apache融合在一起,下面我们要对Resin进行一次完整的测试。测试的内容包括:JSP解释、Servlet解释、JDBC联接。
1、测试JSP解释器
使用vi在/usr/local/servers/apache/htdocs/创建一个名为test.jsp的文件,其内容包括:
<%
out.println(""
Hello, World!
"");
%>
存盘之后,使用浏览器查看 http://202.99.11.120/test.jsp 如果正确的话,可以看到""Hello, World!""字样。否则,请检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apche是否运行正常。
2、测试servlet解释器
使用以下的命令将Env.java 复制到Servlet目录:
# cp /usr/local/servers/resin1.1.3/doc/WEB-INF/classes/Env.java
# /usr/local/servers/apache/htdocs/WEB-INF/classes
然后使用浏览器查看 http://202.99.11.120/servlet/Env 如果正确的话,可以看到服务器端和客户端的环境参数。否则,请检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apache是否运行正常。
3、测试JSP与MySQL的JDBC联接
使用vi在/usr/local/servers/apache/htdocs/创建一个名为testjdbc.jsp的文件,其内容包括:
<%@ page import=""java.sql.*"" %>
<%
try
{
Class.forName(""org.gjt.mm.mysql.Driver.
"");
out.println(""OK! JDBC Driver For MySQL Loaded."");
try
{
Connection con=DriverManager.getConnection(""jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1"");
out.println(""OK!Connect to MySQL DBMS."");
}
catch(SQLException e)
{
out.println(""Error! Error Code:#1. Can make connection to Mysql
Server.
""+e.getMessage());
}
}
catch (java.lang.ClassNotFoundException e)
{
out.println(""Error! Error Code #2. Can Load jdbc Driver.
""+e.getMessage());
}
%>
使用浏览器查看 http://202.99.11.120/testjdbc.jsp 应该得到以下的结果:
OK!JDBC Driver For MySQL Loaded.
OK! Connect to MySQL DBMS.
如果出现错误,则请您检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apache是否运行正常。MySQL的权限设置是否允许root以无口令方式登录。
最后经过前面的步骤,我们已经成功的建立起了JSP/Servlet的编程环境。并且通过mm.mysql与MySQL成功的联接起来。
5.3.安装PHP编程环境
下载软件包
从http://www.php.net 下载tar zxvf php-4.0.2.tar.gz。
下载的软件包放置于/usr/local/src。
解压缩软件包
# cd /usr/local/src
# tar zxvf php-4.0.2.tar.gz
编译并安装PHP
# cd /usr/local/src/php-4.0.2
# ./configure --with-mysql=/usr/local/servers/mysql
--with-apxs=/usr/local/servers/apache/bin/apxs
--enable-track-vars
--enable-sockets
--enable-ftp
# make
# make install
更新动态链接表
因为php的解释模块需要使用到MySQL的动态链接库,而我们又将MySQL安装在非标准的目录下,我们就需要使用ldconfig配置工具配置动态链接库表,方法如下:
使用vi打开/etc/ld.so.conf,在其中添加一行:
/usr/local/servers/mysql/lib/mysql
然后在命令行执行此命令:
# ldconfig
修改Apache配置
使用vi打开httpd.conf搜索:
AddType application/x-httpd-php
将:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
前的#号去掉,同时如果您想Apache对PHP3也进行解释,可以添加一行:
AddType application/x-httpd-php .php3
则修改之后的httpd.conf部分为:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3
重新启动Apache以使修改生效
# /etc/rc.d/init.d/httpd restart
测试PHP
1、一般测试
使用vi在/usr/local/servers/apache/htdocs创建一个名为test.php的文件,内容包括:
phpinfo();
?>
使用浏览器查看http://202.99.11.120/test.php,如果操作正确的话可以看到PHP运行的环境参数。如果出现错误,则请检查:Apache是否运行、参数修改是否正确。
2、数据联接测试
使用vi在/usr/local/servers/apache/htdocs创建一个名为testdb.php的文件,内容包括:
$connect=@mysql_connect(localhost, oot,) or die (""Error! Unable connect to database
server."");
echo ""$connect
"";
?>
如果显示的结果是:
1
则说明与MySQL连接是正确的,如果出现:
Error! Unable connect to database server.
则有可以是以下的情况:
MySQL没有启动
连接时所使用的用户名和密码错误
3、通过以上的操作PHP已经基本完成。
6.域名(DNS)服务器的安装与调试
说明我们将要配置的DNS服务器满足两个域名的要求,我们的IP地址为202.99.11.120由202.99.11.120服务器将域名linuxaid.com.cn和linuxaid.com.cn指向我们的服务器
下载域名服务器软件包
从http://www.isc.org 下载bind-8.2.2.p15-src.tar.gz。
下载的软件包放置于/usr/local/src。
解压缩软件包
# cd /usr/local/src #第1步
# mkdir bind #第2步
# tar zxvf bind-8.2.2p15-src.tar.gz --directory=/usr/local/src/bind #第3步
编译并安装Bind
# cd /usr/local/src/bind/src #进入存放BIND源码的目录
# make stdlinks #第1步
# make clean #第2步
# make depend #第3步
# make all #第4步
# make install #第5步
配置Bind运行参数
1、使用vi创建/etc/named.conf,其内容为(#号后为注释可不输入):
options{
directory ""/var/named""; #设置DNS数据的目录,用于存放域名数据
};
zone ""."" { #提示用数据文件
type hint;
file ""root.cache"";
};
zone ""localhost"" { #指定localhost解释文件
type master; #类型为""主要""
file ""localhost""; #对应的文件名为 localhost
};
zone ""0.0.127.in-addr.arpa"" { #IP反向解释
type master;
file ""127.0.0""; #对应的文件名为127.0.0
};
zone ""linuxaid.com.cn"" { #指定linuxaid.com.cn的解释文件
type master;
file ""linuxaid.com.cn""; #对应的文件名为linuxaid.com.cn
};
zone ""linuxaid.net.cn"" {
type master;
file ""linuxaid.net.cn"";
};
#说明,如果要添加其它的域,可以复制上面的数据修改而成
zone ""11.99.202.in-addr.arpa"" { #202.99.11.0段IP反向解释
type master;
file ""202.99.11"";
};
2、按照以下的步骤创建/var/named及其内容
# mkdir /var/named
# cp /usr/local/src/bind/src/conf/workstation/root.cache /var/named
使用vi创建/var/named/localhost其内容为(;号后面为注释内容可不输入,下同):
$TTL 3600 ;设置缺省存活时间为一小时,下同
@ IN SOA localhost. root.localhost. (
2000092837 ;序号
10800 ;刷新时间,单位秒,下同
3600 ;重试时间
604800 ;过期时间
10800 ;生存时间
)
IN NS localhost. ;指定此域的域名服务器为 loadlhost
IN A 127.0.0.1 ;指定定此域的IP地址为127.0.0.1
创建/var/named/127.0.0,内容为:
$TTL 3600
@ IN SOA localhost. root.localhost. (
2000092814 ;Serial number
10800 ;Refresh time
3600 ;Retry time
604800 ;Expire after a week
10800 ;Time to live
)
IN NS localhost. ;指定此域的域名服务器为 localhost
1 IN PTR localhost. ;IP地址127.0.0.1的域名为 localhost
创建/var/named/linuxaid.com.cn,内容为:
$TTL 3600
@ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. (
2000092854 ;Serial Number
10800 ;Refresh time
3600 ;Retry time
604800 ;Expire after a week
10800 ;Time to live
)
IN NS ns.linuxaid.com.
IN MX 9 202.99.11.120
ns IN A 202.99.11.120
www IN CNAME ns
创建/var/named/linuxaid.net.cn,内容为:
$TTL 3600
@ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. (
2000092854 ;Serial Number
10800 ;Refresh time
3600 ;Retry time
604800 ;Expire after a week
10800 ;Time to live
)
IN NS ns.linuxaid.com.cn.
IN MX 9 202.99.11.120
www IN A 202.99.11.120
创建202.99.11,内容为:
$TTL 3600
@ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. (
2000092858 ;Serial Number
10800 ;Refresh Time
3600 ;Retry time
604800 ;Expire after a week
10800 ;Time to live
)
IN NS ns.linuxaid.com.cn.
8 IN PTR ns.linuxaid.com.cn
测试域名服务器
在确认所有的数据的正确输入之后,我们就要开始测试域名服务器了。
1、使用以下的命令启动域名服务器named:
# ndc start
如果出现以下的提示,则证明域名服务器已经在后台运行。
# new pid is 23008
如果出现其它的提示,请您检查您所输入的数据是否正确。
2、修改系统域名参数
修改/etc/resolv.conf。
则添加一行 nameserver 127.0.0.1,指定本地计算机的缺省域名服务器为127.0.0.1
3、使用nslookup测试域名服务器
在命令行打入下面的命令,如果得到的提示信息不同,则请检查您的配置文件是否正确(其中#号后的部分为笔者添加的注释,正常情况下域名服务器不会返回这部分内容)。
# nslookup
Default Server: localhost #缺省域名服务器的名称为 localhost 即本机
Address: 127.0.0.1 #缺省域名服务器的IP地址
#查询www.linuxaid.com.cn对应的IP地址
>www.linuxaid.com.cn #查询www.linuxaid.com.cn的IP地址
Server: localhost
Address: 127.0.0.1
Name: ns.linuxaid.com.cn #域名服务器返回www.linuxaid.com.cn的真实
#名称为ns.linuxaid.com.cn
Address: 202.99.11.120 #www.linuxaid.com.cn对应的IP地址
Aliases: www.linuxaid.com.cn #域名服务器返回www.linuxaid.com.cn是
#ns.linuxaid.com.cn 的别名(CNAME)
>www.linuxaid.net.cn #查询www.linuxaid.net.cn
Server: localhost
Address: 127.0.0.1
Name: www.linuxaid.net.cn #域名服务器返回www.linuxaid.net.cn真实域名
Address: 202.99.11.120 #www.linuxaid.net.cn对应的IP地址
#进行反向测试,查询202.99.11.120对应的域名
>202.99.11.120
Server: localhost
Address: 127.0.0.1
Name: ns.linuxaid.com.cn
Address: 202.99.11.120
>exit
#
如果测试的结果与显示的一致,说明您的域名服务器已经正确的安装。如果出现错误,您可以尝试使用 tail /var/log/messages 查看错误信息并进行相应的修改。
如果问题还不得以解决,请与我们的技术支持论坛联系。
7.邮件传递服务器(MTA)的安装
7.1.下载软件包
从www.postfix.org下载postfix-19991231-pl09并放置于/usr/local/src
7.2.将下载的软件包解压缩
# cd /usr/local/src
# tar zxvf postfix-19991231-pl09.tar.gz
7.3. 编译并安装Postfix
首先,必须保证系统中没有安装sendmail。如果不能确定是否有安装的话,可以使用:
# rpm -qa | grep ""sendmail""
如果没有任何的输出证明系统中没有安装sendmail,如果有的话,请使用rpm -e将列出的软件包都删除了。例子:
rpm -e sendmail-8.8.7-17 -nodeps
就可将sendmail软件包删除。
在删除完sendmail之后使用vi修改/etc/passwd将
daemon:*:2:2:daemon:/sbin:
改为:
daemon:*:2:12:daemon:/sbin:
再使用
# mkdir /usr/local/servers(如果此目录已经存在就没有必要了)
# useradd postfix -d /usr/local/servers/postfix
就可以开始安装Postfix了:
# cd /usr/local/src/postfix-19991231-pl09
# make -f Makefile.init makefiles
CCARGS=-DHAS_MYSQL -I/usr/local/servers/mysql/include/mysql
AUXLIBS=/usr/local/servers/mysql/lib/mysql/libmysqlclient.a -lm
# make
# sh INSTALL.sh
在install_root: [/]处打回车接受默认值
在tempdir: [/usr/local/src/postfix-19991231-pl09]处输入:
/usr/local/servers/postfix/tmp
在config_directory: [/etc/postfix]处接受默认值/etc/postfix(此处不可修改)
在daemon_directory: [/usr/libexec/postfix]处输入
/usr/local/servers/postfix/libexec
在command_directory: [/usr/sbin]处输入
/usr/local/servers/postfix/sbin
在queue_directory: [/var/spool/postfix]处输入
/usr/local/servers/postfix/spool
在sendmail_path: [/usr/sbin/sendmail]处打回车接受默认值
在newaliases_path: [/usr/bin/newaliases]处打回车接受默认值
在mailq_path: [/usr/bin/mailq]处打回车接受默认值
在mail_owner: [postfix]处打回车接受默认值
在setgid: [no]处打回车接受默认值
在manpages: [/usr/local/man]处输入
/usr/local/servers/postfix/man
至此Postfix的安装程序会自动的将编译之后的代码安装至我们指定的目录中。
7.4.设置Postfix基本参数
使用 vi 打开 /etc/postfix/main.cf 并进行以下的修改:
myhostname=www.linuxaid.com.cn
mydomain=linuxaid.com.cn
myorigin=$mydomain
alias_maps=hash:/etc/postfix/aliases
7.5.初始化Postfix环境并启动Postfix
# cd /etc/postfix
# /usr/local/servers/postfix/sbin/postalias aliases
# /usr/local/servers/postfix/sbin/postfix start
命令运行完毕之后,使用以下命令:
# tail /var/log/maillog
得到的结果最后一行应该与以下的内容相类似:
Nov 10 09:24:23 mailserver postfix/master[6255]: daemon started
如果出现其它的错误信息,请您检查安装的步骤是否正确。
8.POP3/IMAP服务器的安装
做为与Postfix搭配的POP3/IMAP服务器,我选择了CYRUS。
8.1.下载软件包
从http://asg.web.cmu.edu/cyrus/下载cyrus-imap-1.6.24和cyrus-sasl-1.5.24并放置于/usr/local/src
8.2.将下载的软件包解压缩
# cd /usr/local/src
# tar zxvf cyrus-sasl-1.5.24.tar.gz
# tar zxvf cyrus-imapd-1.6.24.tar.gz
8.3.编译并安装POP3/IMAP服务器(MDA)
添加一个新的用户cyrus,并设置其组为mail,并使用passwd设置其口令
# /usr/sbin/useradd cyrus -g mail
# cd /usr/local/src/cyrus-sasl-1.5.24
# ./configure --with-pwcheck=pwcheck
修改/usr/local/src/cyrus-sasl-1.5.24/config.h
将PWCHECKDIR定义为
#define PWCHECKDIR ""/var/pwcheck""
如果PWCHECKDIR已经是/var/pwcheck则无需修改。完成之后继续编译过程
# make
# make install
修改/etc/ld.so.conf,添加以下一行:
/usr/local/lib
存盘退出之后运行:
# /sbin/ldconfig
如果/etc/ld.so.conf中已经存在则不需要添加
安装完sasl之后,可以开始安装imapd
# cd /usr/local/src/cyrus-imapd-1.6.24
# ./configure --with-krb=no
# make
# make install
8.4.设置初始化环境和参数
# cd /var
# mkdir imap
# chown cyrus.mail imap
# chmod 750
# cd /var/spool
# mkdir imap
# chown cyrus.mail imap
# chmod 750
# mkdir /var/pwcheck
# chown cyrus.mail /var/pwcheck
# chmod 700 /var/pwcheck
使用vi创建/etc/imapd.conf内容为:
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus
srvtab: /var/imap/srvtab
sasl_pwcheck_method: pwcheck
存盘退出,使用以下的命令创建相应目录:
# cd /usr/local/src/cyrus-sasl-1.5.24/tools
# su cyrus
$ ./mkimap
$ exit
相应的工具会自动的创建cyrus邮件服务器所需的目录
修改/etc/inetd.conf使POP3/IMAP邮件服务器有效,使用vi打开/etc/inetd.conf添加:
imap stream tcp nowait cyrus /usr/cyrus/bin/imapd imapd
pop-3 stream tcp nowait cyrus /usr/cyrus/bin/pop3d pop3d
并使用
# killall -HUP inetd
重新启动inetd。
启动pwcheck服务器,为MDA提供身份验证
# /usr/local/sbin/pwcheck
使用以下的命令分别测试POP3和IMAP服务器
POP3服务器
#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is ^].
+OK mailserver Cyrus POP3 v1.6.24 server ready
如果显示的信息与上面的不全部相同,请检查安装过程是否有问题。
输入
QUIT(回车)
即可退出。
IMAP服务器
#telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is ^].
* OK mailserver Cyrus IMAP4 v1.6.24 server ready
如果显示的信息与上面的不全部相同,请检查安装过程是否有问题。
输入
. logout(回车)
即可退出。
8.5.联接MTA与MDA
修改/etc/postfix/main.cf,添加以下的内容:
mailbox_transport = cyrus
修改/etc/master.cf,将cyrus部分改为以下的内容(全部在一行内):
cyrus unix -n n - - pipe flags=R user=cyrus:mail argv=/usr/cyrus/bin/deliver -a ${user} -e -q -m ${extension} ${user}
存盘退出之后,使用以下的命令刷新Postfix的数据,整个安装过程完成:
# /usr/local/servers/postfix/sbin/postfix reload
用户管理
我们使用系统帐号来做为身份验证的依据,所以在添加用户时要分两步,一是添加系统帐号,另外就是添加用户的邮箱。以下的例子说明添加用户的步骤:
# useradd newuser
# /usr/local/bin/cyradm -u cyrus localhost
(需要输入cyrus的密码)
先为cyrus创建一个邮箱,这是必须的
# cm user.cyrus(第一次时需要,以后不用)
# cm user.newuser
即可。