常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

OpenBSD2.8服务器配置实务手册

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全
阅读上一个主题 :: 阅读下一个主题  
作者 留言
wxjoshua
精神病


注册时间: 2002-09-06
文章: 569

文章发表于: Thu 2002-10-31 21:44:17    发表主题: OpenBSD2.8服务器配置实务手册 引用并回复

OpenBSD2.8服务器配置实务手册



第一课、安装OpenBSD 2.8



����如果您的电脑不支持光盘启动,请首先在DOS下进行以下的步骤,制作启动软盘,然后从软盘

启动电脑。(其中e:是光盘所在盘符)



e:\2.8\tools\fdimage e:\2.8\i386\floppy28.fs a:



����如果您的电脑支持光盘启动,直接从光盘启动后,按照提示一步一步完成安装,以下是安装

过程的简略描述:



第一节、建立分区



启动电脑直到出现以下的提示:

(I)nstall, (U)pgrade or (S)hell?

其中(I)代表安装一个全新的系统,(U)代表升级原有的OpenBSD旧版本,(S)代表退出到命令行状态。

我们要安装一个全新的系统,所以输入I并回车。

在一屏欢迎辞之后,系统询问使用什么终端类型:

Specify terminal type [pcvt25]:

不用理会它,直接回车,继续以后的步骤。系统将检测到可用的硬盘,并询问对那个硬盘进行处理:

Available disks are:

wd0

Which disk is the root disk? [wd0]

上面的提示表明,电脑只有一个IDE硬盘,如果是SCSI硬盘,将显示成sd0。因为系统只有一个硬盘,

所以安装程序已经帮我们选择了硬盘,如果系统有多个硬盘,那就必须输入硬盘的名称,如wd1。现

在直接回车进入下一步。

系统询问是否把整个硬盘给OpenBSD使用:

Do you want to use the *entire* disk for OpenBSD? [no]

默认是no,不过手册是要做服务器,所以输入yes并回车吧!不过首先要确认这个硬盘上面没有重要

的数据啊!

现在系统会进入fdisk(一个分区程序,输入?并回车可以获得使用帮助)。首先用d命令删除原有的

分区(注意,c分区被OpenBSD系统保留使用,不能够删除或变更),然后用a命令新建分区,您将得

到和下面类似的信息:

offset: [xxxxxx]

size: [xxxxxxxxxx]

Rounding to nearest cylinder: xxxxxxxx

FS type: [4.2BSD]

mount point: [none]

其中,offset是指每一个分区的偏移地址。不用理会,直接回车即可,系统会自动处理。size是分区

的大小,括号里面是剩余的可用磁盘空间大小。可以直接用80m这样的输入来表示分区的大小为80Mb。

Rounding to nearest cylinder由系统返回,是转换成柱头数,不必理会。FS type是文件系统类型,

只有4.2BSD和swap两个可选项。默认情况下,b分区会使用swap选项。swap分区建议大小为内存大小

的2倍。mount point相当于DOS系统的目录,系统必须有且只有一个根目录“/”,swap分区无需

mount point。

可以简单的把swap分区以外的全部磁盘空间定义为“/”,但是不建议这么做,因为一旦磁盘出现问题,

就难于根据分区进行修复了。如果您有一个15Gb的硬盘,并且有128Mb的内存,那么建议划分如下:

a 80m 4.2BSD / ;根目录

b 300m swap ;交换分区

d 80m 4.2BSD /tmp ;临时文件目录

e 800m 4.2BSD /usr ;应用程序目录

f 2000m 4.2BSD /var ;应用数据目录

g 剩余空间 4.2BSD /home ;用户目录

如果安装MySQL数据库服务,且要求方便管理的话,那么可以把/var/mysql单独出来一个分区(会在后

面提及)。

划分好分区之后用w命令保存分区信息,q命令退出fdisk程序。

The following partitions will be used for the root filesystem and swap:

wd0a /

wd0b swap

Mount point for wd0d (size=98967k) [/tmp, RET, none, or done]?

系统会再次确认目录分配,可以给粗心大意的人一个修正的机会,如果确定没有错误的话,输入done并

回车即可。

系统会提示是否对其它硬盘进行处理,如果没有其它硬盘或者不需要处理,输入done并回车继续下一个

步骤,如果配置其它硬盘,按照上面的步骤进行即可。注意千万不要对已经配置过的硬盘进行再配置。

系统询问是否进行格式化:

The next step will overwrite any existing data on:

wd0a wd0d wd0e wd0f wd0g

Are you really sure that you're ready to proceed? [n]

当然输入y并回车了,做了这么多,难道不继续吗?



第二节、配置网络

经过硬盘格式化之后,系统将询问是否配置网络:

Configure the network [y]

既然是做服务器,当然要网络支持的,回车开始配置网络。

Enter system hostname (short form): []

Enter DNS domain name: []

输入hostname(主机名)和domain name(域名),如果有合法的国际域名的话,就使用国际域名。先假

设hostname为moo,domain name为01tech.nat(避免和国际域名冲突)。

系统提示配置网卡,手册例子使用的是DE-530TX 10/100Mbps自适应网卡,在OpenBSD下面的设备名为vr0,

如果是NE2000兼容网卡,可能显示为ne0,系统会自动检测并列出来:

You may configure the following network interfaces (the interfaces

marked with [X] have been succesfully configured):

[ ] vr0

Configure which interface? (or, enter 'done') [vr0]

在本例中,系统只有一个网卡,且已经选定,直接回车开始配置,如果没有选定,请输入设备名并回车

进行配置。

IP address (or 'dhcp') ? []

Symbolic (host) name? [moo]

Netmask ? [255.255.255.0]

在IP address中输入dhcp并回车将会使用动态分配的IP地址,作为服务器应该有固定的IP地址,所以这

里应该输入192.168.32.1并回车(关于IP地址和掩码的知识请参考其它文章)。Symbolic (host) name其

实就是hostname啦!系统会自动使用刚才输入的hostname,直接回车就可以了。Netmask(掩码)默认

是255.255.255.0,就用这个吧,回车继续。

Your use of the network interface may require non-default

media directives. The default media is:

media: Ethernet autoselect (100baseTX full-duplex)

This is a list of supported media:

media autoselect

media 100baseTX mediaopt full-duplex

media 100baseTX

media 10baseT mediaopt full-duplex

media 10baseT

If the default is not satisfactory, and you wish to use another

media, copy that line from above (e.g. "media 100baseTX")

Media directives? []

别看这么多信息,其实就做一个事,选择网卡的接入网络方式,最简单的方式就是选择media autoselect

并回车。

系统会询问是否配置其它的网卡,如果系统只有一个网卡的话,会自动选定done,只需要回车即可进入下

一个步骤。其它网卡的配置象上面一样配置就可以了。

Enter IP address of default route: [none]

Enter IP address of primary nameserver: [none]

Would you like to use the nameserver now? [y]

路由route不需要输入,除非要链接到不同域的机器。因为要在这台服务器上提供域名解释服务,所以

nameserver就指向自己吧,也就是输入192.168.32.1就可以了。至于是否现在启动nameserver就没所谓了。

回车继续。

第三节、设置管理员口令

Please enter the initial password that the root account will have.

系统要求输入管理员口令,并确认一次,千万要记住啊,不然电脑重新启动之后进入不了系统进行管理。

这里假设口令为123456,在实际的应用中千万不要使用这样的口令,而应该采用字母、字符和数字混合

的口令。



第四节、安装应用程序

然后安装程序询问是否会运行X Window:

Do you expect to run the X Window System? [y]

当然不会,输入n并回车继续下一步。选择安装媒体介质。

Install from (f)tp, (h)ttp, (t)ape, (C)D-ROM, (N)FS or local (d)isk?

有多种方式安装系统,我们只选择(C),通过CD-ROM安装。

The following CD-ROM devices are installed on your system;

please make

sure the CD is in the CD-ROM drive and select the device containing

the CD with the installation sets:

cd0

Which CD-ROM contains the installation media? [cd0]

系统将检测可用的CD-ROM,并给予选定,这里是只有一个CD-ROM的状态,如果多于一个CD-ROM的状况,

