DHCP和Apache服务

文章出自: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>// 正向区域文件
vhost11D IN CNAMElinux
vhost21D IN CNAMElinux
# 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 routers10.0.0.1;# 网关
option subnet-mask255.0.0.0;# 掩码
option domain-name"wnt.com";# 域名
option domain-name-servers10.0.0.3;# DNS服务器
option netbios-name-servers10.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的话,看一下防火墙

你可能感兴趣的:(apache)