实验十九:服务器安装(I)_第1页
实验十九:服务器安装(I)_第2页
实验十九:服务器安装(I)_第3页
实验十九:服务器安装(I)_第4页
实验十九:服务器安装(I)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验十八:服务器的安装一、服务器的安装:详见P269-285(一)、FTP服务1、FTP相关概念:文件传输协议( Protocol,FTP)是TCP/IP协议租中的协议之一,FTP服务器能在网路上提供文件传输服务,可以供用户上传和下载文件。目前在linux中常用的FTP的服务器软件主要是VSFTPD。2、vsftpd服务1)、安装并启动:第一步:检查并安装vsftpd软件包#rpm qa|grep vsftpd如果没有任何返回结果,说明该软件包还没有安装,打开第一个镜像文件,找到相应的软件安装包;若有则显示安装的软件包 安装#rpm -vih vs2.0.5此时查询便可见已经安装的包。第二步:

2、启动vsftpd服务器第三步:测试ftp服务器此时可以通过浏览器输入:(ftp服务器的ip地址)进入共享文件夹。默认的共享文件夹是:2)vsftpd的配置文件说明查看vsftpd的配置文件说明:vs:位于/etc/vsftpd目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。 vs:位于/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。vs:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项

3、、服务器响应消息等FTP服务器的配置。(1)用户登录控制anonymous_enable=YES,允许匿名用户登录。no_anon_password=YES,匿名用户登录时不需要输入密码。local_enable=YES,允许本地用户登录。deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。banned_email_,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vs)。(2)用户权限控制write_enable=YES,开启全局上传权限。local_umask=022,本地用户的

4、上传文件的umask设为022(系统默认是077,一般都可以改为022)。anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!chown_username=whoever,当启用cho

5、wn_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。chroot_list_,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vs)。nopriv_user=,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。async_abor_en

6、able=YES,强烈建议不要启用该选项,否则将可能导致出错!ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASC模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASC模式的传输。注意:启用ascii_download_enable选项会让恶意远程用户们在ASC模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。这些ASC模式的设置选项分成上传和下载两个,这样我们就可以允许ASC模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。(

7、3)用户连接和超时选项idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。data_connection_timeout=120,设定默认的数据连接超时时间。(4)服务器日志和欢迎信息dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。 to blah ,可以自定义FTP用户登录到服务器所看到的欢迎信息。xferlog_enable=YES,启用记录上传/下载活动日志功能。xferlog_,可以自定义日志文件的保存路径和文件名,默认是/var/log/vs。an

8、onymous_enable=YES 允许匿名登录local_enable=YES 允许本地用户登录write_enable=YES 开放本地用户写权限local_umask=022 设置本地用户生成文件的掩码为022#anon_upload_enable=YES 此项设置允许匿名用户上传文件#anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限dirmessage_enable=YES 当切换到目录时,显示该目录下的.message隐藏文件的内容xferlog_enable=YES 激活上传和下载日志connect_from_port_20=YES 启用F

9、TP数据端口的连接请求#chown_uploads=YES 是否具有上传权限. 用户由chown_username参数指定。#chown_username=whoever 指定拥有上传文件权限的用户。此参数与chown_uploads联用。#xferlog_xferlog_std_format=YES 使用标准的ftpd xferlog日志格式#idle_session_timeout=600 此设置将在用户会话空闲10分钟后被中断#data_connection_timeout=120 将在数据连接空闲2分钟后被中断#ascii_upload_enable=YES 启用上传的ASCII传输方

10、式#ascii_download_enable=YES 启用下载的ASCII传输方式# to blah 设置用户连接服务器后显示消息#deny_email_enable=NO 此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址用户登录。#banned_email_ 指定包含拒绝的e-mail地址的文件.#chroot_list_enable=YES 设置本地用户登录后不能切换到自家目录以外的别的目录#chroot_list_#ls_recurse_enable=YESpam_service_name=vsftpd 设置PAM认证

11、服务的配置文件名称,该文件存放在/etc/pam.d/userlist_enable=YES 此项配置/etc/vs中指定的用户也不能访问服务器,若添加userlist_deny=No,则仅仅/etc/vs文件中的用户可以访问,其他用户都不可以访问服务器。如过userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vs中指定的用户不可以访问服务器,其他本地用户可以访问服务器。listen=YES 指明VSFTPD以独立运行方式启动tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES 3)举例建立一

12、个名为test的账户并进行配置根据实际情况对FTP进行配置后,下面举例介绍建立一个FTP账户并进行简单的配置:(1)、创建一个账号为test的账户:#mkdir /tmp/test         /首先创建好目录#adduser -d /tmp/test  -g /sbin/nologin test /-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用。#passwd test Changing pass

13、word for user beinan./接下来会出现让你设置新的密码 New password: Retype new password: passwd: all authentication tokens updated successfully创建账户成功!(2)、限制用户目录,不得改变目录到上级 修改/etc/vs将这两行:#chroot_list_enable=YES #chroot_list_ 释去掉 hroot_list_enable=YESchroot_list_新增一个文件: /etc/vs内容写需要限制的用户名: test重新启动vsftpd # service vsft

