您的当前位置:首页正文

《redhat linux服务器配置与应用》学习笔记

2020-02-29 来源:好走旅游网


第0章:认识linux

特点:完全免费、高效安全稳定、支持多硬件平台、友好的用户界面、强大的网络功能、支持多任务、多用户。

第1章:安装linux服务器

选自动分区。F

GRUB:是一个多重启动管理器,它负责装入内核并引导linux系统。还可以引导其它操作系统,如windows.

windows支持的文件系统有FAT16/FAT32/NTFS等,而Linux支持的文件系统有ext/ext2/ext3/ntfs/vfat/msdos/minix等。

为什么要建立普通用户:root管理员的权限实在太大了,它在系统中的所有操作不受任何限制,这也使得它非常危险,因为任何一个误操作对系统而言都是致命的破坏,所以除非需要对系统进行配置或管理,否则对一般日常使用,应该使用普通用户来登录完成。

设置文本启动方式:编辑/etc/inittab文件,找到语句“id:5:initdefault:\5改为3,重启后就进入文本界面了。

设置语言参数:默认语言编码是“zh_CN.UTF-8”,这在X-Windows桌面环境下的“终端”窗口操作是能正确显示汉字的,但如果是通过SSH或Telnet等方式进行远程管理,就会发现汉字变成乱码了。要解决这个问题,编辑文件/etc/sysconfig/i18n,将第一句“LANG=\"zh_CN.UTF-8\"改为”LANG=\"zh_CN.GB18030\"即可。需要重新登录。

删除Linux:

使用DOS启动盘启动,用fdisk/mbr命令删除GRUB;

使用分区魔术师PartitionMagic或DM等分区工具删除Linux分区,然后为Linux分区后留下的可用空间分区和格式化。

第二章:Samba服务的配置与应用

SMB是局域网上的共享文件夹/打印机的一种协议。它是Microsoft和Intel公司在1987年开发的。

SMB服务的安装:

rpm -q sambas

(检查是否安装该服务)

rpm -ivh /media/cdrom/redhat/rpms/samba-3.0.10-1.4e.i386.rpm

(安装该服务)

SMB服务的配置:

前置条件:查看/etc/services文件中“netbios”开头的记录是否都可用,如果被删除或记录前有“#”,也将使用户无法访问Linux服务器上的资源。(netbios是

