设为首页 收藏本站
查看: 1322|回复: 0

[经验分享] Apache服务搭建

[复制链接]

尚未签到

发表于 2018-11-18 11:50:28 | 显示全部楼层 |阅读模式
Apache服务器

1: www: world  wide  web      万维网

http 协议:    超文本传输协议

HTML语言: 超文本标识语言 index.html

  

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

http://www.baidu.com:80/phpmyadmin/index.php

  

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

windows: IIS  +  asp  +  SQLserver

IIS: Internet  Information  server

Linux     apache+mysql+php

              nginx

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

       Listen      监听端口  :80

       LoadModule   加载的相关模块  php5           

       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"

       #网页文件存放目录(默认)

      

       #定义指定目录的权限

       Options Indexes FollowSymLinks

              #options

                            None:        没有任何额外权限

                            All:             所有权限

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

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

AllowOverride None

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

                            None:.htaccess中权限不生效

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

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

Require all granted    访问控制列表

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

  

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


      Require all  granted

      Require ip 192.168.1.1


  

例2:仅允许192.168.0.0/24网络的主机访问


      Require all  granted

      Require ip 192.168.1.0/24


  

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


      Require all  granted

      Require not ip 192.168.1.2


  

例4:允许所有访问,

Require all  granted(授权)                     

  

例5:拒绝所有访问,

Require all  denied