14、pd restart(4)、最后为了防止服务器由于断电、重启等现象发生,导致ftp进程在开机后未启动,将其添加到开机启动文件中:A、找到/etc/rc.local文件B、打开该文件,在最后一行添加:service vsftpd startC、保存,退出(4)、通过在“我的电脑”中输入(填该ftp服务器ip地址)进入ftp服务器,输入设置好的账户登陆即可(二)、Apache服务1、Apache相关概念:2、Apache服务1)、安装并启动:第一步:检查并安装vsftpd软件包#rpm qa|grep httpd如果没有任何返回结果,说明该软件包还没有安装,打开第一个镜像文件,找到相应的软件安装包

15、;若有则显示安装的软件包.安装第二步:启动Apache服务器第三步:测试Apache服务器此时可以通过浏览器输入:测试。默认的网站根目录是:2)apache的配置文件说明httpd.conf配置文件(1)基本配置httpd.conf文件包含为下面三个部分:全局环境设置:控制整个Apache服务器行为的部分(即全局环境变量)主服务器配置:定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数虚拟主机设置:虚拟主机的设置参数其中,一行写不下使用“/”表示换行,除了选项的参数值外,所有选项指令不区分大小写,“#”表示注释设置相对根目录的路径相对根目录通常是Apache存

16、放配置文件和日志文件的地方,通常情况下相对根目录是"/etc/httpd",它一般包含conf和logs子目录,此时可以采用"ServerRoot"/etc/httpd""格式进行设置。设置Apache监听的IP地址和端口号Apache默认会在本机所有可用IP地址上的TCP 80端口监听客户端的请求,可以使用Listen语句以便在某个指定地址和端口上监听请求。例如设置服务器只监听4的80端口,则可以在httpd.conf中进行相应的设置:Listen 4:80。如果需要更改端口号为8080,

17、也可以采用"Listen 4:8080"之类的设置,但是此时通过网页浏览器访问网站的时候也必须在域名地址后面添加相应的端口号,例如输入""才可以进行访问。设置网络管理员的电子邮件地址当客户端计算机访问服务器发生错误的时候,服务器通常都会向客户端计算机返回错误提示页面,为了方便解决错误,在这个网页中通常包含有管理员的电子邮件地址,此时可以采用ServerAdmin语句来设置管理员的电子邮件地址,例如"ServerAdmin "。设置服务器主机名称为了方便Apache识别服务器自身的信息,可以使用ServerName

18、语句来设置服务器的主机名称。在ServerName语句中,如果服务器有域名则填写服务器的域名;如果没有域名,则填入服务器的IP地址。例如"ServerName 4:80"。设置主目录的路径Apache服务器主目录默认路径为"/var/",可以将需要发布的网页放置在这个目录中,同时也可以把主目录的路径修改为别的目录便于用户管理和使用。例如需要将Apache服务器主目录路径设置为"/home/lk/www",则可以在httpd.conf文件中进行相应修改:DocumentRoot "/home/www&qu

19、ot;。设置默认文档默认文档是指在网页浏览器中输入Web站点的IP地址或者域名显示出来的Web页面,也就是通常所说的主页。在缺省情况下,Apache的默认文档名为index.html,默认文档由DirectoryIndex语句进行定义,例如在httpd.conf中通过"DirectoryIndex index.html index.html.var"进行设置,此时可以将DirectoryIndex语句的默认文档名修改为其他文件。如果有多个文件名,每个文件名之间必须用空格进行分隔,Apache会根据文件名的先后顺序查找在DirectoryIndex语句中指定的文件名。如果能找

20、到第1个则调用第1个,否则再寻找并调用第2个,依次类推。例如添加index.htm和index.php文件作为默认文档,则可以相应修改httpd.conf文件为"DirectoryIndex index.html index.htm index.php index.html.var"。设置日志文件日志文件对于用户查找系统故障或者分析Web服务器运行状况非常重要,此时有两项重要设置内容。错误日志:错误日志记录了Apache在启动和运行时发生的错误,所以当Apache出错的时候,应该首先检查这个日志文件。通常错误日志的文件名为error_log,错误日志文件存放的位置和文件名可

21、以通过ErrorLog参数进行设置。例如"ErrorLog logs/erroe_log"。如果日志文件存放路径不是以"/"开头,则表示该路径是相对于ServerRoot目录的相对路径。访问日志:访问日志记录了客户端计算机所有的访问信息,通过分析访问日志可以知道客户机何时访问了网站的哪些文件等信息。通常访问日志的文件名为access_log,访问日志文件的存放位置和文件名可以通过CustomLog参数进行设置,例如"CustomLog logs/access_log combined"。(2)配置目录权限、定义目录特性Apache访问

