首页 > Web开发 > 详细

8.Apache服务器

时间:2017-09-01 10:39:42      阅读:398      评论:0      收藏:0      [点我收藏+]

http//www.apache.org

1、概述

1WEB服务器也称为WWWWORLD WIDE WEB,万维网)服务器,主要功能是提供

网上信息浏览服务。

2)常用web服务器

PHPhttpdApache)、nginx

tomcatjsp+html

winIIS

客户端:IEfirefoxchrome、手机(浏览器)browser

3)端口

[root@server1 Desktop]# vim /etc/services

80http

443https

2、安装

 [root@server1 Desktop]# yum install -y httpd-y

或:

httpd-2.2.15-29.el6_4.x86_64.rpm         #apache服务的主程序包

httpd-devel-2.2.15-29.el6_4.x86_64.rpm       #apache开发程序包

httpd-manual-2.2.15-29.el6_4.noarch.rpm    #Apache手册文档

[root@server1 Desktop]# yum install -yhttpd-devel

如果在Xshell中检测apache服务,则需要安装以下软件包:

[root@server1 Desktop]# yum install elinks –y       #安装字符界面下浏览器的客户端

##测试

[root@server1 Desktop]# elinks192.168.18.129

[root@server1 Desktop]# service httpd start

[root@server1 Desktop]# netstat -antup |grep 80

tcp       0      0 :::80               :::*           LISTEN     2624/httpd

3、实战演练

1:搭建一台测试web服务器

要求:部门内部搭建一台web服务器,采用的IP地址和端口为192.168.18.129:80,首页采用index.html文件。管理员E-mail地址为test@zhang.cn,网页编码类型采用UTF-8,网站资源存放在/var/www/html目录下,并将apache的配置文件根目录设置为/etc/httpd目录。

1)安装服务器

[root@server1 Desktop]# yum install -yhttpd -y

2)编辑配置文件

修改配置文件相关参数:
  57 ServerRoot "/etc/httpd"                   #apache配置文件的根目录

  70Timeout 60                                  #超时时间

 136Listen 80                                      #监听端口

 262ServerAdmin root@localhost          #设置管理员e-mail地址

 276ServerName 192.168.18.129:80    #服务器主机名

 292DocumentRoot "/var/www/html"#网站页面根目录

 302<Directory />

 303    Options FollowSymLinks         #当一个目录没有默认首页时,允许显示此目录列表

 304    AllowOverride None

 305</Directory>

 402DirectoryIndex index.html index.html.var      #指定默认首页

[root@server1 ~]# service httpd restart

#测试

技术分享

#取消默认显示页面

[root@server1 ~]# vim/etc/httpd/conf.d/welcome.conf

将文件内容注释掉

[root@server1 ~]# service httpd restart

再次刷新网页,会出现以下界面:

技术分享

#创建首页

[root@server1 ~]# echo ‘welcome towww.zhang.cn!‘ > /var/www/html/index.html

[root@server1 ~]# service httpd restart

再次刷新页面,出现以下界面:

 技术分享

2:搭建LAMP环境

[root@server1 ~]# yum install -y httpdmysql-server php php-mysql

[root@server1 ~]# /etc/init.d/mysqld start

#测试mysql

[root@server1 ~]# mysql

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| test               |

+--------------------+

mysql> exit

#测试php

[root@server1 ~]# cat/var/www/html/index.php

<?php

phpinfo();

?>

[root@server1 ~]# /etc/init.d/httpd restart

技术分享

3:修改根目录及对应参数,设置访问权限

[root@server1 ~]# cd /var/www/html/

[root@server1 html]# mkdir bbs

[root@server1 html]# cp -r /boot/grub/ bbs/

[root@server1 html]# /etc/init.d/httpdrestart

#测试

[root@server1Desktop]# vim /etc/httpd/conf/httpd.conf

292 DocumentRoot"/var/www/html/bbs"

317 <Directory"/var/www/html/bbs">                    #子目录会继承这个目录的属性

331    Options Indexes FollowSymLinks              #目录浏览;可以用连接

338    AllowOverride None

343    Order allow,deny

344    Allow from 192.168.18.0/24                      #从哪里来的允许

345    #Deny from 192.168.18.0/24                    #从哪里来的拒绝

346

347 </Directory>

#allowdeny都会读取,如果有冲突和未说明的时候按照order选项逗号后面的那个为准,谁写在后面,谁的优先级高。

[root@server1 Desktop]# service httpd restart

