分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

8.Apache服务器

发布时间:2023-09-06 01:07责任编辑:蔡小小关键词:暂无标签

http://www.apache.org

1、概述

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

网上信息浏览服务。

(2)常用web服务器

PHP:httpd(Apache)、nginx

tomcat:jsp+html

win:IIS

客户端:IE、firefox、chrome、手机(浏览器)browser

(3)端口

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

80:http

443:https

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

#测试

650) this.width=650;" title="1.png" alt="wKiom1moqd_iR8r0AADfN0V7Ur8909.png" src="https://s2.51cto.com/wyfs02/M02/05/A0/wKiom1moqd_iR8r0AADfN0V7Ur8909.png" />

#取消默认显示页面

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

将文件内容注释掉

[root@server1 ~]# service httpd restart

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

650) this.width=650;" title="2.png" alt="wKiom1moqfiAvYUZAABasMMsSGQ454.png" src="https://s4.51cto.com/wyfs02/M00/05/A0/wKiom1moqfiAvYUZAABasMMsSGQ454.png" />

#创建首页

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

[root@server1 ~]# service httpd restart

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

 650) this.width=650;" title="3.png" alt="wKioL1moqiqi_iK0AAAz9Llm_7A769.png" src="https://s1.51cto.com/wyfs02/M01/A4/51/wKioL1moqiqi_iK0AAAz9Llm_7A769.png" />

例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

650) this.width=650;" title="4.png" alt="wKiom1moqnqzdcbWAAC-aQuKwMQ566.png" src="https://s2.51cto.com/wyfs02/M01/05/A0/wKiom1moqnqzdcbWAAC-aQuKwMQ566.png" />

例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>

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

[root@server1 Desktop]# service httpd restart

650) this.width=650;" title="5.png" alt="wKioL1moqyHBdFs2AABVW_n6IUg074.png" src="https://s2.51cto.com/wyfs02/M02/A4/51/wKioL1moqyHBdFs2AABVW_n6IUg074.png" />

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

650) this.width=650;" title="6.png" alt="wKiom1moq1PA4PALAABHt_Y693Q033.png" src="https://s1.51cto.com/wyfs02/M00/05/A0/wKiom1moq1PA4PALAABHt_Y693Q033.png" />

例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

#测试

650) this.width=650;" title="7.png" alt="wKiom1moq2yxXuWfAAAqbqZ_BZg949.png" src="https://s2.51cto.com/wyfs02/M00/05/A0/wKiom1moq2yxXuWfAAAqbqZ_BZg949.png" />

例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

#测试

650) this.width=650;" title="8.png" alt="wKioL1moq3GyICz_AABuNxBiDDg384.png" src="https://s3.51cto.com/wyfs02/M00/A4/51/wKioL1moq3GyICz_AABuNxBiDDg384.png" />

(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

#测试

650) this.width=650;" title="9.png" alt="wKiom1moq6DSkL8MAABHQrEes90001.png" src="https://s3.51cto.com/wyfs02/M01/05/A0/wKiom1moq6DSkL8MAABHQrEes90001.png" />

650) this.width=650;" title="10.png" alt="wKioL1moq66w_DatAABmO2HQfHI960.png" src="https://s3.51cto.com/wyfs02/M02/A4/51/wKioL1moq66w_DatAABmO2HQfHI960.png" />

可以发现:-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

#测试

650) this.width=650;" title="11.png" alt="wKiom1moq-2jWppfAABsGogtCeU820.png" src="https://s3.51cto.com/wyfs02/M00/05/A0/wKiom1moq-2jWppfAABsGogtCeU820.png" />

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

650) this.width=650;" title="12.png" alt="wKioL1moq-XziVvNAABHz6t_3KY887.png" src="https://s3.51cto.com/wyfs02/M00/A4/51/wKioL1moq-XziVvNAABHz6t_3KY887.png" />

[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

#测试

650) this.width=650;" title="13.png" alt="wKiom1morfHg3aBmAABsvFGKo2g808.png" src="https://s1.51cto.com/wyfs02/M00/05/A0/wKiom1morfHg3aBmAABsvFGKo2g808.png" />

650) this.width=650;" title="14.png" alt="wKioL1morf7y1MB5AABtscnATRo252.png" src="https://s3.51cto.com/wyfs02/M02/A4/51/wKioL1morf7y1MB5AABtscnATRo252.png" />

方法二:

[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

#测试

650) this.width=650;" title="15.png" alt="wKiom1morzfzyig_AABxA3dWv8M027.png" src="https://s5.51cto.com/wyfs02/M01/05/A0/wKiom1morzfzyig_AABxA3dWv8M027.png" />

例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

#测试

650) this.width=650;" title="16.png" alt="wKioL1morzeytRWdAABwuTUBfeg145.png" src="https://s4.51cto.com/wyfs02/M01/A4/51/wKioL1morzeytRWdAABwuTUBfeg145.png" />

再访问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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved