现在的位置: 首页 > 综合 > 正文

DHCP和Apache服务

2013年12月01日 ⁄ 综合 ⁄ 共 6233字 ⁄ 字号 评论关闭
文章出自:http://domren.blog.163.com/blog/static/159825872006102875148468/

Apache
历史:非洲原始部落-->美国直升机-->类unix的web服务器
功能:web服务器
协议:tcp(80)
rpms: httpd、httpd-manual
守护进程: httpd
主配置文件: /etc/httpd/conf/httpd.conf

 

# vi /etc/httpd/conf/httpd.conf<Enter>
ServerRoot "/etc/httpd"  // 程序主目录,相当于win中"%SystemRoot%/system32/inetsrv"
PidFile /var/run/httpd.pid  // 进程文件管理,相当于win中"inetinfo.exe"
Timeout 300    // 连接超大超时,相当于win的连接超时,win默认是900秒
KeepAlive On    // 启用保持http激活
MaxKeepAliveRequests 100   // 一次连接最大的请求次数,‘0’为无限
KeepAliveTimeout 15    // 一次连接多次请求传输之间的时间
MinSpareServers 5   // 最少的空余子进程数
MaxSpareServers 20     // 最多的空闲子进程数
StartServers 8   // 启动时的进程数
MaxClients 150   // 同时连接的客户端的数目
MaxRequestsPerChild 1000   // 最多子进程的上限数目
Listen 80    // 监听端口

User Apache    // 管理服务器的用户
Group Apache    // 管理服务器的组
ServerAdmin root@wnt.com  // 管理员邮箱帐号
ServerName www.wnt.com.cn:80 // 服务器主机名:端口号
DocumentRoot "/var/www/html" // 默认主目录
UserDir disable   // 用户目录,禁用
UserDir public_html   // 用户目录,主目录
DirectoryIndex index.html  // 索引页,相当于win默认文档(default)。

NameVirtualHost *   // 虚拟主机
<VirtualHost *>   // 开始
 ServerAdmin    // 管理员邮箱
 DocumentRoot    // 主目录
 ServerName    // 主机名
 ErrorLog    // 错误日志
 CustomLog    // 自定义日志
</VirtualHost>   // 结束

测试方法
1、通过IE测试
2、# lynx http://ip<Enter>
 <g> -> http://ip/~username<Enter>
 <g> -> http://vhost1.wnt.com:8080<Enter>
 <q>

常见故障:该服务默认可以启动,如果无法启动。
1、主配置文件
2、主机名无法解析
3、IP

准备步骤
# rpm -ivh /root/soft/httpd*<Enter>
# rpm -ivh /root/soft/{lynx*,perl-CGI*}<Enter>
# ping `hostname`<Enter>

 

实验一、默认web站点设置

实验要求:
1、更改默认主目录为"/web"
2、更改端口号为8080
3、启动服务,并保留配置
4、可以通过 http://linux.wnt.com:8080 的方式访问
5、默认索引页设为"default.html",保留原来默认索引
6、用户访问默认站点时,显示“Hello web”

# mkdir /web<Enter>      // 1、
# echo Hello web > /web/default.html<Enter>  // 6、
# vi /etc/httpd/conf/httpd.conf<Enter>
DocuemtnRoot "/var/www/html" ==> DocumentRoot "/web" // 1、":282<Enter>"或"/DocumentRoot<Enter>"=><n>
<Directory "/var/www/html"> ==> <Directory "/web"> // 1、":307<Enter>"
Listen 80 ==> Listen 8080      // 2、":157<Enter>"或"/Listen<Enter>"=><n>
DirectoryIndex index.html index.html.var   // 5、":401<Enter>"或"/DirectoryIndex<Enter>"=><n>
 ==> DirectoryIndex default.html index.html index.html.var
# service httpd start<Enter>    // 3、
# chkconfig httpd on<Enter>     // 3、
# lynx http://linux.wnt.com:8080<Enter>   // 4、

 

实验二、个人web站点
1、系统上只有bob、alice可以做基于个人的web
2、个人web主目录名为"public"

# vi /etc/httpd/conf/httpd.conf<Enter>
"UserDir disable" => "# UserDir disable"     // ":365<Enter>"或"/UserDir<Enter>"
"#UserDir public_html" => "UserDir public"    // ":372<Enter>"或"/UserDir<Enter>"
"#<Directory /home/*/public_html>" => "<Directory /home/*/public>" // ":380<Enter>"
380-391之间,删除行首注释
"#</Directory>" => "</Directory>"      // ":391<Enter>"
# service httpd restart<Enter>

# useradd bob; useradd alice<Enter>
# chmod a+x /home/{alice,bob}<Enter>
# mkdir /home/{alice,bob}/public<Enter>
# echo alice > /home/alice/public/index.html<Enter>
# echo bob > /home/bob/public/index.html<Enter>

测试
# lynx http://linux.wnt.com:8080/~bob<Enter>  bob
# lynx http://linux.wnt.com:8080/~alice<Enter>  alice
# lynx http://linux.wnt.com:8080<Enter>   hello web

 

实验三、虚拟主机
实验要求:
任意用户可以访问同一台web服务器(1.1.1.1)
 http://vhost1.wnt.com 显示"vhost1"
 http://vhost2.wnt.com 显示"vhost2"

