Apache服务器

来源:互联网 发布:道路工程测量软件 编辑:程序博客网 时间:2024/05/22 16:21

简介

 

1wwwworld  wide  web万维网

 

http协议超文本传输协议

 

HTML语言:超文本标识语言

 

2URL:统一资源定位协议+域名:端口+网页文件名

http://www.sina.com.cn:80/11/index.html

   

3搭建www的服务器的方法

windows  IIS+asp+SQLserver

Internet  Information  server

Linuxapache+mysql+php

 

安装

1lamp源码安装

                        生产环境,技术要求高,复杂

2rpm包安装     yum安装

httpd

mysql

mysql-server

php

php-devel

php-mysql

 

相关文件

 

apache配置文件

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

    /usr/local/apache2/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/

            rpm包默认使用日志处理程序   /var下都会轮替   源码包才需要设置

日志处理:

1日志切割  apache自带日志里面自带日志切割

2日志轮替  linux自带日志管理logrorate.conf

           加入/usr/local/apache2/logs/access_log{

                                 daily

                                 rotate  30

}

          logrotate -f /etc/logrotate.conf

 

             所有日志都要进行日志轮替

 

 

配置文件

 

vi /root/.bashrc

   alias sta=/usr/local/apache2/bin/apachectl start

   alias sto=/usr/local/apache2/bin/apachectl stop

 

source /root/.bashrc

注意:apache配置文件严格区分大小写

 

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

 

ServerRootapache主目录          

Listen监听端口              

LoadModule加载的相关模块

User

Group用户和组

ServerAdmin管理员邮箱

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

ErrorLog "logs/error_log错误日志

CustomLog "logs/access_log" common正确访问日志

DirectoryIndex index.html index.php默认网页文件名,优先级顺序

Include  etc/extra/httpd-vhosts.conf子配置文件中内容也会加载生效

2主页目录及权限  

 

DocumentRoot "/usr/local/apache2//htdocs"          

主页目录

 

<Directory "/usr/local/apache2//htdocs">                 

#Directory关键字定义目录权限

 

Options Indexes FollowSymLinks                    

#options

None:没有任何额外权限

All 所有权限

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

FollowSymLinks:准许软连接到其他目录

AllowOverride None

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

None.htaccess中权限不生效

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

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

 

Require all granted访问控制列表   403错误   404错误

    

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

1仅允许IP为192.168.1.1的主机访问

<RequireAll>

      Require all  denied

      Require ip 192.168.1.1

</RequireAll>

 

例子2.仅允许192.168.1.0/24网络的主机访问

<RequireAll>  

      Require all  denied

      Require ip 192.168.1.0/24

</RequireAll>  

 

例子3.禁止192.168.1.2的主机访问,其他的都允许访问,

<RequireAll>

      Require all  granted

      Require not ip 192.168.1.2                       

</RequireAll>

 

例子4.允许所有访问,

Require all  granted#可以不写在<RequireAll>。。。</RequireAll>

 

例子5.拒绝所有访问,

Require all  denied#可以不写在<RequireAll>。。。</RequireAll>

 

 

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

    AllowOverride None

    Require all granted                   

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

    Require all granted 

</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虚拟主机

 

 

1)分类

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

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

    基于名字的虚拟主机:一台服务器,一个ip,搭建多个网站,每个网站使用不同域名访问

 

2)步骤:

解析试验域名

www.sina.com

www.sohu.com

C:\WINDOWS\system32\drivers\etc\hostswindows

/etc/hostsLinux

 

 

规划网站主目录

/share/sina--------------www.sina.com

/share/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

 

 

 

<Directory "/usr/local/apache2/htdocs/sina">

    Options Indexes

    AllowOverride None

Require all granted 

</Directory>

 

<Directory "/usr/local/apache2/htdocs/sohu">

    Options Indexes

    AllowOverride None

    Require all granted 

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

 

6rewrite重写功能   URL

URL中输入一个地址会自动跳转为另一个

 

1域名跳转www.sina.com  ------>  www.sohu.com

 

开启虚拟主机,并正常访问 

 

[root@localhost ~]# vi /usr/local/apache2/etc/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

#打开重写模块,记得重启apache

 

 

修改配置文件,使sina目录的.htaccess文件生效

 

[root@localhost etc]# vi extra/httpd-vhosts.conf

 

<Directory "/usr/local/apache2/htdocs/sina">

    Options Indexes FollowSymLinks

    AllowOverride All

Require all granted 

</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)静态网页文件跳转

vi  /usr/local/apache2/htdocs/sina/.htaccess

RewriteEngine on

RewriteRule  inde   index5.html

 

Index5.html 文件的位置/路径  /share/sina

  

 

 

 

7常用子配置文件

 

httpd-autoindex.confapache系统别名

 

httpd-default.conf线程控制*

 

httpd-info.conf   状态统计网页

 

httpd-languages.conf语言编码*

 

httpd-manual.confapache帮助文档

 

httpd-mpm.conf    最大连接数*

MaxRequestWorkers      250(默认worker MPM模块生效)

 

httpd-multilang-errordoc.conf错页面*

 

httpd-ssl.conf   ssl安全套接字访问

 

httpd-userdir.conf用户主目录配置

 

httpd-vhosts.conf虚拟主机

原创粉丝点击