Apache服务器

一 简介

1 www:world  wide  web 万维网

http 协议: 超文本传输协议

HTML语言: 超文本标识语言

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

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

3 搭建www的服务器的方法

windows   IIS+asp+SQLserver

Internet  Information  server

Linux apache+mysql+php

二 安装

1、lamp源码安装

生产环境    安全  稳定   错误提示关闭    源码包,技术要求高,复杂

实验环境(复制的生产环境 错误提示开启)

开发环境 源码包 二进制包

2、rpm包安装     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下都会轮替   源码包才需要设置

日志处理:

#tail -f  access_log   动态查看文件

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

2日志轮替  linux自带日志管理logrotate.conf加入

#vim /etc/logrotate.conf

/usr/local/apache2/logs/access_log{

daily

rotate  30

}

#logrotate -f /etc/logrotate.conf 手动运行
#cd /usr/local/apache2/logs/
#ls

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

四 配置文件

vi /root/.bashrc

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

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

source /root/.bashrc

#sto
#sta

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

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

ServerRoot apache主目录

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的主机访问

Require all  denied

Require ip 192.168.1.1

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

Require  all  denied

Require ip 192.168.1.0/24

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

<RequireAll>

Require all  granted

Require not ip 192.168.1.2

</RequireAll>

例子4.允许所有访问,

Require all  granted

例子5.拒绝所有访问,

Require all  denied

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>

修改子配置文件
#vim /usr/local/apache2/extra/httpd-autoindex.conf
29 Alias /www/ "/usr/local/apache2/www/"
30 <Directory "/usr/local/apache2/www/">
31 Options Indexes
32 AllowOverride None
33 Require all granted
34 </Directory>

3)建立/usr/local/apache2/www目录
#mkdir /usr/local/apache2/www

4)重启服务 测试
#sto
#sta

测试 192.168.172.251/www/

4 用户认证

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

1) 建立需要保护的目录

使用别名,在系统位置建立目录,然后保护

mkdir  -p  /share/soft

2)修改配置文件,允许权限文件生效

vi  /usr/local/apache2/etc/httpd.conf

453 Include etc//extra/httpd-autoindex.conf

#vim /usr/local/apache2/etc/extra/httpd-autoindex.conf
37 Alias /soft/ "/share/soft/"
38 <Directory "/share/soft/">
39 Options Indexes
40 AllowOverride All
41 Require all granted
42 </Directory>

Alias /soft/ "/share/soft/"

<Directory "/share/soft">

Options Indexes

AllowOverride All #开启权限认证文件.htaccess

Require all granted

</Directory>

重启apache

3)在指定目录建立权限文件

建立/share/soft/.htaccess权限文件
#vim /share/soft/.htaccess
1 AuthName "172PHP"
2 AuthType basic
3 AuthUserFile /share/apache.passwd
4 require valid-user

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  再添加更多用户时

重启服务 测试
#sto
#sta

测试  192.168.172.251/soft/

5 虚拟主机

1)分类

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

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

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

2)步骤:

① 解析试验域名

192.168.172.251 www.sina.com
192.168.172.251 www.sohu.com

C:\WINDOWS\system32\drivers\etc\hosts   windows

/etc/hosts   Linux

② 规划网站主目录

#mkdir /share/sina/
#mkdir /share/sohu/
#vim /share/sina/index.html
#vim /share/sohu/index.html

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

/share/sohu ------------ www.sohu.com

③  修改配置文件

vi  /usr/local/apache2/etc/httpd.conf

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

23 <Directory "/share/sina">
24 Options Indexes
25 AllowOverride None
26 Require all granted
27 </Directory>
28
29 <Directory "/share/sohu">
30 Options Indexes
31 AllowOverride None
32 Require all granted
33 </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>

35 <VirtualHost 192.168.172.251>
36 ServerAdmin webmaster@sina.com
37 DocumentRoot "/share/sina/"
38 ServerName www.sina.com
39 ErrorLog "logs/sina-error_log"
40 CustomLog "logs/sina-access_log" common
41 </VirtualHost>
42
43 <VirtualHost 192.168.172.251>
44 ServerAdmin webmaster@sohu.com
45 DocumentRoot "/share/sohu/"
46 ServerName www.sohu.com
47 ErrorLog "logs/sohu-error_log"
48 CustomLog "logs/sohu-access_log" common
49 </VirtualHost>

重启服务 测试
#sto
#sta

测试 www.sina.com www.sohu.com

6 rewrite 重写功能   URL

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

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

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

# vi /usr/local/apache2/etc/httpd.conf

147LoadModule rewrite_module modules/mod_rewrite.so

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

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

# vi extra/httpd-vhosts.conf

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

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

#vim /usr/local/apache2/etc/extra/httpd-vhosts.conf
23 <Directory "/share/sina">
24 Options Indexes FollowSymLinks
25 AllowOverride All
26 Require all granted
27 </Directory>

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