# vi /var/named/wnt.zone<Enter>     // 正向区域文件
vhost1 1D IN CNAME linux
vhost2 1D IN CNAME linux
# rndc reload<Enter> -> # host vhost1.wnt.com<Enter> -> # ^1^2<Enter>
# vi /etc/httpd/conf/httpd.conf<Enter>
"#NameVirtualHost *" -> "NameVirtualHost 1.1.1.1"  // ":1019<Enter>"
"#<VirtualHost *>"复制到结尾      // :1024<Enter> ->yG<Enter>
<G> -> <p> 粘贴到文件末尾
修改如下所示
<VirtualHost vhost1.wnt.com>
 DocumentRoot /var/www/vhost1
 ServerName vhost1.wnt.com
</VirtualHost>
<VirtualHost vhost2.wnt.com>
 DocumentRoot /var/www/vhost2
 ServerName vhost2.wnt.com
</VirtualHost>
<VirtualHost linux.wnt.com>
 DocumentRoot /web
 ServerName linux.wnt.com
</VirtualHost>

# mkdir /var/www/{vhost1,vhost2}<Enter>
# echo vhost1 > /var/www/vhost1/index.html<Enter>
# echo vhost2 > /var/www/vhost2/index.html<Enter>

# service httpd restart<Enter>
# chkconfig httpd on<Enter>

DHCP
作用:动态分配置IP
协议:udp(67、68)
rpm:dhcp
守护进程:dhcpd(独立)
两个文件
/usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample  配置示例文件
/var/lib/dhcp/dhcpd.leases     租约文件
查询:
# rpm -q dhcp<Enter>
# rpm -ql dhcp | grep conf.s<Enter>
# rpm -ql dhcp | grep lease<Enter>

准备工作:
?VMware设为仅主机
?VMnet1设为自动获得IP
?VMware编辑菜单/ 虚拟网络设置 / DHCP选项卡 / 删除VMnet1、VMnet8并停止该服务
x:/> ipconfig /all<Enter>     // 查看VMnet1 MAC地址
 // 先将linux设个ip,再将VMnet1设一个同网段的ip,能ping通
x:/> netsh interface ip set address "VMware Network Adapter VMnet1" dhcp<Enter> 
 // 自动获得IP
x:/> netsh interface ip set dns "VMware Network Adapter VMnet1" dhcp<Enter>
 // 自动获得DNS服务器IP

##########################################################################
DHCP配置过程
##########################################################################
实验环境:
1、vmware仅主机(win vm net1通信)
2、查看vm net1的mac地址
3、先将vmnet1设一个IP,可ping通。证明连通性没问题

1)服务器端ip地址 10.0.0.3
2)域名为上面试验的域名
3)地址池在10和20之间
4)默认租用时间为win2k DHCP默认时间
5) 给win2k ip 绑定10.0.0.9
6) MAC 为00-13-03-20-63-2A 保留 ip 10.0.0.18
7) 客户端获得 wins 服务器ip 为 10.1.1.1
8) DNS 服务器为 linux IP

 

Server服务器端
# rpm -q dhcp<Enter>
# rpm -ivh /root/soft/dhcp*<Enter>
# rpm -ql dhcp | grep conf.sa<Enter>
# cp `rpm -ql dhcp | grep conf.sa` /etc/dhcpd.conf<Enter>
# vi /etc/dhcpd.conf<Enter>
=======================================================================
-----------------------------------------------------------------------
subnet 10.0.0.0 netmask 255.0.0.0 {     
 option routers  10.0.0.1;  # 网关  
 option subnet-mask 255.0.0.0;   # 掩码  
 option domain-name "wnt.com";   # 域名  
 option domain-name-servers 10.0.0.3;  # DNS服务器 
 option netbios-name-servers 10.1.1.1;  # wins  
 range dynamic-bootp 10.0.0.10 10.0.0.20;  # 地址池 
 default-lease-time 691200;    # 默认租约时间 
 max-lease-time 1382400;    # 最大租约时间 
 host win2k {      # 标识名任意 
  hardware ethernet 00:50:56:C0:00:01; # 绑定mac地址 
  fixed-address 10.0.0.9;   # 绑定IP地址 
 }         
 host ns {      # 标识名任意 
  hardware ethernet 00:13:D3:20:63:2A; # 绑定mac地址 
  fixed-address 10.0.0.18;   # 绑定IP地址 
 }         
}          
-----------------------------------------------------------------------
=======================================================================
# service dhcpd start<Enter>
# chkconfig dhcpd on<Enter>

 

Client客户端(win2k)
x:/> ipconfig /all<Enter>         // 查看MAC地址
x:/> netsh interface ip set address "VMware Network Adapter VMnet1" dhcp<Enter> // 自动获得IP
x:/> netsh interface ip set dns "VMware Network Adapter VMnet1" dhcp<Enter>  // 自动获得DNS服务器IP
x:/> ipconfig /renew<Enter>         // 重新获得网络配置
x:/> ipconfig /all<Enter>         // 查看获得的配置

如果DHCP服务无法启动的话,请注意头几行的提示信息。
可能的原因有以下几种。
1、本地IP和subnet不是同一网段
2、地址池和本地IP不是同一网段
3、mac地址在linux当中分隔符为":"
4、";"分号结尾
5、"{}"括号成对出现
6、host后的"ns"标签名必须是唯一的
7、看一下VMware状态栏,网卡不是叉
8、win2k3的话,看一下防火墙

抱歉!评论已关闭.