windows“网上邻居”的通信协议);查看防火墙是否关闭(默认情况下linux防火墙是不允许windows客户访问samba的。

SMB服务的配置文件:

smb.conf是设置核心。

smb服务的密码文件:smbpasswd -a linux帐户名 如(tom)

smb用户映射文件:

用户映射通常在windows和linux主机之间进行。目的就是将两个不同的用户映射成一个用户。做了映射后的帐号,在使用samba服务器上的共享资源时,就可以直接使用windows帐号进行访问。

要使用用户映射,只需将smb.conf配置文件中username map = /etc/samba/smbusers前的注释符号(分号)去除。然后编辑/etc/samba/smbuusers,将需要映射的用户添加到文件中:

单独的linux帐号 = 要映射的windows帐号列表。如:tom = alarm back

smb服务的文件共享:

全局参数:

设置smb服务器所属的群组名称或windows域名:

workgroup = 群组名 如(ALARM)

设置samba服务器的简要说明:

server string = ALARM'S SAMBA SERVER

设置可访问samba服务器的主机、子网或域:

hosts allow = clientl, alarm.com,192.168.16. EXCEPT 192.168.16.4

设置SAMBA服务器启动时,可自动加载的打印机配置文件:

printcap name = etc/printcap

设置是否允许打印配置文件中的开机时自动加载:

load printers = yes

设置Guest帐户名:

guest account = pcguest

指定samba服务器使用的安全等级:

security = user(或shaer/server/domain/ads,共有五个等级)

共享目录:

设置用户个人的主目录:

samba服务为每一个用户提供一个主目录,通常只有用户本身可以使用。默认存放在home目录下,相关设置项目:

command = home directories

browseable = no

writable = yes

设备一个共享目录:

以root用户登录,使用groupadd share 建立share组,并利用命令usermod -g share ygj 将ygj用户添加到 share组中。

使用命令mkdir/home/share 在/home目录下建立子目录share.

使用命令chown :share /home/share 设置share 目录所属的组为share组,然后使用命令chmod -c g+wxr /home/share设置share组对该目录具有读写和执行权限。

在smb.conf配置文件末尾添加配置项目:command = samba's share directory

read list = tom

write list = @share

path = /home/shaer

samba服务的打印共享:

使用setup打开文本模式设置工具,进行设置

启动和停止samba服务:

/etc/rc.d/init.d/smb start

/etc/rc.d/init.d/smb stop

重新启动:

/etc/rc.d/init.d/smb restart

自动启动:

执行ntsysv命令启动服务配置程序,找到smb服务,在前面加上“*”号,再“确定”。

linux客户端的访问:

利用主机名访问:

IP地址 主机名(netbios名称)

如:192.168.16.2 ygj_alarm

利用smbclient访问:

检查smbclient是否安装:rpm -q samba-client

如何安装smbclient: /media/cdrom/redhat/rpms/samba-client-3.0.10-1.4e.i386.rpm

smbclient访问格式:

列出共享列表:

smbclient -l //主机名或ip地址 -u 登录用户名

使用共享资源:

smbclient //主机名或ip地址/共享目录名 -u 登录用户名

如何加载和卸载共享资源:

加载:smbmount 共享资源地址 加载点 -o 参数//ygj_alarm/share /mnt/doc -o username=back

-ivh

如:smbmount rpm

卸载:smbumount 加载点 如:smbumount /mnt/doc\\

windows客户端访问:

“网上邻居”的“查看工作组计算机”中就可以查看

或:“运行”中输入\\\\服务器名或\\\\服务器ip地址。

第三章:NFS服务的配置与应用

NFS即网络文件系统。使用NFS既可以提高资源利用率,又可以大大节省客户端本地硬盘的空间,同时也便于对资源进行集中管理。

NFS安装:

是默认安装。

启动该服务需要两个软件包:nfs-utils/portmap

以下命令检查是否安装了这两个软件包:

rpm -q nfs-utils portmap

NFS的配置:

只需要在/etc/exports中进行设置,然后启动NFS即可。

<输出目录> [客户端1(选项1,选项2,...)][客户端2(选项1,选项2,...)]

输出目录指NFS系统中需要共享给客户端使用的目录

客户端指网络中可以访问这个NFS输出目录的计算机

选项用来设置输出目录的访问权限、用户映射等。访问权限选项:ro/rw;用户映射权限

all_squash/no_all_squash/root_squash/no_root_squash/anonuid-xxx/anongid=xxx;其

secure/insecure/sync/async/wdelay/no_wdelay/subtree_check/no_subtree_check;

维护NFS服务命令:exportfs [选项]

选项:-a:输出在/etc/exports文件中所设置的所有目录;

-r:重新读取/etc/exports文件中的设置,并合设置立即生效,而不需要重新NFS服务;

-u:停止输出某一目录;

-v:在输出目录时将目录显示到屏幕上。

启动和停止NFS服务:

启动:/ect/init.d/portmap start

/ect/init.d/nfs start

停止:/etc/init.d/nfs stop

/etc/init.d/portmap start

重新启动:/ect/init.d/nfs restart

检查服务状态:/ect/init.d/portmap status

/ect/init.d/nfs status

设置自动启动NFS服务:chkconfig --level 35 portmap on

chkconfig --level 35 nfs on

或:执行ntsysv启动服务配置程序,在其中进行设置

测试NFS输出目录状态:showmount [选项] NFS服务器名称或地址

常用选项:-a:显示指定的NFS服务器的所有客户端主机及其所连接的目录;

-d:显示指定的NFS服务器中已被客户端连接的所有输出目录;

-e:显示指定的NFS服务器上所有输出的共享目录;

连接NFS服务器:

mount -t NFS服务器名或IP地址:输出目录 本地挂载目录

如:mount -t nfs 192.168.16.177:/nfs/public /mnt/nfs

卸载NFS服务器:

umount /mnt/nfs

启动时自动连接NFS:NFS服务器名或IP地址:输出目录 本地挂载目录nfs defaults 0 0

第四章:DHCP服务的配置与应用

DHCP(动态主机配置协议),是一个简化主机IP地址分配管理的TCP/IP协议。

查看DHCP服务是否安装:rpm -q dhcp

安装:rpm -ivh /media/cdrom/redhat/rpms/dhcp-3.0.1-12_el.i386.rpm

配置:配置文件是dhcpd.conf

格式:选项/参数 #这些选项参数全局有效

声明{

选项/参数 #这些选项参数局部有效

设置IP作用域:

在dhcpd.conf文件中,用subnet语句来声明一个IP作用域:

subnet 子网ID netmask 子网掩码 {

range 起始IP地址结束IP地址; #指定可分配给客户端的IP地址范围

IP参数; #定义客户端的IP参数,如子网掩码、默认网关等

(注意:“#”为注释符,每句后要用;结尾。与C语言格式类似)

设置IP客户端的IP选项:

设置路由器(默认网关)的IP地址:option routers 192.168.16.1;

设置子网掩码:option subnet-mask 255.255.255.0;

设置DNS域名:option domain-name \"gdvcp.net\";

设置DNS服务器的IP地址:option domain-name-server

192.168.16.2,61.144.56.100;

设置广播地址:option broadcast-address 192.168.16.255;

设置租约期限:default-lease-time 86400;

设置最大租约期限:max-lease-time 172800;

设置固定IP地址:host 主机名 {

hardware ethernet 网上的MAC地址; #指定DHCP客户端网上的MAC地址

fixed-address IP地址; #指定为该DHCP客户分配的IP地址

IP 参数; #指定默认网关等其它IP参数

如:

host pcl {

hardware ethernet 00:a0:cc:cf:9c:14;

fixed-address 192.168.16.20;

}

启用和停止DHCP服务:

启动:/ect/init.d/dhcpd start

停用:/ect/init.d/dhcpd stop

重新启动:/ect/init.ddhcpd restart

设置自动启动:可执行\"ntsysv\"命令

DHCP客户端配置:

直接编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0,找到

\"BOOTPROTO=none\将其改为“BOOTPROTO=dhcp”

重新启动网卡,在该客户端本地终端窗口下执行命令:[root@Fedora4~]# ifdown eth0; ifup eth0

测试该客户端是否配置好:[root@Fedora4~]# ifconfig eth0

第五章:DNS服务的配置与应用

hosts文件:是linux中负责IP地址与域名快速解析的文件。以ASCII格式存在/ect目录下。

linux架设DNS服务器通常是使用Bind程序来实现的。

检查是否安装了DNS服务:

rpm -q bind

安装:

rpm -ivh /media/cdrom/redhat/RPMS/bind-9.2.4-2.i386.rpm

安装chroot软件包:是change root的缩写,它可以改变程序运行时所参考的/根目录位置,即将某个特定的子目录作为程序的虚拟/根目录,严格控制权限,保护服务器安全。

rpm -ivh /media/cdrom/redhat/RPMS/bind/chroot-9.2.4-2.i386.rpm

配置主要名称服务器:

主配置文件:

设置服务器的选项:

设置named要读写文件的路径:directory \"/vat/named\";

设置服务器存放数据库的路径:dump-file \"/var/named/data/cache_dump.db\";

设置服务器统计信息文件的路径:statistics-file

\"/var/named/data/named_stats.txt\";

设置共享文件密钥文件:include \"/etc/rndc.dey\";

设置要区域:

设置根区域:zone \".\"{ };

设置区域的类型:type hint;

设置根服务器列表文件名:file \"named.ca\";

设置主区域:

设置主区域的名称:zone \"example.com\" { };

设置类型为主区域:type master;

设置主区域文件的名称:file \"example.com.zone\";

设置辅域服务器的地址:allow-transfer { };

设置反向解释区域:

设置反向解释区域的名称:zone \"16.168.192.in-addr.arpa\" { };

设置区域的类型为:type master;

设置反向解释区域文件的名称:file \"192.168.16.arpa\";

设置辅域名服务器的地址:allow-transfer { };

根服务器信息文件named.ca:下载地址:

ftp://ftp.rs.internic.net/domain/named.root

区域文件:一个区域内的所有数据(包括主机名和对应IP地址、刷新间隔和过期时间等)必须存放在DNS服务器内,而用来存放这些数据的文件就被称为区域文件。

反向解释区域文件:建立IP地址映射到DNS域名的指针PTR资源记录。

配置辅助名称服务器:

主配置文件是:/etc/named.conf。也需要设置服务器的选项和根区域,方法与配置主要名称服务器的方法相同。

配置缓存cache-only服务器:

只需要建立好主配置文件named.conf即可

启动DNS服务:/etc/init.d/named start

停止DNS服务:/etc/init.d/named stop

重新启动DNS服务:/etc/init.d/nemed restart

自动启动DNS服务:ntsysv

DNS客户端配置:

可直接编辑文件/etc/resolv.conf,然后使用nameserver选项来指定DNS服务器的IP地址。

第六章:web服务的配置与应用

HTTP协议通信发生在TCP/IP连接上,默认端口80.

WEB服务采用客户机/服务器模式。客户机运行WWW客户程序--浏览器。浏览器作用是解释和显示WEB页面,响应用户的输入请求,并

通过HTTP协议将用户请求传递给WEB服务器。WEB服务器一端运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向

客户端发出请求处理结果信息。

Apache服务器的安装:由于目前Apache被重新命名为httpd,因此可用下面命令检查是否安装了Apache。

检查:rpm -q httpd

安装:rpm -ivh /media/cdrom/redhat/rpms/httpd-2.0.52-12.ent.i386.rpm

测试Apache服务器:

执行/etc/init.d/httpd start命令,Web服务已经启动后,在客户端使用的Web浏览器中输入linux服务器的IP地址进行访问。如果

出现Abache的测试页面,表示web服务安装运行正常。

Apache服务的基本配置:

通过编辑Apache主配置文件httpd.conf来实现。

web服务的基本配置:

设置主目录的路径:默认路径:documentroot \"/var/www/html\"

设置默认文档:也就是通常所说的主页。directoryindex index.html index.html.var

设置Apache监听的IP地址和端口号:linten 80

例:listen 192.158.16.177:80

linten 192.168.16,178:8080

设置相对根目录的路径:serverroot \"/etc/httpd\"

设置日志文件:错误日志:Errorlog logs/error_log

访问日志:Customlog logs/access_log combined

设置网络管理员的邮箱地址:serveradmin lindenstar@163.ocm

设置服务器主机名称:servername 192.168.16.177:80

设置默认字符集:adddefaultcharset UTF-8

例:adddfaultcharset GB2312

创建虚拟目录:

使用alias选项可以创建虚拟目录,在主配置文件中,apache默认已经创建了两个虚拟目录。这两条语句分别建立了

“/icons/\"和\"/manual\"两个虚拟目录,它们对应的物理路径分别是“/var/www/icons/\"和\"/var/www/manual\"。

例:创建名为/down的虚拟目录,它对应的物理地址是:\"/software/download\"

alias /down \"/software /download\"

设置目录权限:

options indexes multiviews

allowoverride none

order allow,deny

allow from all

用户认证:假设有一个名为mysecret的虚拟目录,其对应的物理路径是/usr/local/mysecret,现需要对其启用用户认证功能,只允

许用户名为linden和tom的用户访问 。

建立口令文件:用以保存用户名和口令。(-C 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容。所以在添

加第二个用户到口令文件时,就不需要使用-c选项了,每行命令执行后都要求输入相应的用户密码)

htpasswd -c /etc/httpd/mysecretpwd linden

htpasswd /etc/httpd/mysecretpwd tom

建立虚拟目录并配置用户认证:

在apache的主配置文件httpd.conf中加入以下语句建立虚拟目录并配置用户认证。

alias /mysecret \"/usr/local/mysecret\"

authtype basic #设置认证类型

authname \"this is a private directory.please login:\" #设置认证领域内容

authuserfile /etc/httpd/mysecretpwd #设置口令文件的路径

require user linden tom #设置允许访问的用户

测试用户认证:

在服务器中使用命令:“/etc/init.d/httpd restart/”重启Web服务

在客户端的Web浏览器访问这个虚拟目录,这时Web浏览器会弹出需求输入用户名和口令的对话框。

输入用户名和口令后就能访问该目录了。

虚拟主机的配置:虚拟主机的优点:节约投资、节约维护费用、可以获得专业的维护而无需维护人员与昂贵的电源系统 、拥有更

加稳定的性能。

基于IP地址的虚拟主机:

假设服务器有192.168.16.201和192.168.16.202两个IP地址,现需使用这两个IP地址分别创建2台虚拟主机,每台虚拟主机都对应不

同的主目录,可以在主机配置文件httpd.conf添加以下语句实现:

servername 192.168.16.201:80

serveradmin web1@163.com

documentroot \"/usr/www/web1\"

directoryindex index.html

errorlog logs/web1/error_log

customlog logs/web1/access_log combined

servername 192.168.16.202:80

serveradmin web2@163.com

documentroot \"/usr/www/web2\"

directoryindex default.html

errorlog logs/web2/error_log

customlog logs/web2/access_log combined

基于域名的虚拟主机:

假设服务器的IP地址为192.168.16.201,在DNS服务器中有www.abc.com和[url]www.xyz.com[/url]主机地址A资源记录映射到该IP地址,现需使用

这两个域名分别创建两台虚拟主机,每台虚拟主机对应不同的主目录,可以在主配置文件httpd.conf添加以下语句实现:

namevirtualhost 192.168.16.201

servername www.abc.com>

servername www.abc.com:80

serveradmin web1@163.com

documentroot \"/usr/www/web1\"

directoryindex index.html

errorlog logs/web1/error_log

customlog logs/web1/access_log combined

servername www.xyz.com:80

serveradmin web2@163.com

documentroot \"/use/www/web2\"

directoryindex default.html

errorlog logs/web2/error_log

customlog logs/web2/access_log combined

启动和停止Web服务:

启动:/etc/init.d/httpd start

停止:/etc/init.d/httpd stop

重启:/etc/init.d/httpd restart

自动启动:执行\"ntsysv\"命令,启动服务配置程序。

开启防火墙命令:iptables-I INPUT -p tcp --dport 80 -j ACCEPT

CGI运行环境的配置:

CGI是common gateway interface的缩写。HTML功能比较贫乏,用CGI使网页变得不是静态的,而是动态交互式的。

CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量,其中Perl易编译调试、移植性强,几乎成了CGI的标

准或代言词。Perl是practical extraction and reporting language的缩写。

查看perl语言解释器是否安装在系统上:

rpm -q perl

安装perl语言解释器:

rpm -ivh /mnt/cdrom/redhat/rpms/perl-5.8.5-12.1.i386.rpm

httpd.conf文件的配置:

设置存放CGI文件的目录权限:options indexes followsymlinks execCGI

标明CGI程序的文件类型:找到\"#Addhandler cgi-script.cgi\",将“#”删除即可。如同时想运行扩展名为.pl的文件可在后面添加

“.pl”。

测试CGI运行环境:

在CGI文件存放的目录(如/var/www/html/)中建立一个名为test.cgi的文件,该文件的内容:

#!/usr/bin/perl

print \"content-type:text/html/n/n\";

print \"hello world!/n\";

执行命令\"chmod+x/var/www/html/test.cgi\为test.cgi文件添加运行权限。

在客户端的浏览器访问\"http://linux服务器的ip地址/test.cgi\如果出现\"hello world!\"则运行环境配置成功。

PHP运行环境的配置:

JSP运行环境的配置:

第七章:FTP服务的配置与应用

在服务器端,FTP服务器有两个预分配的端口号,分别为21和20。21用于发送和接收FTP的控制信息,20用于改善和接收FTP数据。

在客户端,可动态分配端口,选择范围1024-65535.当一个FTP会话开始后,客户端程序打开一个控制端口(如1032),该端口连接到服务器上的21端口。需要传输数据时,客户端再打开第二个端口(如1033),连接到服务器端口20。

匿名用户:帐户anonymous,它通常以e-mail地址作为口令。用户不受约束的去访问和下载所需的公共资源。

主动模式:对客户机而言,发送请求和数据传输是主动的,端口一般是x和x+1;对服务器而言,接收请求和发送数据端口是被动的,商品一般是21和20。

被动模式:当客户机与服务器之间存在防火墙的话,服务器无法预知客户端用于建立数据连接的端口,可能会无法建立连接。所以客户机处于被动模式。但发送请求与数据传输都是客户端发起的,端口一般是x和x+1;服务器通过21端口接收客户端的请求后,主动开启并通知客户机自己的数据端口是y(一个大于1024的端口)。而后与客户机x+1端口连接传输数据。

FTP服务的安装与配置:

安装aparche服务:并建立好PHP运行环境,默认字符集为中文。

安装Mysql数据库和相关程序:

检查是否安装:rpm -q mysql-server

安装:rpm -ivh

/media/cdrom/redhat/rpms/perl-DBD-mysql-2.9004-3.1.i386.rpm

rpm

/media/cdrom/ridhat/RPMS/mysql-server-4.1.10a-2.RHEL4.1.i386.rpm

-ivh

rpm

/media/cdrom/redhat/RPMS/mysql-devel-4.1.10a-2.rhel4.1.i396.rpm

-ivh

检查是否安装mysql客户端程序:rpm -q mysqlclient10

安装mysql客户端程序:rmp -ivh

/media/cdrom/redhat/rpms/mysqlclient7-3.23.57-4.rhel4.1.i386.rpm

安装php-mysql支持包:

检查是否安装该支持包:rpm -q php-mysql

安装该支持包:rpm -ivh

/media/cdrom/redhat/rpms/php-mysql-4.3.9-3.6.i386.rpm

启动mysql服务:/ect/init.d/mysql start

设置自动运行mysql服务:打开命令\"ntsysv\"

修改Mysql用户root口令:mysqladmin -u root password mygoodpwd (例中设置口令为mygoodpwd)

安装pure-ftpd:

下载pure-ftpd

解压安装包:tar zxvf qure-ftpd-1.0.20.tar.gz

进入解压目录:cd pure-rtpd-1.0.20

配置并指定各种安装选项:

编译:make

安装:make install

生成配置脚本:cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/

修改配置脚本权限:chmod +x /usr/local/pureftpd/sbin/pure-config.pl

建立FTP目录:mkdir /ftproot

生成pure-ftpd服务管理脚本:

进入pure-ftpd解压目录,编辑contrib子目录里的redhat.init文件。找到语句\"fullpath=/usr/local/sbin/$prog\"

;,将

找将

其其

到改改语为

为句:

\"fullpath=/usr/local/pureftpd/sbin/$prog\"\"pureftpwho=/usr/local/sbin/pure-ftpwho\"

\"pureftpwho=/usr/local/pureftpd/sbin/pureftpwho\"

执行以下命令将文件redhat.init复制到/etc目录并重命名为pure-ftpd:

cp contrib/redhat.init /etc/init.d/pure-ftpd

执行以下命令设置文件为可执行:

chcom +x /etc/init.d/pure-ftpd

执行以下命令添加 pure-ftpd服务到系统中,使pure-ftpd可以随系统启动而自动运行:

chkconfig --add pure-ftpd

配置匿名用户登录环境:

默认安装pure-ftpd时已经建立了ftp帐户,但该帐户默认的主目录/var/ftp不存在,所以要使用以下命令为其建立目录/var/ftp:

mkdir /var/ftp

如果希望ftp匿名用户能够上传文件到FTP服务器,就要保证 ftp系统帐户对主目录有写入权限。可用以下命令:

chown ftp:ftp /var/ftp

启动和停止FTP服务:

启动:/etc/init.d/pure-ftpd start

停止:/etc/init.d/pure-ftpd stop

重启:/etc/init.d/pure-ftpd restart

自动启动:执行命令“ntsysv”

使用以下命令开放TCP协议的21和20端口:

/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT

因篇幅问题不能全部显示,请点此查看更多更全内容