技术分享

当第345行加上后,刷新后出现以下界面:

技术分享

4:别名,虚拟目录

作用:引用网站根目录以外的网站

[root@server1 Desktop]# vim/etc/httpd/conf/httpd.conf

 343     Order allow,deny

 344#    Allow from 192.168.18.0/24

 345#    Deny from 192.168.18.0/24

 563<Directory "/usr/local/phpmyadmin">

 564    Options -Indexes FollowSymLinks

 565    AllowOverride None

 566    Order deny,allow

 567    Allow from 192.168.18.129

 568    Deny from all

 569</Directory>

[root@server1 Desktop]# mkdir/usr/local/phpmyadmin/

[root@server1 Desktop]# cp/var/www/html/index.html /usr/local/phpmyadmin/

 [root@server1 Desktop]# /etc/init.d/httpdrestart

#测试

技术分享

5:当一个目录下没有默认首页时,访问http://192.168.18.129/phpmyadmin/禁止显示默认目录列表

1)不安全情况

[root@server1 Desktop]# cd/usr/local/phpmyadmin/

[root@server1 phpmyadmin]# ls

index.html

[root@server1 phpmyadmin]# rm  -fr index.html

[root@server1 phpmyadmin]# touch 1.html

[root@server1 phpmyadmin]# cp -r/boot/grub/ /usr/local/phpmyadmin/

[root@server1 phpmyadmin]# ls

1.html grub

[root@server1 phpmyadmin]# vim/etc/httpd/conf/httpd.conf

 563<Directory "/usr/local/phpmyadmin">

 564    Options Indexes -FollowSymLinks

 565    AllowOverride None

 566    Order deny,allow

 567    Allow from 192.168.18.129

 568    Deny from all

 569</Directory>

[root@server1 phpmyadmin]#/etc/init.d/httpd restart

#测试

技术分享

2)安全情况

 563<Directory "/usr/local/phpmyadmin/">

 564    Options -Indexes FollowSymLinks

 565    AllowOverride None

 566    Order deny,allow

 567    Allow from 192.168.18.129

 568    Deny from all

 569</Directory>

[root@server1 ~]# /etc/init.d/httpd restart

#测试

技术分享

技术分享

可以发现:-Indexes,表示目录下没有默认首页时,禁止显示目录

6:打开软连接功能,通过软连接直接引用网站根目录以外的内容

[root@server1 ~]# mkdir /web2

[root@server1 ~]# echo test1 >/web2/a.html

[root@server1 ~]# ln -s /web2/ /var/www/html/web2

[root@server1 ~]# vim/etc/httpd/conf/httpd.conf

打开FollowSymLininks参数

#测试

http://192.168.18.129/

会发现出现web2目录

7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。/usr/local/phpmyadmin/目录,只能通过用户名和密码的方式进行访问。

恢复为以下配置:
[root@server1 ~]# vim /etc/httpd/conf/httpd.conf

 563<Directory "/usr/local/phpmyadmin/">

 564    Options Indexes FollowSymLinks

 565    AllowOverride None

 566    Order deny,allow

 567    Allow from all   

 568</Directory>

[root@server1 ~]# /etc/init.d/httpd restart

#测试

技术分享

方法一:
[root@server1 ~]# vim /etc/httpd/conf/httpd.conf

技术分享

[root@server1 ~]# htpasswd -cm/etc/httpd/conf/passwd.secret tom

New password:

Re-type new password:

Adding password for user tom

[root@server1 ~]# htpasswd -m /etc/httpd/conf/passwd.secretbob

New password:

Re-type new password:

Adding password for user bob

[root@server1 ~]# cat/etc/httpd/conf/passwd.secret

tom:$apr1$BAHUtWCb$Ctm2kg5DdXFZV2qPAPPR51

bob:$apr1$7VX2sDiT$lq6kyWoiu/68aAH7P4Lb0/

[root@server1 ~]# /etc/init.d/httpd restart

#测试

技术分享

技术分享

方法二:

[root@server1 ~]# vim/etc/httpd/conf/httpd.conf

[root@server1 ~]# vim/usr/local/phpmyadmin/.htaccess

[root@server1 ~]# cat/usr/local/phpmyadmin/.htaccess

authtype basic

authname "hello world..."

authuserfile /etc/httpd/conf/passwd.secret

require valid-user

[root@server1 ~]# htpasswd -cm/etc/httpd/passwd.secret tom

New password:

Re-type new password:

