Linux常用服务器搭建.docx_第1页
Linux常用服务器搭建.docx_第2页
Linux常用服务器搭建.docx_第3页
Linux常用服务器搭建.docx_第4页
Linux常用服务器搭建.docx_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

标准 责任 服务 发展Linux常用服务器搭建(rhel5.5)1、TFTP服务搭建1.1 概述在嵌入式开发中有宿主机和目标机之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。TFTP服务器作为工作于宿主机的软件,主要提供对目标机的主要映像文件的下载工作。1.2 TFTP服务器的安装利用以下命令就可以看到TFTP服务器已启动,则不用安装rootlocalhost Server# netstat -a |grep tftpudp 0 0 *:tftp若没有安装,在Redhat Enterprise Linux 5的安装光盘中有RPM安装包,挂载光盘后进入到文件夹,找到相应的安装包。rootlocalhost user# cd /media/rootlocalhost media# lsRHEL_5.1 i386 DVDrootlocalhost media# cd RHEL_5.1 i386 DVD/rootlocalhost RHEL_5.1 i386 DVD# ls rootlocalhost RHEL_5.1 i386 DVD# cd Server/rootlocalhost Server# ls tftp*tftp-0.42-3.1.i386.rpm tftp-server-0.42-3.1.i386.rpm其中tftp-server-xxx.rpm是tftp服务器的安装文件,另一个是tftp客户端的安装文件。执行安装命令rootlocalhost Server# rpm -ivh tftp-server-0.42-3.1.i386.rpm建立tftp的主工作目录rootlocalhost Server# mkdir /tftpboot修改配置文件rootlocalhost Server# vi /etc/xinetd.d/tftp主要注意修改的两个地方:service tftp socket_type = dgram protocol= udp wait= yes user= root server= /usr/sbin/in.tftpd server_args = -s /tftpboot -c disable =no per_source= 11 cps = 100 2 flags = IPv4重启服务rootlocalhost Server# /etc/init.d/xinetd restart查看是否启动rootlocalhost Server# netstat -a |grep tftpudp 0 0 *:tftp *:*1.3 TFTP客户端的安装在终端下输入tftp检查客户端是否已经被正确安装。rootlocalhost Server#tftp如果提示command not found,则说明tftp客户端没有被正确安装。否则视为已正确安装。上面已经找到tftp客户端的安装文件:tftp-0.42-3.1.i386.rpm执行安装命令rootlocalhost Server# rpm -ivh tftp-0.42-3.1.i386.rpm1.4 测试TFTP服务在终端提示符下输入命令:tftprootlocalhost Server#tftp 输入help命令,依据提示测试文件的上传和下载2.、NFS服务搭建2.1 概述当您想在装有Linux和Windows的计算机之间共享磁盘空间的时候,Samba通常是您可选择的解决方案。当磁盘需要在Linux服务器之间共享时,网络文件系统(NFS)协议就会被调用. 基本的配置是比较简单的,本章将要讲述配置的关键步骤。NFS(Network File System,网络文件系统)是一种将远程主机上的分区(目录)经网络挂在到本地的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地 分区一样来对远程主机的共享分区(目录)进行操作,类似于windows的共享目录。2.1.1 NFS下的加载 NFS客户使用网络应用程序帮助中的远程程序呼叫(RPC)加载远程文件系统。如果默认RPC超时导致未能加载,客户端会继续尝试重新加载,直到超 过最大尝试次数。默认的超时时间为10,000分钟,大概是一个星期的时间。困难之处在于,如果NFS服务器无法读取,加载命令将会持续一个星期,直到服务器重新在线。用户可以使用bg选项终止重试,使得主加载命令能够继续执行其他请求。 2.1.2 硬加载与软加载 不论位于后台或者前台,不断进行重试的加载被称作硬加载。网络文件系统(NFS)不断进行重试,以保证数据的一致性。对于软加载,重复的远程程序呼 叫(RPC)失败将导致网络文件系统(NFS)操作失败同时也不能保证数据的一致性。不论加载的失败与否,软加载的优点是操作的速度快。缺点是软加载的选 择意味着你可能使用的是不可靠的NFS服务器,如果是这样的话,最好不要把需要更新的关键数据放在那台服务器上。 2.2 NFS服务的安装几个重要的NFS后台程序NFS不是一个独立的程序,它是对一系列互相关联的一起工作的后台程序的总称:l portmap: The primary daemon upon which all the others rely主要的后台程序,其他程序都要依赖于它, portmap程序管理那些用RPC调用的程序的连接。portmap默认监听TCP端口111,这是一个默认启动的端口。然后portmap程序会分配 一些TCP端口用来传输接下来的数据,这些端口号通常是大于1024的。 你必须在NFS的服务器和客户机上同时运行protmap程序。 l nfs: 开启RPC进程用来共享NFS文件系统,你只需要在NFS服务器上运行这个程序。 l nfslock: 用来允许NFS客户端通过RPC进程锁定在服务器上的文件。你必须在NFS的服务器和客户机上同时运行这个程序 l netfs:允许运行在客户机上的RPC进程mount 服务器上的NFS文件系统。你只需要在NFS客户端上运行这个程序。 查看安装版本rootlocalhost Server# rpm qa | grep nfs nfs-utils-1.0.9-24.el5.i386.rpmrootlocalhost Server# rpm qa | grep portmap portmap-4.0-57没有安装,从光盘中找到相应的RPM安装包并安装rootlocalhost Server# rpm -ivh nfs-utils-1.0.9-24.el5.i386.rpm 2.3 NFS服务的配置/etc/exports是NFS的核心配置文件,它由两列组成。第一列列出了你需要在网络中共享的目录,第二列被分成两部分,第一部分列出了可以访问你的共享目录的网络IP,或者DNS域名,第二部分列出了NFS的操作选项。#/etc/exports/data/files *(ro,sync,no_root_squash)/home /24(rw,sync,no_root_squash)/data/test *.(rw,sync,no_root_squash)/data/database 03/32(rw,sync,no_root_squash)以上配置对应的信息如下:l Read-only access to the /data/files directory to all networks l Read/write access to the /home directory from all servers on the /24 network, which is all addresses from to 55 l Read/write access to the /data/test directory from servers in the DNS domain l Read/write access to the /data/database directory from a single server 03.几乎在所有情况下,我们都会使用sync选项以确保存储器的文件数据缓存能够自动写入磁盘。 注:选项可以通过man exports查看2.4 NFS服务的启动2.4.1 开机自动开启NFS服务使用chkconfig命令设置nfs服务开机自动启动rootlocalhost server# chkconfig -level 35 nfs onrootlocalhost server# chkconfig -level 35 nfslock on rootlocalhost server# chkconfig -level 35 portmap on2.4.2 手动开启NFS服务rootlocalhost Server# /etc/init.d/nfs startrootlocalhost Server# /etc/init.d/nfslock startrootlocalhost Server# /etc/init.d/portmap start最后,使用mount命令来挂载NFS服务器上的共享目录2.5 测试NFS服务是否正确运行rootlocalhost server# rpcinfo -p localhostprogram vers proto port100000 2 tcp 111 portmapper100000 2 udp 111 portmapper100003 2 udp 2049 nfs100003 3 udp 2049 nfs100021 1 udp 1024 nlockmgr100021 3 udp 1024 nlockmgr100021 4 udp 1024 nlockmgr100005 1 udp 1042 mountd100005 1 tcp 2342 mountd100005 2 udp 1042 mountd100005 2 tcp 2342 mountd100005 3 udp 1042 mountd100005 3 tcp 2342 mountd2.6 Mount the NFS2.6.1 开机自动加载/etc/fstab文件列出了系统启动时需要被自动挂载的所有分区,因此,如果希望自动挂载某个nfs服务器上的文件系统,你需要编辑/etc/fstab文件。例如,使用本地目录/mnt/nfs挂载位于server bigboy(IP:9)上的nfs类型的/data/files目录#/etc/fstab#Directory Mount Point Type Options Dump FSCK00:/data/files /mnt/nfs nfs soft,nfsvers=2 0 0这个例子仅使用了soft和nfsvers选项,下表列出了其他一些有用的挂载选项/etc/fstab中的分区在系统启动时会被自动加载,同时也可以使用mount a 激活。2.6.2 手动加载rootlocalhost client# mount -tnfs 9:/shared_dir /mnt/nfs2.7 取消加载rootlocalhost clientumount /mnt/nfs3、 Http服务搭建3.1 概述Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性2 被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将PerlPython等直译器编译到服务器中。3.2 httpd的安装在Apache官网下载apache httpd的源码包:httpd-2.2.22.tar.gzrootlocalhost server# wget /apache-mirror/httpd/httpd-2.2.22.tar.gz解压源码包rootlocalhost server# tar zxvf httpd-2.2.22.tar.gz配置rootlocalhost server# cd httpd-2.2.22rootlocalhost server# ./configure -prefix=PREFIX编译、安装源码包 rootlocalhost server# make & make install安装完毕开启服务rootlocalhost server# PREFIX/bin/apachectl start3.3 测试http服务是否可用3.3.1 测试1打开Firefox 在地址栏输入:http:/localhost/ 显示it works ! 到现在为止,apache httpd 已经可以正确启动了。 3.3.2 测试2 自定义html文件新建文件test.html编辑test.html ,加入一下内容(参考) Test For Apache Httpd 将文件复制到PREFIX/ htdocs/ 下参考的命令如下: 打开Firefox ,在地址栏输入http:/localhost/test.html ,查看结果。4、 Vsftp服务搭建4.1 概述文件传输协议(FTP)是互联网上服务器之间最常用的一种文件拷贝方式。大多数基于下载的web站点都利用浏览器的内置FTP组件,因此大多数的服务器操作系统都将FTP服务应用程序作为它的软件套件。Linux也不例外。 本章节将向您展示如何利用Fedora中默认的 非常安全FTP守护进程(VSFTPD)软件包 使您的linux服务器成为一个FTP服务器。 4.2 FTP总览FTP是依靠一对TCP端口来完成工作的。它是按下面解释的2条连接通道来操作的: FTP控制通道,TCP 21 端口:所有您发出和FTP服务器的响应命令都是通过这条控制通道来传递的,但是任何返回的数据(例如: ls 命令 显示文件或目录列表)都将通过数据通道来传递。 FTP 数据通道,TCP 20 端口:这个端口用于客户端和服务器端所有并发数据的传输。 除了这些通道外,还有多个FTP服务种类。 4.3 FTP类型从网络的观点来看,主要有2中FTP类型:主动FTP和被动FTP。对于主动FTP来说,ftp服务器主动向FTP客户端发起一个数据传输连接。而对于被动FTP来说,这个连接是FTP客户端发起的。下图是相关说明。从用户管理的角度来看FTP可分为2类:常规FTP,这此种FTP服务器文件传输需要使用通过验证的用户名和密码,匿名FTP提供全体都可 以登陆进行普通的访问仔细看下面的每个类型 4.3.1 主动 FTP 主动FTP的事件顺序如下: 1. 服务器的FTP服务端以端口21和你的客户端建立连接。你的命令,例如“ls”和“get”通过这个连接来发送。 2. 一旦客户端通过控制连接发送一个数据请求,服务器端就会和建立一个数据传输连接反户客户端。这个数据传输连接的源端口在服务器端通常为20,而目的端口在客户端上则通常为一个高于1024的端口。 主动ftp可能失败原因在客户端保护来在互联网路由可能由一个地址转换防火墙不会知道许多服务器在这个接收都需要返回 主动FTP失败的原因可能是客户端由一个地址转换路由与互联网隔离了。防火墙不会知道许多服务器在这个接收都需要返回 4.3.2 Passive FTP 被动FTP的事件顺序如下: 1. 你的客户商与ftp服务端端口21进行连接,你的那些命令如其中的ls和get是发送在这个连接上 2. 每次客户端请求数据在这个控制连接,这个客户端初始化这个数据传输到这个服务器,客户端上一个很高的请求端口与服务器很高的目的地端口 被动连接是服务器从没主动尝试与客户端连接来看,因为客户端总是初始化请求连接,被动ftp更好工作在受保护的防火墙 由于windows 默认是工作主动Ftp.Linux默认是工作在被动ftp你要必须在你的ftp服务器容纳这两种不同工作方式 4.3.3常规FTP服务器 默认情况下,VSFTPD允许用户经过用户名和密码从FTP客户端登陆验证后,复制来他们的文件 VSFTPD也有一些选项允许这些类型的访问只能为某一些组用户,使你能设置授权人员添加新文件 非匿名的FTP服务器缺点是不利于普通的下载,当发布软件的时候给每个设置不同的linux账号,或者共 享一个用户和密码使用匿名FTP服务器可以解决这个缺点 4.3.4 匿名FTP匿名FTP对于需要给远程未知用户交换文件的网站来说,是一个不错的选择常见用途包括软件下载、更新mp3、上传错误信息给技术支持等。不同于常规FTP(如果你要登陆还要预先有一个linux用户和密码)匿名服务器只需要你有一个匿名用户名和一个作为密码使用的邮箱地址。一旦登录到vsftpd服务器,你将自动拥有对于匿名ftp目录(VSFTPD的匿名目录是/var/ftp)以及子目录的访问权限 使用匿名的FTP作为一个远程用户是相当方便的 VSFTPD可以在配置文件配置支持匿名和基于用户的FTP服务器。 你将在下面看到这些内容。4.4 安装vsftpd服务查看系统中是否已经安装了vsftpdrootlocalhost root rpm -qa | grep vsftpd若没有安装,在Redhat Enterprise Linux 5的安装光盘中有RPM安装包,挂载光盘后进入到文件夹,找到相应的安装包rootlocalhost user# cd /media/rootlocalhost media# lsRHEL_5.1 i386 DVDrootlocalhost media# cd RHEL_5.1 i386 DVD/rootlocalhost RHEL_5.1 i386 DVD# ls rootlocalhost RHEL_5.1 i386 DVD# cd Server/rootlocalhost Server# ls vsftpd*vsftpd-2.0.5-16.el5_4.1.i386.rpm安装该rpm包rootlocalhost root rpm ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm启动vsftpd服务rootlocalhost root service vsftpd start4.5 测试vsftpd4.5.1 使用netstat命令测试rootbigboy root# netstat -a | grep ftptcp 0 0 *:ftp *:* LISTENrootbigboy root#如果vsftpd没有运行,则该netstat命令不会有任何输出。4.5.2 实例测试确认vsftpd服务已经启动后,我们可以在任意一台主机的DOS命令窗口里输入ftp FTPAddres(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:rootlocalhost user# ftp ftpServerAddrConnected to localhost.localdomain.220 (vsFTPd 2.0.5)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (localhost:wzz): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp4.6 配置vsftpd服务在Red Hat Linux里的vsftpd共有3个配置文件,它们分别是:vsftpd.ftpusers:位于/etc或者/etc/vsftpd目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等vsftpd.user_list:位于/etc或者/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。vsftpd.conf:位于/etc或者/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。#vi /etc/vsftpd/vsftpd.conf4.6.1 用户登录控制l anonymous_enable=YES,允许匿名用户登录。l no_anon_password=YES,匿名用户登录时不需要输入密码。l local_enable=YES,允许本地用户登录。l deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。l banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。4.6.2 用户权限控制 l anon_root=xxx 设定匿名用户登录的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。l write_enable=YES,开启全局上传权限。l local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。l anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。l anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。l chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!l chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。l chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。l chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。l nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。l async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!l ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASC模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASC模式的传输。注意:启用ascii_download_enable选项会让恶意远程用户们在ASC模式下用SIZE/big/file这样的指令大量消耗FTP服务器的I/O资源。这些ASC模式的设置选项分成上传和下载两个,这样我们就可以允许ASC模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。4.6.3 用户连接和超时选项 l idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。 l data_connection_timeout=120,设定默认的数据连接超时时间。 4.6.4 服务器日志和欢迎信息 l dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。 l ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。 l xferlog_enable=YES,启用记录上传/下载活动日志功能。 l xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。配置后之后记得把/var/ftp/pub权限设置好哦!不然不能上传。4.6.5 一个简单的配置实例以下是一个简单地vsfptd配置实例,允许匿名用户登陆,上传及新建权限anonymous_enable=YESno_anon_password=YESlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESxferlog_enable=YESxferlog_file=/var/log/vsftpd.logidle_session_timeout=600data_connection_timeout=1205、 Samba服务搭建5.1 简介Samba 是一个允许将linux 的文件以及其它资源(例如打印机)共享给Windows 的软件套装。5.2 安装Samba服务大多数RedHat和Fedora linux软件都是采用RPM格式的。下载和安装RPM软件包并不难,可以参考第6章安装Linux软件(那里涉及到具体的操作细节) Samba由一系列的RPM软件包组成,可以在Fedora安装CD中找到。这些文件包括 samba samba-common perl-Convert-ASN1 samba-client samba-swat 当你搜索这些文件的时候,记住这些RPM软件包的名字通常带有一系列的数字,比如samba-client-3.0.0-15.i3865.3 启动Samba l 你可以使用chkconfig命令使Samba在系统启动时启动 rootbigboy tmp# chkconfig smb onl 你也可以在启动后运行如下的smb初始化脚本来启动/停止/重启Samba rootbigboy tmp# service smb startrootbigboy tmp# service smb stoprootbigboy tmp# service smb restart注意事项:和其它Linux软件不同的是,在修改Samba配置文件后无需重启Samba,因为Samba当每次客户端请求时都读取配置文件。 你可以使用pgrep命令来测试smb进程是否在运行,然后你将得到一个进程号 rootbigboy tmp# pgrep smb5.4 配置Samba服务 /etc/samba/smb.conf是

温馨提示

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

最新文档

评论

0/150

提交评论