实验环境:

       使用lamp环境安装好的apache进行试验

  

       安装完成后,先启动apache进行服务验证,是否安装成功,并且主页是否可以访问。

       注:发现启动服务报错:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

         解决办法:打开主配置文件httpd.conf

         搜索ServerName     (约在200行左右)

         修改为 ServerName  localhost:80(并且去掉前面的#注释)

  

实验一:目录别名:

可以使特定的网站程序不出现在网站根目录下面,而这样的话,就可以避免和原来的程序本身发生混淆和冲突;缩短网页目录的纵深,减少URL的长度。


实验一:目录别名

可以使特定的网站程序不出现在网站根目录下面,而这样的话,就可以避免和原来的程序本身发生混淆和冲突;缩短网页目录的纵深,减少URL的长度。



  • 打开apache主配置文件

#Include etc//extra/httpd-autoindex.conf (将#号去掉)


  • 进到子配置文件目录extra下,打开httpd-autoindex.conf

仿照例子写一个别名:

Alias  /a/  "/www/a/"               #实际目录结束要有/


    Options Indexes MultiViews

    AllowOverride None

    Require all granted


在/www/a/目录下手动创建index.html文件



  • 将apache服务重启:

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

注:重启源码包安装的apache需要先关闭,再启动。



  • 验证试验结果:

打开浏览器输入   服务器IP/a/


打开Apache主配置文件

#Include etc//extra/httpd-autoindex.conf (将#号去掉)

DSC0000.png

进到子配置文件目录extra下,打开httpd-autoindex.conf

仿照例子写一个别名:

Alias  /a/  "/www/a/"               #实际目录结束要有/


    Options Indexes MultiViews

    AllowOverride None

    Require all granted


在/www/a/目录下手动创建index.html文件

DSC0001.png

DSC0002.png

将apache服务重启:

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

注:重启源码包安装的apache需要先关闭,再启动。

  
验证试验结果:

打开浏览器输入   服务器IP/a/

DSC0003.png

实验二:用户认证

       提高网站安全性,保护个别页面的信息,限制特定目录,只有指定用户可以访问。


实验二:用户验证:

提高网站安全性,保护个别页面的信息,限制特定目录,只有指定用户可以访问。

1.    打开主配置文件在最下面添加:

     #被保护目录

    Options Indexes

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

    Require all granted


修改配置文件:

高版本中Apache权限设置:(httpd-2.4.7)   (用这个)

DSC0004.png

DSC0005.png

DSC0006.png

2.    在指定目录下创建权限文件:

cd  /usr/local/apache2/htdocs/baohu

Vi   .htaccess  #添加下面的内容

AuthName "50 docs"

#提示信息

AuthType basic

#加密类型

AuthUserFile /usr/local/apache2/htdocs/baohu/apache.passwd

#密码文件,文件名自定义。(但是路径要对,使用绝对路径)

require valid-user

#允许密码文件中所有用户访问

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

htpasswd  -c  /usr/local/apache2/htdocs/baohu/apache.passwd  test1

-c  建立密码文件,只有添加第一个用户时,才能-c

htpasswd  -m  /usr/local/apache2/htdocs/baohu/apache.passwd  test2

-m  再添加更多用户时,使用-m 参数

DSC0007.png

4.    验证访问:(自己手动去目录下创建index.html文件)

浏览器输入 服务器IP/baohu/index.html


浏览器验证:

DSC0008.png

DSC0009.png

实验三:***虚拟主机***


虚拟主机的分类:


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

                           Ifconfig  eth0:0  IP      #建立网卡子端口


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

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



  • 实验搭建(准备工作)

a.    域名解析:准备两个域名

www.sohu.com

www.sina.com

                     b.    没搭建DNS,只能手动添加到本地hosts文件内进行解析

                            Windows系统中:

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

                            Linux系统中:

                                   /etc/hosts

                     c.    网站主页目录规划

在//htdocs/目录下分别创建sohu 和 sina 两个目录

并且在分别在新建目录内创建index.html文件(分别写不一样的内容

2.    实验流程(修改配置文件)

A.    vi  /usr/local/apache2/etc/httpd.conf         #修改主配置文件开启文件关联

                                   Include etc//extra/httpd-vhosts.conf    #此行取消注释

   

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

    #添加下方内容(添加之前先把原先存在的示例删除掉

   


Options Indexes

AllowOverride None

Require all granted




Options Indexes

AllowOverride None

Require all granted



                                       

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     




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



C.      重启服务,验证结果

Windows 下:浏览器下输入两个不同的域名验证网页内容

Linux下:通过elinks命令验证:elinks 域名

  

实验三:虚拟主机:


基于名字的虚拟主机:

a.    域名解析:准备两个域名

www.sohu.com

www.sina.com

b.    没搭建DNS,只能手动添加到本地hosts文件内进行解析

                            Windows系统中:

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

                            Linux系统中:

                                   /etc/hosts

c.     网站主页目录规划

在//htdocs/目录下分别创建sohu 和 sina 两个目录

并且在分别在新建目录内创建index.html文件(分别写不一样的内容


搭建DNS服务器,能够解析到sohu、sina的域名:

DSC00010.png

DSC00011.png

DSC00012.png

DSC00013.png

将客户端DNS设置成DNS服务器IP

DSC00014.png

DSC00015.png

修改Apache虚拟主机配置文件:

取消虚拟机主机关联注释:

DSC00016.png

DSC00017.png

DSC00018.png

客户端访问(将客户端DNS设置成DNS服务器IP)

DSC00019.png

DSC00020.png

拓展:低版本的Apache配置(2.2.9)

DSC00021.png

带用户验证模式:

DSC00022.png

DSC00023.png

这里的地址解析是用的Hosts文件:实际应使用DNS

DSC00024.png

DSC00025.png

DSC00026.png

DSC00027.png

DSC00028.png

DSC00029.png

实验四:地址重写

在URL中输入一个地址,会自动跳转为另一个,多用于网站更换或者添加新域名。

实验要求:

A     虚拟主机能正常访问

B     打开主配置文件开启重写模块

       LoadModule rewrite_module modules/mod_rewrite.so    #取消注释

域名跳转实验:

1.    修改虚拟主机配置文件

vi  */extra/httpd-vhosts.conf


Options Indexes FollowSymLinks

AllowOverride All

Require all granted


DSC00030.png

2.    创建规则匹配文件

vi  */.htaccess                    #在指定的网站网页目录下创建

RewriteEngine on

#开启rewrite功能

RewriteCond %{HTTP_HOST} www.sina.com

#把以www.sina.com   开头的内容赋值给HTTP_HOST变量

RewriteRule  .*   http://www.sohu.com

#.*  输入任何地址,都跳转到http://www.sohu.com

DSC00031.png

3.    重启服务器,进行访问验证

DSC00032.png

静态向动态跳转:

1.    修改虚拟主机配置文件

vi */extra/httpd-vhosts.conf


Options Indexes FollowSymLinks

AllowOverride All

Require all granted


DSC00033.png

2.    创建规则文件

vi  */.htaccess

RewriteEngine on

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

#输入index(数值).html时,跳转到index.php文件

DSC00034.png

3.    重启服务,进行访问验证

验证方式:在*/htdocs/sohu/目录下新建index.php文件

访问www.sohu.com/index(数值).html 看访问的是否是你的index.php的网页

注:静态网页向动态网页跳转这个实验,只有完整的lamp环境下才能访问。

DSC00035.png

DSC00036.png

六 常用子配置文件

httpd-default.conf        #apache线程控制,必须开启

Timeout 300        #超时时间

KeepAlive On

#开启线程控制(不开启的话用户访问页面会产生一个进程,访问其他页面会产生另一个进程,这样的话一个用户会产生好多个进程,会降低apache性能。开启此项,当用户访问网站时会产生一个进程,打开其他页面时会产生线程,保证了一个用户只产生一个进程。网站此项功能必须开启。)

MaxKeepAliveRequests 100   #最大线程连接数

httpd-info.conf    #apache状态统计


SetHandler server-status

Order deny,allow

Deny from all

Allow from .example.com


#通过访问www.domain.com/server-status可以查看apache状态。如果页面显示not found 则需要修改目录权限,在Deny from all下加上allow from ip(允许的ip)。

httpd-manual.conf     #apache帮助文档

通过访问www.domain.com/manual 查看apache帮助文档,一般为英文,没用,可以到apache官网下载帮助文档。

httpd-languages.conf    #语言编码

要使其生效需要在主配置文件中打开,如果中文乱码不是浏览器编码的原因可能是此配置文件注释没打开。

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636553-1-1.html 上篇帖子: Apache优化配置——工作模式 下篇帖子: Apache安装时错误解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表