Apache服务器
Apache服务器
一 简介
1 www:world wide web 万维网
http 协议: 超文本传输协议
HTML语言: 超文本标识语言
2 URL:统一资源定位 协议+域名:端口+网页文件名
http://www.sina.com.cn:80/11/index.html
www.sina.com.cn
3 搭建www的服务器的方法
windows IIS+asp+SQLserver
Internet Information server
Linux apache+mysql+php
Nginx+mysql+php
二 安装
1、lamp源码安装
、
2、rpm包安装
httpd
mysql
mysql-server
php
php-devel
php-mysql
三 相关文件
apache配置文件
源码包安装:/usr/lcoal/apache2/etc/httpd.conf
/usr/local/apache/etc/extra/*.conf
rpm包安装:/etc/httpd/conf/httpd.conf
默认网页保存位置:
源码包:/usr/local/apache2/htdocs/
rpm包安装:/var/www/html/
日志保存位置
源码包:/usr/local/apache2/logs/自己置制定的
rpm包: /var/log/httpd/
四 配置文件
注意:apache配置文件严格区分大小写
1 针对主机环境的基本配置
ServerRoot apache主目录
Listen 监听端口
LoadModule 加载的相关模块
User
Group 用户和组
ServerAdmin 管理员邮箱
ServerName 服务器名(没有域名解析时,使用临时解析。不开启)
ErrorLog "logs/error_log 错误日志4
CustomLog "logs/access_log" common 手工进行日志轮替
DirectoryIndex index.html index.php 默认网页文件名,优先级顺序
Include etc/extra/httpd-vhosts.conf 子配置文件中内容也会加载生效
/etc/sysconfig/network 主机信息
临时修改主机名:hostwork name 命令
2 主页目录及权限
DocumentRoot "/usr/local/apache2//htdocs"
主页目录
<Directory "/usr/local/apache2//htdocs">
#Directory关键字定义目录权限
Options Indexes是指www 下的文件享有所有权限 一般不设置
FollowSymLinks是做允许网站跳转类似aa,转到bb。
#options
None:没有任何额外权限
All:所有权限
Indexes: 浏览权限(当此目录下没有默认网页文件时,显示目录内容)
FollowSymLinks:准许软连接到其他目录
AllowOverride None
#定义是否允许主目录下.htaccess文件中的权限生效ht是html的缩写
None:.htaccess中权限不生效
All:文件中所有权限都生效
AuthConfig:文件中,只有网页认证的权限生效。
Order allow,deny 访问控制列表
Allow from all
#定义此目录的允许访问权限
例1: 允许所有,拒绝特殊
Order allow,deny 权限顺序是先实现允许权限,再实现拒绝权限
allow from all 允许权限是允许所有
deny from 192,168.150.254 拒绝权限是拒绝254
例2:拒绝所有,允许特殊
Order deny,allow 权限顺序是先实现拒绝权限,再实现允许权限
deny from all 拒绝权限时拒绝所有
allow from 192.168.150.0/24 允许权限是允许150网段
</Directory>
3 目录别名
子配置文件名 etc/extra/httpd-autoindex.conf
Alias /icons/ "/usr/local/apache2//icons/"
apache以为在这里 实际目录位置
定义别名 /icons/----
http://192.168.1.253/icons/
<Directory "/usr/local/apache2//icons">
Options Indexes MultiViews MultiViews多编码支持
AllowOverride None
Order allow,deny
Allow from all
</Directory>
4 用户认证
限制特定目录,只有指定用户可以访问。
1) 建立需要保护的目录
①在/usr/local/apache2/htdocs/11下建立目录,然后保护
②使用别名,在系统位置建立目录,然后保护
mkdir -p /share/soft
2)修改配置文件,允许权限文件生效
vi /usr/local/apache2/etc/httpd.conf
Alias /soft/ "/share/soft/"
<Directory "/share/soft">
Options Indexes
AllowOverride All #开启权限认证文件.htaccess
Order allow,deny
Allow from all
</Directory>
重启apache
3)在指定目录建立权限文件
cd /share/soft
vi .htaccess
AuthName "50 docs"
#提示信息
AuthType basic
#加密类型
AuthUserFile /share/apache.passwd
#密码文件,文件名自定义。
require valid-user
#允许密码文件中所有用户访问
4)建立密码文件,加入允许访问的用户。用户和系统用户无关
/usr/local/apache2/bin/htpasswd -c /share/apache.passwd test1
-c 建立密码文件,只有添加第一个用户时,才能-c
/usr/local/apache2/bin/htpasswd -m /share/apache.passwd test2
-m 再添加更多用户时,
5 虚拟主机
xeon *2
1)分类
基于IP的虚拟主机: 一台服务器,多个IP,搭建多个网站
基于端口的虚拟主机 一台服务器,一个ip,搭建多个网站,每个网络使用不同端口访问
基于名字的虚拟主机 一台服务器,一个ip,搭建多个网站,每个网站使用不同域名访问
2)步骤:
① 解析试验域名
www.sina.com
www.sohu.com
② 规划网站主目录
/test/sina--------------www.sina.com
/test/sohu ------------ www.sohu.com
③ 修改配置文件
vi /usr/local/apache2/etc/httpd.conf
Include etc//extra/httpd-vhosts.conf
#打开虚拟主机配置文件
vi /usr/local/apache2/etc/extra/httpd-vhosts.conf
NameVirtualHost 192.168.150.253
#启动虚拟主机,指定虚拟主机ip
<Directory "/usr/local/apache2/htdocs/sina">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/apache2/htdocs/sohu">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<VirtualHost 192.168.150.253>
#注意,只能写ip
ServerAdmin webmaster@sina.com
#管理员邮箱
DocumentRoot "/usr/local/apache2/htdocs/sina"
#网站主目录
ServerName www.sina.com
#完整域名
ErrorLog "logs/sina-error_log"
#错误日志
CustomLog "logs/sina-access_log" common
#访问日志
</VirtualHost>
<VirtualHost 192.168.150.253>
ServerAdmin webmaster@sohu.com
DocumentRoot "/usr/local/apache2/htdocs/sohu"
ServerName www.sohu.com
ErrorLog "logs/sohu.com-error_log"
CustomLog "logs/sohu.com-access_log" common
</VirtualHost>
6 rewrite 重写功能
在URL中输入一个地址,会自动跳转为另一个
1)域名跳转 www.sina.com ------> www.sohu.com
开启虚拟主机,并正常访问
修改配置文件,使sina目录的。htaccess文件生效
<Directory "/usr/local/apache2/htdocs/sina">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
vi /usr/local/apache2/htdocs/sina/.htaccess
RewriteEngine on
#开启rewrite功能
RewriteCond %{HTTP_HOST} ^www.sina.com
把以www.sina.com 开头的内容赋值给HTTP_HOST变量
RewriteRule .* http://www.sohu.com
.* 输入任何地址,都跳转到http://www.sohu.com
2)静态网页向动态网页跳转
修改配置文件
<Directory "/usr/local/apache2/htdocs/sohu">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
vi /usr/local/apache2/htdocs/sohu/.htaccess
RewriteEngine on
RewriteRule index(\d+).html index.php?id=$1
# 输入index(数值).html时,跳转到index.php文件,同时把数值当成变量传入index.php
7 常用子配置文件
httpd-autoindex.conf apache系统别名
httpd-default.conf 线程控制 *
httpd-info.conf 状态统计网页
httpd-languages.conf 语言编码 *
httpd-manual.conf apache帮助文档
httpd-mpm.conf 最大客户端限制 *
ServerLimit 5500
MaxClients默认最大为150,若要超过这个值就要显式设置ServerLimit,且 ServerLimit要放在MaxClients之前,值要不小于MaxClients
httpd-multilang-errordoc.conf 报错页面 *
httpd-ssl.conf ssl安全套接字访问
httpd-userdir.conf 用户主目录配置
httpd-vhosts.conf 虚拟主机