2018-Linux系统基础-linux-12-Linux网络服务器配置
Linux网络服务器配置
- 使用OpenSSH可以用加密的方式连接到远程服务器,以提高数据传输的安全性。这种技术用以来替代telent技术。
- 使用VNC可以用图形界面的方式连接到远程服务器,以达到远程控制。
- 通过NFS可以很方便地实现地实现在同一网络的多个用户间共享目录。
- 通常使用Apache软件可以在linux系统上搭建Web服务器
1. OpenSSH服务器配置
- OpenSSH是SHH协议的免费开源实现,它用安全、加密的网络连接工具替代telent。
1.1. 使用OpenSSH的原因
- 使用OpenSSH工具将增进系统安全性,在使用OpenSSH软件进行通信时,登录验证口令将会被加密。而telent和ftp使用纯文本口令,并以明文发送。
- 另一个原因是它自动把DISPLAY变量转发给客户机器。如果本地机器上运行X Windows系统,并使用ssh命令登录到远程机器上,当在远程机器上执行一个需要X的程序时,该程序会在本地机器上执行。
1.2. 配置OpenSSH服务器
- 要运行OpenSSH服务器,必须首先确定是否安装了正确的RPM软件包,其中openssh-server软件包是必不可少的,并且依赖于openssh软件包的安装与否,使用如下命令查询软件是否安装。
rpm -qa|grep ssh
- OpenSSH守护进程使用/etc/ssh/sshd_config配置文件,一般情况下不需要进行配置。
- 要启动OpenSSH服务,可以使用"service sshd start"命令,要停止OpenSSH服务,可以使用"service sshd stop"命令
1.3. Linux客户端的连接
- 要从Linux客户机连接到OpenSHH服务器,必须在该服务及其上装有openssh-clients和openssh软件包,需要首先查看查询是否已经安装了相应的软件包
1.3.1. 使用ssh命令
- 使用ssh命令允许用户在远程计算机上登录并执行相关命令,使用ssh命令登录到远程计算机和使用telent相似
ssh 192.168.0.100
用来登录到相应IP的机器上- 第一次使用ssh在主机上登录的时候,会显示相应信息,需要选择yes确认,然后输入口令之后就可以登录远程主机。
- 登录有如果没有指定用户名,在本地客户机器上登录用的用户名就会远程机器。如果希望指定不同的用户名,需要用一下的命令:
ssh name
- 例子:
ssh -l zhangsan 192.168.1.1
- ssh命令可以用来再远程机器不经Shell提示登录的执行命令,它的语法格式:
ssh [用户名@远程主机IP地址][Shell命令]
1.3.2. 使用scp命令
scp命令可以用来通过安全、加密的链接在不同主机之间传输文件,和rcp相似。
- 把本地文件传输到远程主机上的一般语法:
scp [本地文件][用户名@远程主机IP地址:/目标文件]
- 将远程文件输到本地主机:
scp [用户名@远程主机IP地址:/源文件][本地文件]
1.3.3. 使用sftp命令
- sftp可以用于打开安全互动的、加密的FTP会话,与FTP相似。
- 使用的一般命令为:
sftp [用户名@远程主机IP地址]
1.4. Windows服务器的连接
1.4.1. PuTTY软件介绍
- 通常使用PuTTY等软件来进行连接,该软件支持SSH外壳。
- Putty的主要优点:
- 免费
- 在Windows多个系统下都运行的十分好。
- 全面支持SSH1和SSH2
- 操作简单
1.4.2. 登录OpenSSH服务器
- 从"Host Name(or IP address)"栏中输入OpenSSH服务器的IP地址或主机名,选择SSH方式登录,确保端口为22,单击下面"Open"按钮即可
- 第一次登录时会出现询问对话框,PuTTY会询问是否将远程服务器的公钥(为了避免远程机器被仿冒,每台SSH服务器均有SSH服务器均有不同的密钥)储存在本地服务器的登录文件中。
1.4.3. PuTTY软件显示中文字符
- Putty软件界面时不能显示中文字符的,会显示乱码。
- 如果希望使用PuTTY软件时显示字符,需要修改文件/etc/sysconfig/i18n,将其修改为
LANG ="zh_CN"
2. VNC服务器配置
- 虚拟网络计算(Virtual Network Computing,VNC)是一个远程控制程序,允许用户在网络的任何地方使用简单的程序来和一个特定的计算机(服务器)进行交互。两个交互的计算机可以使不同类型的。
- 其服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好。
2.1. VNC简介
- 远程控制软件最大的好处:通过网络访问特定的计算机。
- 这种方式不能跨平台使用,Linux的主机不能控制非Linux平台的计算机。
- VNC能帮助我们实现Linux远程控制,由两部分组成。
- 一部分是客户端应用程序(vncviewer)
- 另一部分是服务器端应用程序(vncserver)
- 内建了Java Web接口,这样用户通过服务器端的对其他计算机的操作就能通过网页显示出来。
2.2. VNC配置
对VNC进行配置的主要工作为安装VNC安装包、启动VNC服务器、设置VNC密码、控制VNC服务器等
2.2.1. 安装VNC软件包
- 在使用VNC之前,用户需要查看Linux系统是否已经安装了VNC服务器端软件包和客户端软件包,如果没有安装需要先安装。
2.2.2. 启动VNC服务器
- 启动服务器
vncserver
,之后输入账号和密码 - 设置保护密码成功后:
[主机名]:1
2.2.3. 设置VNC密码
- 在启动VNC之前,用户需要用vncpassswd这个命令来创建VNC的口令
- 这将会同时在用户的主目录下创建一个隐藏的目录".vnc",其中一个文件passwd保存着vnc口令。
2.2.4. 控制VNC服务
- 启动:
service vcnserver start
- 停止:
service vcnserver stop
- 重启:
service vcnserver restart
2.2.5. 连接到VNC服务器
- Linux客户端的连接
- “应用程序”->“Internet”->“VNC Viewer”
- 然后输入VNC服务器的IP地址,":1"是要启动X显示方式,然后单击"OK"按钮。
- 也可以在图形界面终端下面输入如下命令
vcnviewer IP_Address
- Windows客户端的连接:
- 使用Win vcnviewer软件
2.2.6. 修改VNC客户端显示的界面
- VCN默认启动的界面时twm,不能运行GNOME图形界面,可以修改/root/.vcnr/xstartup文件使其能显示GNOME界面
- 修改后重新启动Linux系统,再次连接到VNC服务器,就出现GNOME界面
3. NFS服务器配置
- 通过配置NFS服务器可以让客户端挂载服务器上的共享目录,本节主要讲述Linux系统下NFS服务器的配置以及客户端如何进行挂载。
3.1. NFS简介
- NFS对于在同一网络上的多个用户间共享目录很有用途
- 想要访问,需要通过NFS文件系统中的一个挂载为/it的共享目录来访问该工程项目的文件。
- 需要先使用相应命令安装与NFS服务相关的软件包。
3.2. NFS服务器配置
3.2.1. 在图形界面配置NFS服务器
- NFS配置方案工具可以用来把计算机配置成NFS服务器。
- 进入NFS服务器配置工具:“系统”->“管理”->“服务器配置”->“NFS”
- 或者在图形界面下的终端中输入"system-config-nfs"命令
- 需要添加NFS共享,那么单击"添加"按钮,然后弹出相应的对话框。(其中"基本"选项卡中有以下信息)
- 目录:指定要共享的目录
- 主机:指定要共享目录的主机
- 基本权限:指定目录拥有只读权限或读/写权限。
3.2.2. 用字符界面配置NFS服务器
- 可以使用文本编辑器编辑NFS配置文件,NFS服务器的主要配置文件是/etc/exports,该文件控制着NFS服务器导出哪些目录。
- /etc/exports文件
[目录] [主机](选项)
- 请谨慎处理/etc/exports文件中的空格。
- 文件被改变后,必须使用如下命令重新载入配置文件:
service nfs reload
- 主机名格式:
- 单台计算机:可以使用一个人完全限定域名、主机名或是该计算机的IP地址
- 使用通配符指定的机器
- IP网络:使用
a.b.c.d/z
,这里a.b.c.d是网络,z是子网掩码中的位数 - Netgroups:格式为@group-name,这里group-name是NIS netgroup的名称
3.3. 启动和停止NFS服务器
- 在导出NFS文件系统的服务器上,NFS服务必须运行。
- 启动NFS服务:
service nfs start
- 查看NFS服务状态:
service nfs status
- 停止NFS服务:
service nfs stop
- 重启NFS服务:
service nfs restart
- 重新引导系统时自动启动NFS服务,可以使用以下的命令
chkconfig --level 345 on
chkconfig --list nfs
3.4. 挂载NFS文件系统
- 要挂载NFS服务器上的共享目录,有以下两种方法,区别在于修改/etc/fstab文件后在Linux系统启动时自动挂载NFS共享目录。
3.4.1. 使用mount命令挂载NFS文件系统
- 使用mount命令挂载到另一台机器上的NFS文件系统
- 语法命令:
mount [远程主机IP地址:NFS目录][本地挂载目录]
- 卸载一个NFS共享目录:
umount
3.4.2. 使用/etc/fstab文件挂载在NFS文件系统
- 在/etc/fsatb文件中添加一行,这一行需要声明NFS服务器的主机名、要导出的目录以及NFS共享的本地主机目录。
- 书写格式:
192.168.0.0:/it /mnt/it nfs rsize=8192,wsize=8192,timeo=14.intr
3.4.3. 使用TCP传输NFS共享
- NFS的默认传输协议是UDP,要通过TCP来使用NFS,在客户端计算机上挂载NFS导出的文件系统时,需要包括一个-o tcp选项
mount -o tcp 192.168.0.100:/it /mnt/it
- 如果没有-o tcp的话,NFS导出的文件系统会通过UDP默认协议来进行NFS共享
- TCP的优越性:
- 提高了NFS连接的持久性
- 负载较大的网络的性能会有所提高
- TCP的拥塞控制技术比UDP要好
- 错误检测:当TCP连接中断时,客户会停止数据而开始进行重新连接,而UDP是无连接的,用户会继续发送数据给网络发送数据直到服务器重新上线为止。
4. Web服务器配置
- Apache软件为网络管理员提供了丰富的功能,包括目录索引、内容协商、可配置的HTTP错误报告等
4.1. Apache简介
- HTTP服务器配置工具允许为Web服务器/etc/httpd/conf/httpd.conf配置文件。
- 安装httpd和system-config-httpd的RPM软件包。
- 单击:“系统”->“管理”->“服务器设置”->" HTTP",或在图形界面下的终端中输入"system-config-httpd"命令。
4.2. 配置Apache服务器
使用HTTP服务器配置工具配置Web服务器的一般步骤
- 在"主要设置"选项卡下配置基本设置。
- 单击"虚拟主机"选项卡下,配置默认设置。
- 在"虚拟主机"选项卡下,配置默认的虚拟主机
- 如果要为不止一个URL或虚拟主机提供服务,则添加额外的虚拟主机。
- 在"服务器"选项卡下配置服务器设置。
- 在"调整性能"选项卡下配置连接设置。
- 把所有必要的文件复制到DocunmentRoot和cgi-bin目录中。
4.2.1. 主要设置
- "服务名区"文本框中输入有权使用的完整域名。
- 和/etc/httpd/conf/httpd.conf文件中的执行ServerName对应。其指令设置Web服务器的主机名,用来创建URL的重定向。
- "网主电子邮件地址"文本框中输入Web服务器维护者的电子邮件地址。
- "Available Address"文本地址定义服务器接收进入连接请求的端口。
4.2.2. 编辑默认设置
- 在"虚拟主机"选项卡,然后单击"编辑默认设置",弹出"虚拟主机的属性",未定义部分会优先使用默认值。
- 网页选项
- "Directory Page Search List"和"Error Pages"中的默认值对于多数服务器都适用。
- 其中定义的Directory Page Search List中列出的项目定义DirectoryIndex指令。其是用户通过在目录名后制定正斜线来请求目录索引时,由服务器提供的默认网页。
- 使用Error Pages选项框来配置Web服务器在出现错误和问题时把客户重定向到本地或外部URL。该选项和RrrorDocument指令相对应。
- 在默认错误页页脚下拉菜单中,有"显示页脚和电子邮件地址"、“显示页脚”、"无页脚"等相应选项。
- 记录日志
- 可以在"记录日志"选项卡,可以选择默认把日志写入相应文件。
- 传输日志记录了所有对Web服务器试图连接的客户的IP地址,试图连接的日期和时间,以及试图检索的Web服务器上的文件。输入要存储该信息的路径和文件名。
- 用户可以配置定制的日志格式,可以配置LogFormat指令。
- 错误日志包含所发生的服务器错误的列表。
- 日志级别可以还设置错误日志小红错误信息的详细程度。
- 在"逆向DNS查寻"菜单中选定的值定义HostnameLookups指令。
- 在"双向逆向查询"中,服务器会双重逆向查询DNS,应该把相应选项设为"无逆向查寻",因为DNS请求会给服务器增加负载。
- 环境:
- 在环境选项卡上,为了CGI脚本或服务器端嵌入(SSI)页,有时候必须要配置环境变量。
- Web服务器可以使用mod_env模块来配置被传递给CGI脚本和SSI页的环境变量。
- 在"Set for CGI Scripts"部分来设置传递给CGI脚本和SSI页的环境变量。首先设置"MAXNUM"设置相应的值。
- 使用"Pass to CGI Scripts"部分在服务器启动CGI脚本时传递环境变量值。在shell命令下输入"env"命令,单击"Pass to CGI Scripts"右侧的"添加"按钮进行设置。删除也是相应的操作。
- 性能:
- "性能"上的"目录"为指定目录配置选项。与
指令相应。 - 在目录选项中可以配置下列选项:
- ExecCGI:允许执行CGI脚本。
- FollowSymLinks:允许跟随符号连接
- Includes:允许服务器端嵌入
- IncludesNOEXEC:允许服务器端嵌入,但是禁用"#exec"和"#include"命令
- Indexs:如果请求的目录中不存在DirectoryIndex,则显示目录内容的格式化的列表
- MultiView:支持content-negotiated multiview,该选项默认禁用。
- SysmLinksIfOwenerMatch:Apache将不得不调用额外的系统函数来检查符号连接。
- "性能"上的"目录"为指定目录配置选项。与
4.2.3. 虚拟主机设置
- 可以使用HTTP服务器配置工具来配置虚拟主机。虚拟主机允许不同的IP地址、主机名或统一机器中的不同端口运行不同服务器。
- 为某个虚拟主机设置的指令只应用于该虚拟主机。如果某指令使用"编辑默认设置"按钮为整个服务器全局设置,为虚拟主机设置中却没有被定义。
- 添加和编辑虚拟主机:
- 在"虚拟主机"选项卡中,有"添加"选项卡,然后在"常规设置"中进行相应选项的配置。
- 根目录的值设为包含该虚拟主机根目录的目录。
- "网主电子邮件地址"和VirtualHost内的ServerAdmin指令相应。如果选择要在错误页里显示页脚和电子邮件地址的话,该地址被用在序错误页内的页脚上。
- 在"Host Information"部分,选择"默认虚拟主机"、“基于IP的虚拟主机"和"基于名称的虚拟主机”
- 默认虚拟主机:应该只配置一个默认虚拟主机,当请求的IP地址没有在另一个虚拟主机中确切的列出时会被使用。
- 基于IP的虚拟主机:如果选择"基于IP的虚拟主机",一个根据服务器的IP地址来配置VirtualHost指令的界面中的IP地址可以进行指定。
- 基于名称的虚拟主机:如果选择"基于名称的虚拟主机",在里面的NameVirtualHost这个选项框中设置IP地址。
- SSL:
- 如果web服务器没有配置SSL支持,Web服务器和它的客户之间的通信不会被加密,这对于不包括私人或保密信息的网站来说是可行。
- 启用SSL支持会启动mod_ssl安全模块
- 在"SSL配置"部分被预配置了虚拟的数码证书。数码证书为用户的安全万维网服务器提供验证,并向客户万维网浏览器表明安全服务器的身份。
4.2.4. 服务器设置
- "锁文件"的值和LockFile指令相对应。在服务器使用USE_FCNTL_SERIALIZED_ACCEPT和USE_FLOCK_SERIZED_ACCEPT编译时,该指令把路径设为锁文件所用路径。
- "PID文件"的值和PidFile指令相对应。
- "核心转储目录"的值和CoreDumpDirectory指令想对应。
- "用户"的值和User指令相对应。
- Apache用户拥有一定的特权,能够访问外部内容可以看见的文件。该命令是CGI进程的所有者,它只能用来回答执行HTTP请求的编码。
- 在正常操作中,httpd父进程首先以根用户身份来运行。
- "群组"的值与Group指令相对应。Group指令和User指令很相似。默认群组也是Apache。
4.2.5. 调整性能
- 选中"调整性能"选项卡,在此界面中可以配置服务器子进程的最大数量以及客户端连接方面的Web服务器选项。
- 把"最多连接数量"设为服务器能够同时处理的客户请求的最多数量。每个服务器为每个连接创建一个httpd子进程。进程数量达到最大限度后,直到某子进程结束,Web服务器才能接受新客户连接。
- "连接超时"定义Web服务器在通信时等待传输和回应的秒数。
- "每次连接最多请求数量"设为每个持续连接所允许的最多请求次数。默认值是100.
- 如果允许"允许每次连接可有无限制请求",选项会取消MaxKeepAliveRequests的限制。
- 如果取消选择了"允许持久性连接"选项,那么KeepAlive指令就设为false。
- "最多连接数量"设为一个较大的数值可能导致服务器速度减慢。
4.2.6. 保存设置
- 如果不希望保存所作的Web服务器设置,单击HTTP服务器配置工具设置窗口右下角的"取消"并确认后存储下来。
4.2.7. 启动和停止服务
- 启动httpd服务:
service httpd start
- 停止httpd服务:
service httpd stop
2018-Linux系统基础-linux-12-Linux网络服务器配置
https://spricoder.github.io/2018/07/16/2018-Linux-system-basics/2018-Linux-system-basics-linux-12-Linux%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE/