一、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
LAMP:Linux + Apache +MySQL + PHP/perl/python
二、Apache服务器的基本配置:
1. 安装Apache软件包:httpd
2.开启httpd服务
#netstat -tnl |grep :80 (查看是否有80端口,有则启动成功)
3.设置apache服务器开机后自动运行
4.测试:在Linux下用elinks(软件包elinks)或firefox浏览器测试;在Windows下用IE:http://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
ServerNamewww.sh.com
</VirtualHost>
----------------------------------------------------------
认证授权和访问控制
ip访问控制:
目录控制语句以<Directory 目录名>开头;以</Directory>结束。
先允许后拒绝,以最后一次匹配到为准,默认拒绝所有:Order allow,deny
先拒绝后允许,以最后一次匹配到为准,默认允许所有:Order deny,allow
AllowOverride None:不允许覆盖,即不允许从根目录向子目录覆盖。即默认情况下拒绝从根目录下向子目录访问,如果要看根目录下的一个子目录,必须先打开子目录的访问权限。
Order allow,deny:访问控制的顺序,先匹配允许,再匹配拒绝,默认拒绝。
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 实现正确解析
配置基于域名的虚拟主机,方法同前