Linux 下Apache配置全解

Micah2015年07月29日 16:52 分类 : 服务器  > Apache
阅读: 1400

分享到微信朋友圈

Linux下 Apache安装,Linux下 Apache配置,Linux下 Apache伪静态,Apache重定向

Linux下 Apache配置全解  Linux下 Apache安装,Linux下 Apache配置,Linux下 Apache伪静态

Linux 下Apache配置全解

一、apache服务器

1、 简介

1) wwwworld wide web 万维网

http协议:超文本传输协议

HTML语言:超文本标识语言

2) URL:统一资源定位符

协议 + 域名 : 端口 + 网页文件名

http://www.1207.me:80/index.php

3) 搭建www的服务器的方法

windows IIS+asp+SQLserver

Internet Information server

linux apache+mysql+php

2、 安装

1、 lamp源码包安装

2、 rpm包安装

可以直接使用yum安装

httpd

mysql

mysql-server

php

php-devel

php-mysql

3、 相关文件

apache配置文件

源码包安装:/usr/local/apache2/etc/httpd.conf

rpm包安装:/etc/httpd/conf/httpd.conf

默认网页保存位置:

源码包安装:/usr/local/apache2/htdocs/

rpm包安装:/var/www/html/

日志文件保存位置:

源码包安装:/usr/local/apache2/htdocs/

rpm包安装:/var/log/httpd/

4、 配置文件

1) 针对主机环境的基本配置

ServerRoot apache主目录

Listen 监听端口

LoadModule 加载相关的模块

Include /etc/extra/httpd-vhosts.conf 此文件中内容也会加载

User 用户(源码包自动生成)

GROPUP 组(源码包自动生成)

ServerAdmin 管理员邮箱

ServerName 服务器名(没有域名解析时,使用临时解析,一般不开启)

ErrorLog 错误日志

DirectoryIndex index.html index.php 默认网页文件,前面的优先级高

2) 主页目录及权限

DocumentRoot "/usr/local/apache2/htdocs" 指定网站根目录

Directory定义目录权限

Options Indexes FollowSymLinks

Options:

None:没有任何额外权限

All:所有权限

Indexes:浏览权限(当目录下没有默认文件时,显示目录内容)

FollowSymLinks:准许软链接到其他目录(重定向功能)

AllowOverride None

定义是否允许目录下.htaccess文件中的权限生效

None.htaccess中权限不生效

All:文件中所有权限都生效

AuthConfig:文件中只有网页认证的权限生效

Order allow,deny 定义拒绝和允许的顺序(allow:允许;deny:拒绝)

Allow from all

定义此目录的允许访问权限

1Order allow,deny 允许所有,拒绝特殊

allow from all

deny from 192.168.200.1 多个IP用空格分开

2Order deny,allow 拒绝所有,允许特殊

deny from all

allow from 192.168.200.0/24

3) 目录别名

子配置文件: /usr/local/apache2/etc/extra/httpd-autoindex.conf

例:-------------- 设置网站根目录为根下的www目录 ----------------

Alias / "/www/" 别名(URL访问路径) 真实路径(在根目录下的www)注意:目录有必须加“/

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

--------------------- end -----------------------------------------

如果还需要设置其他网站根目录下的文件的别名,必须写在设置网站根目录别名之前

4) 用户认证

限制特定目录,只有指定用户可以访问

a. 修改需要保护目录的权限,允许权限文件生效

修改httpd.conf文件,设置保护目录的AllowOverride All(开启权限认证文件.htaccess

b. 重启apache

c. 在保护目录建立权限文件

在保护目录下建立.htaccess

内容:

AuthName "52 docs" #提示信息

AuthType basic #加密类型

AuthUserFile /share/soft/apache.passwd #密码文件,文件名自定义。

require valid-user #允许密码文件中所有用户访问

c. 建立密码文件,加入允许访问的用户,用户和系统用户无关

第一次添加用户的时候还要创建文件:

/usr/local/apache2/bin/htpasswd -c /share/soft/apache.passwd test1

密码文件已经存在后:

/usr/local/apache2/bin/htpasswd -m /share/soft/apache.passwd test2

Apache 配置,Apache安装,Apache伪静态

5) 虚拟主机

1) 分类

基于IP的虚拟主机 一台服务器,多个IP,搭建多个网站

基于端口的虚拟主机 一台服务器,一个IP,搭建多个网站,每个网站使用不同的端口

基于名字的虚拟主机 一台服务器,一个IP,搭建多个网站,每个网站使用不同的端口

2) 步骤

a. 解析实验域名

bbs.admin.com

shop.admin.com

b. 规划网站主目录

/www/bbs ----> bbs.admin.com

/www/shop ----> shop.admin.com

c. 修改配置文件

在主配置文件中打开虚拟主机配置文件

/usr/local/apache2/etc/extra/httpd-vhosts.conf

vi 虚拟主机配置文件

NameVirtualHost 192.168.150.253 主机的IP(不可以写端口,否则将访问的时候也需要输入端口)

格式:

#注意,只能写ip

ServerAdmin bbs@admin.com #管理员邮箱

DocumentRoot "/www/bbs" #网站主目录

ServerName bbs.admin.com #完整域名

ServerAlias bbs.admin.com #定义别名,非必须

ErrorLog "logs/bbs-error_log" #错误日志

CustomLog "logs/bbs-access_log" common #访问日志

可以给每个虚拟主机的目录定义一个权限:

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

6) 重定向

释义:在URL中输入一个地址,会自动跳转到另一个地址

a. 域名跳转

修改目录权限配置,使.htaccess文件生效

格式:

Options Indexes FollowSymLinks 注意:FollowSymLinks 必须写入

AllowOverride All

Order allow,deny

Allow from all

创建.htaccess文件,并写入重定向规则

RewriteEngine on #开启rewrite功能

RewriteCond %{HTTP_HOST} ^www.sina.com #把以www.sina.com 开头的内容赋值给HTTP_HOST变量

RewriteRule .* http://www.sohu.com #.*变量输出的值是任何,都跳转

b. 伪静态

修改目录权限配置,使.htaccess生效

创建.htaccess文件,并写入重定向规则

格式:

RewriteEngine on

RewriteRule index(\d+).html index.php?id=$1 #输入index(数值).html时,跳转到index.php文件,同时把数值当成变量传入index.php

Micah
IT技术整理

精彩评论:0

还可以输入250个字 评论

评论成功

评论失败

 

微信公众号

微博