Adding password for user tom

[root@server1 ~]# htpasswd -m/etc/httpd/passwd.secret pop

New password:

Re-type new password:

Adding password for user pop

[root@server1 ~]# cat/etc/httpd/passwd.secret

tom:$apr1$fQNh06Oc$53CTIqQ3PCnHY05VaBpuO.

pop:$apr1$uRIwnTht$FRh1i3wIhgihustGMRyOI1

[root@server1 ~]# service httpd restart

#测试

技术分享

8:配置apache虚拟主机,实现在一台服务器上运行多个网站

Apache虚拟主机实现有三种方法:

1)通过不同的IP地址;

2)通过不同的域名;

3)通过不同的端口号;

三种方法都需要打开虚拟主机功能

1000 NameVirtualHost *:80

方法1:通过不同的IP地址,解析不同域名

[root@server1 ~]# ifconfig eth0:1192.168.18.220 netmask 255.255.255.0

[root@server1 ~]# ls /var/www/html/bbs/

grub

[root@server1 ~]# echo ‘bbs.zhang.cn‘ >/var/www/html/bbs/index.html

[root@server1 ~]# ls /var/www/html/

bbs index.html  index.php  rhel6.5 web2

[root@server1 ~]# vim/etc/httpd/conf/httpd.conf

1020 <VirtualHost 192.168.18.129:80>

1021    ServerAdmin webmaster@dummy-host.example.com

1022    DocumentRoot /var/www/html/

1023    ServerName dummy-host.example.com

1024    ErrorLog logs/dummy-host.example.com-error_log

1025    CustomLog logs/dummy-host.example.com-access_log common

1026 </VirtualHost>

1027 <VirtualHost 192.168.18.220:80>

1028    ServerAdmin webmaster@dummy-host.example.com

1029    DocumentRoot /var/www/html/bbs/

1030    ServerName dummy-host.example.com

1031    ErrorLog logs/dummy-host.example.com-error_log

1032    CustomLog logs/dummy-host.example.com-access_log common

1033 </VirtualHost>

[root@server1 ~]# /etc/init.d/httpd restart

#测试

技术分享

再访问192.168.18.220,会出现测试页面

方法2:通过不同的域名解析同一个IP地址

[root@server1 ~]# vim/etc/httpd/conf/httpd.conf

1034 <VirtualHost *:80>

1035    ServerAdmin webmaster@dummy-host.example.com

1036    DocumentRoot /var/www/html/

1037    ServerName www.example.com

1038    ErrorLog logs/www.example.com-error_log

1039    CustomLog logs/www.example.com-access_log common

1040 </VirtualHost>

1041 <VirtualHost *:80>

1042    ServerAdmin webmaster@dummy-host.example.com

1043    DocumentRoot /var/www/html/bbs/

1044    ServerName bbs.example.com

1045    ErrorLog logs/bbs.example.com-error_log

1046    CustomLog logs/bbs.example.com-access_log common

1047 </VirtualHost>

[root@server1 ~]# vim /etc/hosts

192.168.18.129 server1.example.com

192.168.18.129www.example.com

192.168.18.129bbs.example.com

[root@server1 ~]# /etc/init.d/httpd restart

#测试

[root@server1 ~]# elinks 192.168.18.129

[root@server1 ~]# elinks www.example.com

[root@server1 ~]# elinks bbs.example.com

方法3:基于端口配置虚拟主机

[root@server1 ~]# vim/etc/httpd/conf/httpd.conf

136 Listen 80

137 Listen 81

1034 <VirtualHost *:80>

1035    ServerAdmin webmaster@dummy-host.example.com

1036    DocumentRoot /var/www/html/

1037    ServerName www.example.com

1038     ErrorLog logs/www.example.com-error_log

1039    CustomLog logs/www.example.com-access_log common

1040 </VirtualHost>

1041 <VirtualHost *:81>

1042    ServerAdmin webmaster@dummy-host.example.com

1043    DocumentRoot /var/www/html/bbs/

1044    ServerName bbs.example.com

1045    ErrorLog logs/bbs.example.com-error_log

1046    CustomLog logs/bbs.example.com-access_log common

1047 </VirtualHost>

[root@server1 ~]# /etc/init.d/httpd restart

#测试

http://192.168.18.129/

http://192.168.18.129:81/


本文出自 “12025595” 博客,转载请与作者联系!

8.Apache服务器

原文:http://12035595.blog.51cto.com/12025595/1961592

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!