建立/share/sina/.htaccess
#vim /share/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

1 RewriteEngine on
2 RewriteCond %{HTTP_HOST} www.sina.com
3 RewriteRule .* http://www.sohu.com

重启服务 测试
#sto
#sta

测试   www.sina.com  -> www.sohu.com

2)网页文件跳转

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

RewriteEngine on

RewriteRule index(\d+).html index.php?id=$1

# 输入index(数值).html时,跳转到index.php文件,同时把数值当成变量传入index.php

#vim /share/sina/.htaccess
1 RewriteEngine on
2 RewriteRule index(\d+).html index.php?id=$1

#cd /share/sina
#vim index.php
<?php
echo "yemian rewrite";
?>

测试 www.sina.com/index5.html

7 常用子配置文件

httpd-autoindex.conf apache系统别名

httpd-default.conf 线程控制 *

httpd-info.conf    状态统计网页

httpd-languages.conf 语言编码 *

httpd-manual.conf apache帮助文档

httpd-mpm.conf     最大连接数 *

httpd-multilang-errordoc.conf 错页面 *

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

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

httpd-vhosts.conf 虚拟主机

8. apache服务实验笔记的更多相关文章

  1. 9. nginx服务实验笔记

    LNMP安装与配置   Nginx与apache.lighttp性能综合对比,如下图:     一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...

  2. 《Linux就该这么学》培训笔记_ch10_使用Apache服务部署静态网站

    <Linux就该这么学>培训笔记_ch10_使用Apache服务部署静态网站 文章最后会post上书本的笔记照片. 文章主要内容: 网站服务程序 配置服务文件参数 SELinux安全子系统 ...

  3. 快速部署Apache服务静态网站

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充, ...

  4. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  5. 第10章 使用Apache服务部署静态网站

    章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...

  6. 使用Apache服务部署静态网站

    1970年,作为互联网前身的ARPANET(阿帕网)已初具雏形,并开始向非军用部门开放,许多大学和商业部门开始接入.虽然彼时阿帕网的规模(只有4台主机联网运行)还不如现在的局域网成熟,但是它依然为网络 ...

  7. Openstack实验笔记

    Openstack实验笔记 制作人:全心全意 Openstack:提供可靠的云部署方案及良好的扩展性 Openstack简单的说就是云操作系统,或者说是云管理平台,自身并不提供云服务,只是提供部署和管 ...

  8. Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载、STelnet登录、SFTP登录

    >Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载.STelnet登录.SFTP登录 >>实验开始,参考<Huawei-R&S-网络工程 ...

  9. Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置、设置web管理

    >Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置.设置web管理 >>实验开始(使用SecureCRT 等工具软件): 一.华为设备密码重置,通过 ...

随机推荐

  1. pptv泥够了!pptv“关闭”事件为营销炒作坐实!

    昨天还让人心生怜悯的pptv聚力,今天下午2点07分又再一次发布微博,而几天发布的内容是see U again!再次证实了pptv昨天的“关闭”还是“倒闭”消息为营销炒作.不过马浩周要问了,真的要这么 ...

  2. Spring整理

    Bean配置 1. <context:component-scan base-package="com.test" />这个包下的Spring注解才有效 属性文件自动解 ...

  3. js出错总结

    1 没有</script>  src="js" "./js" "../js"2 dom对象与jquery对象(jquery对象其 ...

  4. IIC总线

    一. 概述 1. IIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线. 2. IIC总线只有两根双向信号线.一根是数据线SDA,一 ...

  5. 去除magento多店铺URL地址中的“___from_store=”

    magento 的多店铺功能,大多数情况下是根据语言来进行选择的,当添加了多店铺之后,一般情况下我们会选择开启添加store code到url地址中. Magento 自带的这种功能算是比较不错了,但 ...

  6. SELENIUM2 使用JavascriptExecutor在页面Javascipt执行

    目的: 1. 执行一段JS,来改变HTML2. 一些非标准控件无法用selenium2的API时,可以执行JS的办法来取代 主要操作:JavascriptExecutor j = (Javascrip ...

  7. Android Studio中获取查看签名SHA1证书指纹数据或MD5的方法

    原来在Eclipse中获取SHA1或者MD5,在IDE界面上就可以查找到. 切换到Android Studio后,如何查看呢?找了半天没找到.那就老办法命令行. 第一步.打开Android Studi ...

  8. 在 Apache Ant中设置Proxy服务器

    <target name="proxy"> <property name="proxy.host" value="https://m ...

  9. create a inatll package

    gcc -o hell t.c tar -jxf  hell.tar.bz2 [root@localhost ~]# cat install.sh #!/bin/bashlines=7tail -n ...

  10. linux-------------计划任务crond:如何创建linux里面的计划任务

    1.centos下安装crond [root@localhost /]# yum -y install vixie-cron [root@localhost /]# yum -y install cr ...