第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 因篇幅问题不能全部显示,请点此查看更多更全内容