22、的每个目录可设置相关的服务和特性是允许或(和)不允许。(同样影响其子目录)首先,设置"default"地址只有最基本的权限: <Directory /> Options FollowSymLinks AllowOverride None</Directory>注意从现在开始必须制定开启特殊的权限,这样就不会产生意想不到的结果。请仔细确认。例如: <Directory "D:/"># 此值可是: "None", "All", 或下列的组合: "Indexes",

23、# "Includes", "FollowSymLinks", "ExecCGI", 或 "MultiViews".# 注意"MultiViews"必须明确指定- "Options All"不包括此特性。# Options Indexes FollowSymLinks MultiViews# 此项控制目录中哪些.htaccess文件可覆盖。# 允许值: "All"或者以下项的组合:"Options", "", # &

24、quot;AuthConfig", "Limit"# AllowOverride None# 控制哪些用户可从此服务器获得资料。# Order allow,deny Allow from all</Directory>说明:allow和deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。所以,最常用的是: Order Deny,Allow Allow from All注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出

25、错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。按照上面的解释,下面的设定是无条件禁止访问: Order Allow,Deny Deny from All如果要禁止部分内容的访问,其他的全部开放: Order Deny,Allow Deny from ip1 ip2或者 Order Allow,Deny Allow from all Deny from ip1 ip2apache会按照order决定最后使用哪一条规则,比如上

26、面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式: Order Deny,Allow Allow from all Deny from 错误:想禁止来自的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。解决方法:Order Allow,Deny,后面两句不动,即可。 Order Allow,D

27、eny Allow from ip1 Deny from all错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。解决方法一:直接去掉第三句。解决方法二: Order Deny,Allow Deny from all Allow from ip1(3)创建虚拟目录如果我们的网站建在了别的目录,比如/opt/下,是不是不在主目录/var/下就不能访问了呢?当然不是。可以使用虚拟目录,让用户访问到别的目录下的文件。虚拟目录是

28、位于Apache主目录外的其他目录,一般我们通过为虚拟目录创建别名的方式来让web访问。这样做一是安全;二是访问简单,不用输入那么长的真是目录地址,而只用输入一个简单的别名就行;三是便于站点目录的移动,只要虚拟目录名不变,改变实际存放位置,不会影响web访问的。我们用Alias选项创建虚拟目录,如Alias /bbs/ "/opt/"<Directory "/opt/">Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Director

29、y>(4)进行用户认证 用户认证是网络安全中极为重要的一个部分,让想访问指定网站的用户输入用户名和密码才能进行登录,起到了天然的安全屏障作用。Apache的安全认证在实际使用中也是很常见的。现在就通过一个例子演示如果在Apache服务器中实现用户认证的功能。 我们对上述的虚拟目录进行操作: Alias /bbs/ "/opt/"<Directory "/opt/">Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from allAuthType:Basi

30、c AuthName "welcome go home:" AuthUser Require user laoda laoer</Directory>说明:AuthType:定义了对用户认证的类型,常用的是mod_auth提供的Basic;AuthName:Web浏览器显示在输入用户名和密码框时的提示文字;AuthUserFile:定义口令文件htpasswd的路径;Require user:定义了允许访问的用户名单,名字间用空格分隔。之后,建立authpwd文件用来保存密码,touch /etc/httpd/authpwd接着,把用户名和密码写入文件(注意:第

31、一次创建用户时使用-c参数,第二个用户被创建就不必写了,否则会覆盖刚才的用户):rootlocalhost http#htpasswd -c /etc/httpd/authpwd laodarootlocalhost http#htpasswd /etc/httpd/authpwd laoer现在service httpd restart,再用浏览器访问这台linux的IP地址即可。(5)配置虚拟主机为了节省费用和提高服务器的利用效率,我们可以在一台机器上建立出多台“主机”。每个主机都能对外提供WEB服务,在外界看来是些不同的网站,但对服务器而言,其实看似不同的网站,其实它们都是运行于同一台主

32、机之上的不同的虚拟主机而已。如何配置虚拟主机呢?Apache的虚拟主机功能是非常强大的,而且配置很简单。主要分为基于IP和基于域名的虚拟主机。、IP地址相同,但端口号不同:现在我的CentOS上,只有一个IP:4,分别使用8080和8081两个端口配置两个网站,编辑httpd.conf: Listen 8080Listen 8081<VirtualHost 4:8080>DocumentRoot /var/DirectoryIndex index.html index.htmHostNameLookups off</VirtualH

33、ost><VirtualHost 4:8081>DocumentRoot /var/DirectoryIndex index.html index.htmHostNameLookups off</VirtualHost>重启服务,即可。、端口号相同,但IP地址不同,假如一个是94,一个是95:<VirtualHost 4>ServerName 4:80DocumentRoot /var/DirectoryIndex index.html index.htm</VirtualHost><VirtualHost 5>ServerName 5:80DocumentRoot /var/DirectoryIndex index.html index.htm</VirtualHost&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论