一、WEB网站的基本概念:

           WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里。当使用超文本作为WWW文档的标准         格式后,人们开发了可以快速获取这些超文本文档的协议——HTTP协议,即超文本传输协议

          开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器

WEB服务器软件:在WEB网站上提供网页服务器的服务器程序。

动态WEB网站:区别于传统的静态网站,网站内容能够动态更新,常见的新闻网站,论坛,电子商务网站都是动态WEB网站。

动态WEB网站经典组合:操作系统 + WEB服务器+数据库+开发工具

Windows 2000/2003   IIS       MSSQL        ASP

LAMPLinux     Apache  MySQL    PHP/perl/python

二、Apache服务器的基本配置:

  1. 安装Apache软件包:httpd

  2.开启httpd服务

    #netstat  -tnl |grep  80   (查看是否有80端口,有则启动成功)

  3.设置apache服务器开机后自动运行

  4.测试:在Linux下用elinks(软件包elinks)firefox浏览器测试;在Windows下用IEhttp//192.168.2.1

    测试页:/etc/httpd/conf.d/welcome.conf

 

Apache服务器的配置文件:

#vim /etc/httpd/conf/httpd.conf

-------------------------------------------------------------------------------------------------------------------------

     ServerRoot:用于指定Apache服务器运行的根目录,此目录不能改。Apache服务器开启之后,

会在这个目录下工作。

     MaxClients:指定同时能访问服务器的客户机数量。

     DocumentRoot:服务器共享文件的起始位置,即默认网站的根目录。默认网站的根目录为:

                               DocumentRoot  “/var/www/html”

                                  将网站上传到到网站根目录下,网站的内容就都访问到了。

    DirectoryIndex:默认网站主页

   AddDefaultCharset UTF-8 默认编码方式

   Listen:服务器监听的端口,默认80端口。

   ServerAdmin:设置管理员的信箱。当服务器出现问题时,在客户机出错信息上会显示管理员的

信箱,这时客户机就会利用此信箱地址给管理员发邮件,告知管理员维护。

------------------------------------------------------------------------------------------------------------------------------------------------

 

Apache服务器的高级配置(一)

虚拟主机:

虚拟主机:利用虚拟主机可以实现在一台服务器上实现多个Web站点,

一、配置基于IP的虚拟主机:

   注:在一台服务器上配置多个IP地址的方法有两种:

①安装多块物理网卡,对每块网卡配置不同的IP地址。

②在一块网卡上绑定多个IP地址。

ifconfig eth0172.18.211.9/24

ifconfig eth0:1172.18.211.10/24

 

<VirtualHost172.18.211.9:80>

DocumentRoot/var/www/bj

</VirtualHost>

<VirtualHost172.18.211.10:80>

DocumentRoot/var/www/sh

</VirtualHost>

 

二、基于端口的虚拟主机:

Listen 80

Listen 8080

<VirtualHost*:80>

DocumentRoot/var/www/bj

ServerName172.18.211.9:80

</VirtualHost>

<VirtualHost*:8080>

DocumentRoot/var/www/sh

ServerName172.18.211.9:8080

</VirtualHost>

 

三、配置基于域名的虚拟主机:

基于域名的虚拟主机:即配置多个域名指向同一个IP地址,访问不同域名时访问的是同一主机上的不同网站。

      实现过程:

配置DNS,实现对www.bj.com www.sh.com的解析

 #vim /etc/httpd/conf/httpd.conf

----------------------------------------------------------

 NameVirtualHost  *:80

<VirtualHost*:80>

DocumentRoot/var/www/bh

ServerName www.bj.com

</VirtualHost>

<VirtualHost*:80>

DocumentRoot/var/www/sh

ServerName www.sh.com

</VirtualHost>

----------------------------------------------------------

认证授权和访问控制

ip访问控制:

 

目录控制语句以<Directory  目录名>开头;以</Directory>结束。

 先允许后拒绝,以最后一次匹配到为准,默认拒绝所有:Order allow,deny

 先拒绝后允许,以最后一次匹配到为准,默认允许所有:Order deny,allow

 

AllowOverride None:不允许覆盖,即不允许从根目录向子目录覆盖。即默认情况下拒绝从根目录下向子目录访问,如果要看根目录下的一个子目录,必须先打开子目录的访问权限。

 

 Order  allowdeny:访问控制的顺序,先匹配允许,再匹配拒绝,默认拒绝。

Allow  from  all:表示允许任何地址访问。

Allow  from  172.18.49.0/24

Deny from  172.18.49.102

 

用户身份认证授权

主要参数

Authtype是认证类型 Basic apache自带的基本认证

Authname 认证名字,是提示你输入密码的对话框的提示语

Authuserfile 是存放认证用户的文件

require user 用户名允许指定的一个或多个用户访问,如果认证文件里面还有其他用户,还是不能访问

require valid-user 所有认证文件里面的用户都可以访问

require group 组名  授权给一个组,较少用

 

vim/etc/httpd/conf/httpd.conf

-------------------------------------------

<VitrualHost172.18.211.100>

DocumentRoot /www/bj

<Directory/www/bj>认证的目录

AuthTypeBasic   认证的方法:密码

AuthNamePassword!登录框的提示

AuthUserFile/etc/httpd/webpasswd 验证的文件

require user tom 认证的要求(密码文件里只有tom可以登录)(require valid-user密码文件中所有存在的用户都可以登录) 

</Directory>

</VitrualHost>

--------------------------------------------

htpasswd -c /etc/httpd/webpasswd tom  创建/etc/httpd/webpasswd并且将tom加入验证文件,为tom设置密码

htpasswd /etc/httpd/webpasswd jack  将jack加入验证文件,为jack设置密码

 

 

源码包安装httpd 

软件  编写编译链接运行  安装

 

一、配yum

1.挂光驱 mount /dev/sr0/media

2.vim/etc/yum.repo.d/bj.repo

-----------------------------

[local]

name = bj

baseurl = file:///media 软件路径

gpgcheck = 0 不做软件包验证

enable =1 启用

-----------------------------

二、安装FTP服务器上传httpd源码包

yum -y installvsftpd

getenforce 0设置SELinnux为警告模式

useradd tom -s/sbin/nologin 创建用户tom,限制tom不能登录到系统

上传httpd源码包

 

三、安装编译软件gcc  make

yum-y install gcc make

 

四、编译安装

tar -xvf httpd.....解包

cd httpd....

./configure&&make &&make install 编译安装源码包

五、测试

源码包安装默认

网站根目录/usr/local/apache2/htdocs/

主页 index.html

主配置文件/usr/local/apache2/conf/httpd.conf

启动服务  /usr/local/apache2/bin/apachectl start

六、配置虚拟主机(同前)

配置DNS 实现正确解析

配置基于域名的虚拟主机,方法同前