请选择正确的放有安装光盘的CD-ROM,否则安装程序会Halt在那里,无法继续。

Enter the directory relative to the mount point that

contains the file. [/2.8/i386]

确认安装文件所在目录,如果您使用01TECH上面提供的光盘,回车确认即可。

The following sets are available for extraction.

Enter filename, `list', `all', or `done'.

You may de-select a set by prepending a '-' to its name.

[X] base28.tgz

[X] etc28.tgz

[ ] misc28.tgz

[ ] comp28.tgz

[X] man28.tgz

[ ] game28.tgz

[ ] xbase28.tgz

[ ] xshare28.tgz

[ ] xfont28.tgz

[ ] xserv28.tgz

[X] bsd

File name? []

因为安装服务器,我们只需要上面已经打“X”的的程序包,另外,因为有部分程序必须由源程序编译

获得,所以必须选择comp28.tgz。也就是说要有base28.tgz、etc28.tgz、comp28.tgz、man28.tgz以

及bsd。

确认这五个项前面都打“X”后,输入done并回车,询问:

Ready to extract selected file sets? [y]

当然要解包,这个问题实在有点弱智啊!

Extract more sets? [n]

嗯?上帝说,再给你一个忏悔的机会?别管他,回车继续吧!



第五节、设定时区

然后就是选择时区:

