文章目录:
一:前言
1.简介
二:WWW服务器
1.下载Apache
2.启动、停止与重启Apache
2.1启动
2.1.1 手动启动Apache
2.1.2 自动启动Apache
方式一:自动启动使用Red Hat Enterprise Linux 7.3中图形化工具ntsysv
方式二:也可以使用比较通用的命令行chkconfig
2.2 停止与重启Apache
3.配置Apache
三:FTP服务器
1.安装vsftpd
2.vsftpd的启动、停止与重启
3.vsftpd基本配置
3.1 监听地址与控制端口
3.2 FTP模式与数据端口
3.3 ASCII模式
3.4 超时选项
3.5 负载控制
4.vsftpd用户配置
4.1 匿名用户
4.2 本地用户
4.3 虚拟用户
5.vsftpd访问权限配置
5.1 用户登录控制
5.2 目录访问控制
5.3 文件操作控制
5.4 新增文件权限
5.5 日志设置
6.vsftpd.conf常见应用
6.1 允许匿名用户上传文件
6.2 配置高安全级别的匿名FTP服务器
三:Mail服务器
1.邮件系统及sendmail简介
2.sendmail的工作方式
3.启动并测试sendmail
4.sendmail的配置
5.添加邮件账户
6.支持POP和IMAP功能
四:DNS服务器
1.DNS的组成
2. Linux上DNS的分类
3.配置DNS服务器
4.域名服务器配置文件named.conf
4.1 全局定义选项Options
4.2 定义服务器所服务的域指令zone
5.资源记录
6.配置实例
Linux作为一种流行的开源服务器平台,在业界得到了普遍认可,以Red Hat、Novell为首的Linux厂商在服务器市场上占据了主要地位。
本章将对Linux下的Apache网页服务器、FTP服务器、SendMail邮件服务器的配置和使用方法进行介绍。
随着万维网(WWW)的发展,现在Web已不仅仅是一种信息传播的手段,它为世界各地为数众多的用户提供了应用数据库和多媒体功能。
Linux下的Apache是现在最流行的Web服务器。本节将介绍Apache服务器的相关知识。
Linux、Apache、MySQL、PHP构成了目前最流行的网页服务平台。
Red Hat Enterprise Linux 7.3的安装中
如果选择了【最小安装】【文件及打印服务器】【虚拟化主机】
那么系统默认没有安装Apache服务器,需要手工安装,步骤如下。
在Apache的首页下载最新的Apache网页服务器程序:http://httpd.apache.org/
目前,最新版本为2.4.25
手动启动Apache可以直接使用如下命令:
[root@localhost /]#/etc/rc.d/init.d/httpd start在众多的网络应用中,FTP(File Transfer porotocol)有着非常重要的地位。
FTP服务可以根据服务对象的不同分为两类:
一类是:系统FTP服务器,它只允许系统上的合法用户使用;
另一类是:匿名FTP服务器(Anonymous FTP Server),它使用任何人都可以登录到FTP服务器上去获取文件。
和Apache类似,可以直接通过【软件包管理器】进行安装
方式一: vsftpd可以以单独(Standalone)方式运行,如同httpd、named这类服务器的运行方式,这是Red Hat Enterprise Linux 7.3中默认的方式。
方式二:此外vsftpd还可以采用xinetd方式运行,这是以前的Red Hat Linux 7.x和8中的默认方式。
具体的运行方式由选项listen决定。
vsftpd的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。
以“#”字符开始的行是注释行。
每个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。
除了这个主配置文件外,还可以给特定用户设定个人配置文件。
sftpd包中所带的vsftpd.conf文件配置比较简单。
用户可以根据实际情况对其进行一些设置,以使得vsftpd更加可用。
FTP 分为PORT FTP和PASV FTP两类。 PORT FTP是一般形式的FTP。
这两种FTP在建立控制连接时操作是一样的,都是由客户端首先和FTP服务器的控制端口(默认值为21)建立控制链接,并通过此链接进行传输操作指令。
它们的区别在于使用数据传输端口(ftp-data)的方式。
PORT FTP由FTP服务器指定数据传输所使用的端口,默认值为20。
PASV FTP由FTP客户端决定数据传输的端口。
PASV FTP这种做法,主要是考虑到存在防火墙的环境下,由客户端与服务器进行沟通,决定两者之间的数据传输端口更为方便一些。
数据端口的相关设置如下: port_enable=YES/NO
默认情况下,vsftpd是禁止使用ASCII传输模式。
即使FTP客户端使用asc命令,指明要使用ASCII模式,
但是,vsftpd表面上接受了asc命令,而在实际传输文件时,还是使用二进制方式。
下面选项控制vsftpd是否使用ASCII传输模式。 ascii_upload_enable=YES/NO
匿名用户就是用户不需要提供账号和密码就可以对服务器进行访问。
匿名用户的相关设置如下。
anonymous_enable=YES/NO在使用FTP服务的用户中,除了匿名用户外,还有一类在FTP服务器所属主机上拥有账号的用户。
vsftpd中称此类用户为本地用户(local users),等同于其他FTP服务器中的real用户。
本地用户的相关设置如下:
local_enable=YES/NO虚拟用户的设置如下:
guest_enable=YES/NO用户登录控制的相关设置如下:
pam_service_name=vsftpd目录访问控制的相关设置如下:
chroot_list_enable=YES/NO文件操作控制的相关设置如下:
hide_ids=YES/NO新增文件权限的相关设置如下:
anon_umask=日志的相关设置如下:
xferlog_enable=YES/NO允许匿名用户上传文件,只需在vsftpd.conf文件中修改或增加以下选项:
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES只允许匿名访问,不允许本地用户访问
anonymous_enable=YES local_enable=NO电子邮件是整个互联网业务重要的组成部分。
据统计,四分之三以上的用户上网的主要目的是收发邮件,每天有十数亿封电子邮件在全球传递。
电子邮件已成为网络用户不可或缺的需要。
本节对Linux系统中的邮件服务器(包括sendmail服务器以及POP3、IMAP服务器)的安装、配置以及使用作介绍。
Linux中的电子邮件系统包括三个组件:
MUA(Mail User Agent,邮件用户代理)、
MTA(Mail Transport Agent,邮件传送代理)、
MDA(Mail Delivery Agent,邮件投递代理)。
MUA是邮件系统为用户提供的可以读写邮件的界面;
MTA运行在底层,负责把邮件由一个服务器传到另一个服务器或邮件投递代理;
而MDA则负责把邮件放到用户的邮箱里。
简单地说,用户可以使用MUA写信、读信,通过MTA传送信件,然后再由MDA将信件分发到户
最后通用的电子邮件MTA系统是sendmail
整个流程如图11-3所示:
信件传输代理运行在25端口接受请求,当接受用户的请求时,它不需要了解用户的真实身份,或者说不需要身份验证。
当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给那一个服务器,这是通过DNS服务实现的。
DNS数据中,与电子邮件相关的是MX记录,这可以在查询DNS时设置查询类型为mx来得到,在命令行中执行nslookup即可。
和前面介绍的Apache、vsftpd一样,安装sendmail可以通过源代码安装。
sendmail是一个极为复杂的程序,其行为主要地依赖于/etc/sendmail.cf配置文件。
一般来说,大部分使用者是用m4宏处理来书写sendmail.cf。
虽然m4程序几乎和sendmail.cf 一样复杂,不过,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc。
故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。
建立电子邮件新账号的步骤相对简单,只需在Linux里新增一个用户即可。
单击【系统工具】|【设置】|【用户】命令, 弹出【用户】对话框, 单击【+】按钮, 在弹出的【添加用户】窗口中输入用户名及密码即可。假设,添加了一个用户user1(密码为123456),这样该用户同时就有了一个邮件地址user1@somedomain.com。
经过如上配置,就已经可以用Outlook Express等客户端发送邮件,或者登录服务器使用mail、pine命令收取、管理邮件。
但是还不能用Outlook Express等客户端从服务器下载邮件,这是因为sendmail并不具备POP3(IMAP)的功能。
POP和IMAP支持还需要安装两个服务。启动POP和IMAP服务器,首先要确定这些服务存在于/etc/services文件。
DNS(Domain Name System)即域名服务系统,作用为完成域名与IP地址的互换。
网络上的每一台主机都有一个域名,域名给出有关主机的IP地址、Mail路由信息等。
而域名服务器(Name Server)则是指存储有关域名空间信息的程序,具体应用也通过它来完成。
用户可以利用DNS服务器,用简单的域名来代替复杂难记的IP地址。
如果当前DNS服务器中有数据则返回。
若没有,它则会把搜索的信息传递给其他根域DNS服务器,请求解析该域名。
目前,Linux系统上使用的DNS服务器软件是伯克力互联网域名系统(Berkeley Internet Name Domain,BIND)。
从概念上讲,BIND系统由服务器端(Server)和解释器端(Resolver)两个部分组成。
DNS服务器有几种,每种服务器在域名服务系统中所起的作用都不一样。
基本的DNS服务器是主服务器(Master)。
每一个网络至少有一个主服务器,用来解析网络上的域名。比较大的网络可能有多个DNS服务器。
安装和启动DNS服务器的方法和前面类似,DNS服务器的守护进程为named,按需启动即可。
在Red Hat Linux 9中配置DNS服务器有两种方法:
一种是对相关文件进行设置
另一种是用系统提供的图形化工具进行配置。
named.conf文件是域名服务器Bind的配置文件,它一般在/etc目录下。
named.conf文件中的基本指令格式同C语言相似,其基本指令格式如下所示:
directive{ parameter1; … parameterN; }Options选项用来定义一些影响整个DNS服务器的环境。
zone指令用来指明名字服务器所服务的域。
一个域的DNS数据库是一个文本文件集合,并且由该域的主名字服务器的系统管理员维护。
这些文本文件成为区域文件,就是用户在“named.conf”中定义的file。
它们包括2种类型的项:
分析器命令(如$ORIGIN和$TTL)
资源记录(Resource Records)。
资源记录是数据库的真实部分,而分析器命令只是提供输入记录的一些简便途径。
资源记录的基本格式如下:
[name] [ttl] [class] type data 1.SOA记录 2.NS记录 3.A记录 4.MX记录 5.CNAME记录 6.PTR记录这里假定用户建立的DNS服务器所管辖的域名为redhat.com,对应的子网IP地址是10.1.14.0,域名服务器的IP地址为10.1.14.61,配置过程如下。
1.配置启动文件/etc/named.conf 2.创建或保留/var/named/named.ca 3.创建/var/named/named.hosts 4.创建/var/named/named.10.1.14 5.创建/var/named/named.local 6.配置文件/etc/resolv.conf 7.修改/etc/nsswitch.conf 8.启动DNS