What timezone are you in? [`?' for list] [GMT]

可以用?查看一下有什么可以选择的时区,不过确定没有北京时间,选香港的吧,输入Hongkong并回车。

系统一番自动处理之后,终于出现了命令行模式的提示符“#”。恭喜,OpenBSD 2.8到此安装完毕。

输入reboot回车,重新启动电脑吧!记住改为硬盘启动啊!现在可以歇一歇了。



����重新启动电脑之后,用root作为用户名,123456作为密码就可以登录您的OpenBSD 2.8系统了。



第二课、设置域名解释服务

����首先解释一下域名服务(DNS-Domain Name Server)的作用。其实,链接到网络的电脑,只需要知

道IP地址就可以实现访问。但是谁会去记住129.128.5.191这个IP地址是代表OpenBSD的服务器呢?当然

是www.openbsd.org容易记忆得多了。域名服务所实现的作用,就是把www.openbsd.org这样的名字转换

成电脑可以识别的129.128.5.191这样的IP地址。

����所以域名解释服务应当包含两种转换过程:从名字到IP地址(正向解释);从IP地址到名字(反向

解释)。理解了这些基本感念,配置域名解释服务得时候就会比较容易了。



第一节、设置named.boot文件

����OpenBSD 2.8系统在安装完成后就已经有域名解释服务程序named 4.9.7-REL,只是需要人工设定启

动。named的配置文件在/var/named目录里面,文件名是named.boot。一个简单的,可以使用的(当然是

和手册的例子联系起来啦!)的named.boot的文件内容如下:

directory /namedb

cache . root.cache

primary 0.0.127.IN-ADDR.ARPA localhost.rev

primary 32.168.192.IN-ADDR.ARPA 01tech.rev

primary 01tech.nat 01tech

����可以用vi工具来编辑这个文件(vi的使用方法请参考『附录4』)。解释一下这个文件各行的含义:

����第一行用于指定域名解释文件所在目录,其实真正的域名解释文件是放在/var/named/namedb目录里

面,因为我们将采用chroot的方式(执行程序的时候切换到程序需要的用户,并以改用户的根目录作为

根目录的方式)执行named,所以这里是/namedb。

����第二行指定了缓存文件,对于曾经访问过的域名,将会记录在缓存文件里面,以后查询的时候就会

快很多。缓存文件的文件名是root.cache。

����第三行指定了对于本机的域名反解文件。0.0.127.IN-ADDR.ARPA的写法其实就是说要反过来求

127.0.0.x(x的范围是1~255)的对应名称。相关的解释文件是localhost.rev

����第四行和第三行同理,就是要求192.168.32.x的对应名称。相关的解释文件是01tech.rev

����第五行是正解,指定凡是域名为01tech.nat的名称都交给01tech文件进行解释。



第二节、配置域名解释文件

����然后,我们看看/var/namedb目录里面的文件的内容,在系统没有配置域名解释服务的时候,默认

只有两个文件:localhost.rev和root.cache,其中的localhost.rev并非我们需要的内容,要自行改写,

改写后的内容如下:

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (

14 ;Serial

3600 ;Refresh

900 ;Retry

3600000 ;Expire

3600) ;Minimum

IN NS moo.01tech.nat.

1 IN PTR localhost.

����解释一下这个文件的构成吧!其实这个文件由三个RR(Resource record)构成,或者我们用表格的

方式来分析,会比较容易理解吧:

[ name ] [ ttl ] [ class ] type data

@ 省略 IN SOA ……

省略 省略 IN NS ……

1 省略 IN PTR ……

Name必须为主机名或者域名,当使用@时代表缩写,就是和named.boot文件中指定的一样,在这里就代

表127.0.0.x了。

ttl是指此条数据的有效保存期限,通常都忽略掉,采用默认的ttl值。

class指定网络类型,IN代表Internet,基本上都不会使用别的类型。

type常见的有SOA、NS、A、PTR、MX、CNAME等。

SOA(Start Of Authority)后面跟负责这个域的主机,管理员邮箱,序列号,副解释域更新间隔,副解

释域更新失败重试间隔,主解释域失败时副解释域提供数据的有效期限,其它域名解释服务器保留本域

名解释服务器的时间。需要注意的是,在主机和管理员邮箱后一定不能缺少“.”否则系统会自动加上

完整的域名,例如只写moo的话,系统会添加为moo.01tech.nat。所以也可以简单的把SOA语句写

作SOA moo root.moo (……)。

NS(Name Server)后面跟指定的提供域名解释服务的主机名

PTR(Pointer)后面是对应于前面IP地址的名称。

A(Address)后面是对应于前面的名称的IP地址。需要注意正解的A和反解的PTR的记录必须相符,否则会

造成DNS查询不正常,系统变慢。

CNAME用于建立别名,这样访问别名的时候,就会转为访问正式的名称。

MX记录的是一串目的地址列表,用于告诉邮件服务器传送信件的优先顺序。

对于A、CNAME、MX的使用方法将会在后面的正解文件中看到,以后将不再作出解释。

����01tech.rev的文件内容和localhost.rev文件基本相同,如下:

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (

14 ;Serial

3600 ;Refresh

900 ;Retry

3600000 ;Expire

3600) ;Minimum

IN NS moo.01tech.nat.

1 IN PTR moo.01tech.nat.

����01tech的内容如下:

@ IN SOA moo.01tech.nat. root.moo.01tech.nat. (

14 ;Serial

3600 ;Refresh

900 ;Retry

3600000 ;Expire

3600) ;Minimum

IN NS moo.01tech.nat.

IN MX 5 pop.01tech.nat.

moo IN A 192.168.32.1

www IN CNAME moo

pop IN CNAME moo

smtp IN CNAME moo

localhost. IN CNAME moo

01tech.nat. IN CNAME moo

第三节、测试DNS

����好了,说了一大堆的东西,需要好好消化,不过我们还是看看我们的DNS是否正常吧,通过以下

的命令启动named:

named �Ct /var/named

����然后用nslookup来检查DNS是否正常。以下是nslookup运行的结果,任何时候如果域名不能解释,

通过按Ctrl+C可以中断查询。

nslookup

Default Server: moo.01tech.nat

Address: 192.168.32.1

>pop

Server: moo.01tech.nat

Address: 192.168.32.1

Name: moo.01tech.nat

Address: 192.168.32.1

Aliases: pop.01tech.nat

>exit

����如果您完全按照手册的例子来配置您的DNS,但是查询却没有这样的结果,那么您需要重新再来,

好好吃透上面的说明了。



第四节、在启动系统的时候自动启动DNS

����要使系统在启动时自动启动DNS服务非常简单,修改/etc/rc.conf文件里面的相关项就可以了

named_flags=NO 改为 named_flags=””



第三课、配置数据库服务

����如果您不需要数据库服务可以略过本课,但是后面的课程中相当部分和本课有关,所以即使不打算

配置数据库服务,也应该看看本课的内容。

����MySQL数据库是目前最受欢迎的免费数据库,由于具有优异的效率和简洁的控制方式,所以被众多

的服务商采用。尽管它还有一些不足,例如不支持事务和子选择,但这些缺陷可以通过编程解决。

����在本手册开始写作的时候,MySQL的最新稳定版本是3.23.32,还没有OpenBSD的port(OpenBSD中的

每一个应用都是一个port),所以我们在手册光盘中包含了它的源代码包,并写作了本课以教导您如何

在OpenBSD下面编译并安装MySQL。



第一节、展开MySQL源代码包

����首先需要让系统可以读取光盘(因为源代码包在光盘里面啊!),方法非常简单,只需执行以下

的命令即可:

mount /dev/cd0c /mnt

����然后转入/usr/src目录,把MySQL-3.23.32的源代码包解压

cd /usr/src

tar zxvf /mnt/packages/mysql-3.23.32.tar.gz

����这样,在/usr/src目录下面就会有一个名为mysql-3.23.32的目录,里面就是MySQL-3.23.32的源

代码。为了继续后面的工作,我们需要进入该目录。

cd mysql-3.23.32



第二节、为MySQL服务程序建立所需的组和用户

����要正确编译和安装MySQL数据库服务程序,需要建立mysql组和属于mysql组的mysql用户。在以后

运行MySQL数据库服务程序的时候同样需要它们,建立的方法如下:

groupadd mysql

useradd �Cg mysql mysql



第三节、运行配置程序

����因为要编译源代码必须先获得和系统相关的信息,包括编译器版本,系统支持的线程方式

(OpenBSD是一个支持多线程的系统)等。因此需要运行配置程序以获取这些信息。

./configure --prefix=/usr/local \

--localstatedir=/var/mysql \

--with-low-memory \

--without-bench \

--without-debug

����我们解释一下配置程序里面各行的含义。./configure就是要执行的配置程序了;--prefix=/usr/local

表示,编译后的MySQL数据库服务程序将会安装到/usr/local/bin目录当中,而库文件会安装到

/usr/local/lib/mysql目录中,头文件将安装到/usr/local/include目录中;--localstatedir=/var/mysql

表示数据库所用到的数据将会安装到/var/mysql目录中(我们在安装OpenBSD的时候提到如果需要,

可以为/var/mysql建立一个独立的分区就是这个原因,这样可以方便管理);--with-low-memory这一

句至关重要,没有了它,基本上就不要指望在您的机器上面通过编译,除非您拥有超过1Gb的内存,这句

会指导编译程序使用交换分区作为虚拟内存;--without-bench和―without-debug告诉编译器和安装脚本

不需要测试程序和调试信息。

����好了,解释得够清楚吗?



第四节、编译和安装MySQL

����这个步骤非常简单,只需要执行下面的命令即可,其它得事情由电脑来完成。因为编译的过程非常久,

可以喝杯水歇一歇。

make

make install

make init-db



第五节、测试MySQL

����对不起,本节的标题有点含糊。这里的测试是指测试MySQL的编译和安装是否正常。为了测试MySQL

是否被正确编译和安装,需要执行以下的命令:

/usr/local/bin/safe_mysqld > /dev/null &

/usr/local/bin/mysqladmin �Cu root password ‘123456’

����如果第二条命令无声无息地结束了,那么就证明MySQL可以正常使用了。对了,第二条命令其实是更

改系统管理员的口令啊!那么您知道以后使用MySQL程序的时候需要的口令了吗?



第六节、让MySQL在系统启动的时候自动启动

����我们需要做一些工作来让MySQL在系统启动的时候自动启动。首先我们修改/etc/rc.conf文件,添加

以下的行:

mysqld_flags=””

����然后,需要修改/etc/rc文件,找到启动named的代码(第171行),添加以下的代码:

if [ “X${mysqld_flags}” != X”NO” ]; then

echo ‘starting mysqld’

/usr/local/bin/safe_mysqld > /dev/null &

fi

����另外,为了让其它需要用到MySQL的程序编译可以顺利通过,就需要在/etc/rc.local文件中添加以

下的代码:

if [ “X${mysqld_flags}” != X”NO” ]; then

/sbin/ldconfig �Cm /usr/local/lib/mysql

fi



第四课、配置邮件服务

����其实OpenBSD 2.8在系统安装完成之后,就已经安装且启动了邮件服务sendmail。我们在这里需要为

OpenBSD找一个比sendmail更加安全、更加容易使用和高效能的邮件服务程序,我们选择了qmail(利用

qmail加上vpopmail可以把系统用户和邮件用户分离,并且使用虚拟邮件域。再加上MySQL就可以实现邮件

用户的数据库口令校验,这是我选择qmail的原因)。



第一节、关闭sendmail

����因为qmail作为sendmail的替代服务程序,不能和sendmail一起工作,所以必须先关闭sendmail程序。

执行以下的命令关闭正在执行的sendmail程序。

Kill �C9 `cat /var/run/sendmail.pid`

����同时,必须把sendmail相关的链接删除,并把senmail更名

chmod 0 /usr/sbin/sendmail /usr/sbin/sendmail.old

����最后还必须修改/etc/rc.conf文件,更改sendmail_flags以避免系统重新启动时sendmail自动启动。

sendmail_flags=”-q 30m” 改为 sendmail_flags=NO



第二节、安装qmail

����如果一直按照手册的例子进行练习,那么现在应该可以访问CD-ROM,如果系统曾经重新启动,那么

请按照第三课、第一节的内容来访问CD-ROM。

����进入/mnt/packages目录并安装qmail执行代码包:

cd /mnt/packages

pkg_add qmail-1.03.tgz

����安装的过程中会询问是否添加一些组和用户,默认选择Y,不用改变,直接回车继续就可以了。一定

要记录qmaild的uid和nofiles的gid,因为在以后的课程中启动smtp和pop的时候需要它们(例如qmaild的

uid是2850,nofiles的gid是32750)。Qmail被安装到/var/qmail目录。



第三节、配置qmail

����要配置和运行需要DNS正确运行,如果还没有配置DNS服务,请按照第二课的内容进行配置。

����首先执行以下的命令建立新的sendmail链接,以实现和sendmail的兼容:

ln �Cs /var/qmail/bin/sendmail /usr/sbin/sendmail

����然后建立基础的域信息,使用下面的命令来完成:

/var/qmail/setup/config-fast 01tech.nat

����当然,也可以通过/var/qmail/setup/config来设置基础域信息,不过既然DNS正常,为什么不使用更

快捷的方法呢?config的用法请参考/var/qmail/doc里面的文档。

����复制rc文件,并对其进行修改,让它和sendmail兼容:

cp /var/qmail/boot/home /var/qmail/rc

����qmail默认使用Mailbox,而sendmail默认使用Maildir,很多的程序都根据sendmail规则来编写,需

要使用Maildir,所以需要更改rc文件,作出以下的更改:

Mailbox 改为 Maildir



第四节、测试qmail

����安装和配置完成之后当然要测试一下qmail的运作是否正常了,执行以下的命令启动qmail服务:

csh �Ccf ‘/var/qmail/rc &’ > /dev/null &

����然后使用以下的命令查看是否存在qmail-lspawn ./Maildir。如果已经存在,则证明qmail服务已经

正常启动,如果没有找到,就需要按照第三节的内容重新配置。

ps -x



第五节、启动系统时自动运行qmail服务

����首先修改/etc/rc.conf文件,添加以下的内容:

qmail_flags=””

����然后修改/etc/rc文件,找到sendmail的启动代码,在后面添加以下的代码:

if [ “X${qmail_flags}” != X”NO” ]; then

echo �Cn ‘ qmail’; csh �Ccf ‘/var/qmail/rc &’ > /dev/null &

fi



第五课、分离系统用户和邮件用户

����我们使用vpopmail来分离系统用户和邮件用户,这样可以提高系统的安全性。而且vpopmail还可以

使用虚拟域名,也就是同一个IP的不同域名的邮箱。



第一节、展开源代码包

����进入/usr/src目录,并解压vpopmail-4.9.8源代码包,然后进入vpopmail-4.9.8目录:

cd /usr/src

tar zxvf /mnt/packages/vpopmail-4.9.8.tar.gz

cd vpopmail-4.9.8

����

第二节、使用MySQL支持

����如果您的系统没有提供MySQL支持,请跳过这一步。

����修改vmysql.h文件,找到其中的一行内容为:

#define MYSQL_PASSWORD “gipgap”

����把里面的gipgap替换成为可以访问MySQL的系统管理员口令123456:

#define MYSQL_PASSWORD “123456”



第三节、添加组和用户

����编译和运行vpopmail,需要vchkpw组和属于vchkpw组的vpopmail用户。使用以下的命令添加组和用户:

groupadd vchkpw

useradd �Cg vchkpw vpopmail



第四节、准备/etc/tcp.smtp文件

����要编译vpopmail需要有tcp.smtp文件,默认的存放路径是/etc目录,通过下面的命令产生该文件:

echo ‘127.0.0.:allow,RELAYCLIENT=””’ > /etc/tcp.smtp



第五节、运行配置程序

����运行配置程序configure,获取编译所需的编译器,外部环境等信息:

./configure --enable-default-domain=01tech.nat \

--enable-admin-email=zenz-hu@01tech.nat \

--enable-mysql=y \

--enable-sqlincdir=/usr/local \

--enable-sqllibdir=/usr/local \

--enable-large-site=y \

--enable-passwd=n \

--enable-hardquota=8000000

����解释一下各项的含义:--enable-default-domain=01tech.nat指定默认的邮件域是

01tech.nat;--enable-admin-email=zenz-hu@01tech.nat说明管理员的邮箱;--enable-mysql=y告诉编

译器要使用MySQL数据库作口令检查服务;--enable-sqlincdir=/usr/local和―enable-sqllibdir=/usr/local

告诉编译器到哪里寻找MySQL的头文件和库文件;--enable-large-site=y用于把域信息保存到MySQL数据库中,

但是如果有太多的虚拟域则不适宜采用本项;--enable-passwd=n告诉系统不在/etc/passwd口令文件中

查找邮箱用户的口令;--enable-hardquota=8000000限制每个用户的邮箱大小为8Mb。

第六节、编译并安装vpopmail

����只需要简单的命令,即可编译并安装vpopmail:

make

make install-strip

����安装后的vpopmail在/home/vpopmail目录下。



第七节、添加邮件域和更改postmaster口令

����现在的vpopmail还没有邮件域,即使在编译的时候指定了默认的邮件域也一样需要通过执行以下的

程序来添加邮件域:

/home/vpopmail/bin/vadddomain 01tech.nat

����系统会询问属于这个域的postmaster的口令并要求确认,输入123456作为口令吧(记住,这里使用的

任何口令都不应该在实际应用中出现,否则您的系统会有很大的安全问题)!

����如果在这个步骤出现错误提示,那么您很可能需要重新进行本课的练习了。

第八节、启动smtp和pop3服务

����要用户可以用smtp方式发送邮件以及使用pop3方式接受邮件,需要修改/etc/rc文件,在qmail启动代

码后面添加以下的代码:

if [ -x /home/vpopmail/bin/vchkpw ]; then

echo �Cn ‘ smtpd’

/usr/local/bin/tcpserver �Cu2850 �Cg32750 0 smtp \

/var/qmail/bin/qmail-smtpd 2>&1 > /dev/null &

echo �Cn ‘ popd’

/usr/local/bin/tcpserver 0 pop3 \

/var/qmail/bin/qmail-popup pop.01tech.nat \

/home/vpopmail/bin/vchkpw \

/var/qmail/bin/qmail-pop3d Maildir &

fi

����经过上面的修改,系统在每次重新启动之后,都会自动启动smtp和pop3服务了。



����vpopmail的管理手册在/home/vpopmail/doc目录中。

_________________
I have a dream:I want to travel the world.
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 Yahoo Messenger MSN Messenger
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标