源码不放到apache tomcat 源码/htdocs 下如何发布

Apache htdocs下虚拟主机500错误
编辑: upupw 发布时间:
10:42:14 来源:
热度: 2003
Apache版htdocs目录下建立虚拟主机目录出现500错误是怎么回事呢?
最近热心的UPUPW使用者“正阳在线”向我们反馈了这么一个问题:htdocs目录下主站可以访问,在htdocs目录下建立的虚拟主机目录绑定域名后访问通通出现500错误。
起初以为是防火墙阻止了Apache端口或者服务商屏蔽了未备案域名的外部访问权限,但是这两者都不会出现500服务器错误而会直接返回连接超时或拒绝访问之类的。
进一步分析查看Apache错误报告中发现“configuration error: couldn't perform authentication.”这样的提示,意思是说配置错误,无法进行验证。
这里让我们想到了Satisfy指令,Satisfy All/Any 用在Directory 和.htaccess中。
我们知道在Apache的访问控制中,有两种机制,一是客户端目录访问限制,二是用户给出用户名和密码的验证机制。
当设置Satisfy值为All时,要求同时满足两个条件才可以访问。当设置Satisfy值为Any时,则只要满足一个就可以了。
UPUPW为了满足大众的各种需求设置Satisfy为All。
一般情况下用户给出用户名和密码的验证机制是不会设置的所以满足条件,那也就是说客户端目录访问限制这个条件没满足。
1、看到这里我们可以得到第一个解决方案:
在网站根目录的伪静态文件.htaccess中加入Satisfy Any
刷新下,页面刷的一下出来了,这种解决方案如果在虚拟主机特别多的情况下就有点吃力了不好管理。
接下来分析为什么没有满足目录访问权限?
为了安全,UPUPW对每个网站都做了目录限制来约束PHP的目录执行权限防止跨站攻击和脚本执行。
找到Apache2\conf\extra\httpd-vhosts.conf文件中localhost:80这个主机配置下的php_admin_value open_basedir这一行,意思是将用户访问文件的活动范围限制在指定的区域
从此可知如果把虚拟主机的目录建立在默认主机htdocs目录下并会出现权限叠加嵌套,从而只能访问到最上层执行权限htdocs目录下的网站,而htdocs目录下的其它虚拟主机就会返回500错误
2、看到这里我们可以得到第二个解决方案:
把php_admin_value open_basedir这行注释掉不执行上层权限,这样便可以让下层的虚拟主机目录没有权限叠加
刷新页面访问正常,这种方法将会造成默认主机htdocs目录以及下级目录用户都可以访问到,所以此处不建议把虚拟主机建立在htdocs目录下
3、由此得出最完美的解决方案
默认主机htdocs目录保持不变,建立虚拟主机的时候请不要建立在htdocs目录下,建立虚拟主机时可以不填路径自动生成在vhosts目录下,也可以填上绝对路径如:E:\server\site1或F:\website\web\site2
这样建立的虚拟主机就不会出现权限叠加嵌套导致下层主机目录无法访问了,OK,问题解决!
另外需要注意的是如果PHP中引用包含虚拟主机目录以外的文件将会无法执行,如果确实要require_once或其它形式进来的主机目录以外的文件请将那个目录的绝对路径包含到open_basedir的目录权限下。
All rights reserved.为什么我装了Apache后找不到htdocs目录_百度知道
为什么我装了Apache后找不到htdocs目录
我装了Apache后找不到子目录htdocs,请问我要将编辑好的文档保存在哪里?怎样才能看到运行界面?
你装的是Apache的什么服务器,是Tomcat还是?如果是Tomcat,你将web程序的web模块部署到Tomcat的webapps目录下,然后到bin目录下,在bin目录下有个tomcat.exe,双击它启动服务,在浏览器中输入http://localhost:8080/web模块名/第一个页面,就可以了。
其他类似问题
htdocs的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁手机扫描二维码,把小组装进口袋
第三方登录:在Linux防火墙上如何做Apache反向代理
ZDNet服务器频道时间:作者: | 网络整理
本文关键词:
  一、测试环境与网络结构
  本文所使用的测试环境是Redhat7.2、 1.3.24,公司域名假设是。公司的典型网络构造如附图所示。
  注意: 附图中的上安装了2块网卡,其中e0端口的外部公共地址为1.2.3.4,e1端口对应内部保留地址为192.168.2.1。局域网内部有3台A、B和C,它们对应的域名分别为、和,均使用内部保留地址。
  二、操作步骤
  如附图所示,此公司通过专线连入互联网,安装了,局域网内部有3台,均只有内部保留地址,但是希望他们能够提供对外的Web服务。
  1.设置DNS
  在(同时也是公司的DNS服务器)上设置内部3台的DNS,IP地址均为1.2.3.4。这样,在Internet上解析、 和时,均指向同一IP地址即的外部接口地址1.2.3.4。
  2.下载
  从网站(http://www..org)下载目前最新的版本 1.3.24到/root目录,下载地址为http://www..org/dist/httpd/_1.3.24.tar.gz。
  3. 更改源代码使最大允许的请求连接数超过256
  由于默认允许的最多连接数为256,而在一个繁忙的网站上这一连接数量也许不能满足需要,特别是本文介绍的通过上的反向代理允许外部用户访问多个内部的情况,可以采用更改src/include/httpd.h文件的方法,具体步骤如下。
  #cd/root 切换目录到/root下
  #tar xvfz_1.3.24.tar.gz 解开源文件到/root下
  #cd_1.3.24进入_1.3.24目录
  #vi src/include/httpd.h用vi编辑httpd.h文件
  在输入“vi src/include/httpd.h”命令后,继续输入“/256”并按“回车”键搜索数字256,将其改为1024后保存并退出即可。
  注意事项:
  ①要支持最多为1024个客户的同时请求,不仅需要更改上面提到的源文件,在编译安装后还需要设置/usr/local//conf/httpd.conf文件,将其中的“MaxClIEnts”一行后面的参数更改为“1024”。
  ②如果您仅仅为了进行测试,或者不会有很多人使用,可以不修改httpd.h文件。
  4. 编译
  编译代码如代码1所示。
  #cd_1.3.24
  #./configure --prefix=/usr/local/
  --enable-module=most
  --enable-shared=max
  --enable-module=proxy
  --enable-shared=proxy
  --enable-module=rewrite
  --enable-shared=rewrite 设置安装默认目录
  编译大多数模块
  设置模块为DSO(动态共享对象)模式
  启动代理模块
  安装代理模块为DSO模式
  启动重写功能模块
  安装重写功能模块为DSO模式 
  注意: 在编译的时候,必须编译大多数模块,并将它们设置为DSO模式,同时启动proxy和rewrite模块,同时也将其设置为DSO模式。
  #makeinstall
  将安装所有所需文件到/usr/local/目录下。
  5.在httpd.conf文件中设置基于域名的虚拟主机
  在/usr/local/目录找到httpd.conf文件,并将下面的内容添加至此文件后。
  NameVirtualHost1.2.3.4:80
  &VirtualHost1.2.3.4:80 &
  DocumentRoot/usr/local//htdocs
  ErrorLog/usr/local/_http/logs/error_log
  CustomLog/usr/local/_http/logs/access_logcombined UseCanonicalNameOff
  ProxyRequestsOff
  RewriteEngineon
  RewriteCond%.*/.company/.com$
  RewriteRule^/(.*)$ http://%/ [P,L]
  &/VirtualHost&
  注意事项:
  ①上面设置了基于域名的反向代理虚拟主机,这样当您从外部访问IP地址为1.2.3.4的主机,且URL地址后面部分的域名为“”,就可以把用户的请求转发到局域网内部的上,并重写响应数据包去掉代理协议部分。
  ②“ServerName”一行可以任意指定。
  ③“ProxyRequestOff”一行用来禁止在IP地址为1.2.3.4的主机和端口80上进行代理服务,在这里作为一个透明的代理服务器来使用。
  ④“RewriteEngineon”一行用来启动修改响应数据包的功能,否则下面的“RewriteCond”和“RewriteRule”将不起作用。
  6.添加记录进入/etc/hosts文件
  在上面的虚拟主机重写规则中,重写后的URL与您所请求的URL是一样的,我们的设想是将下面3个域名放到的/etc/hosts文件中,这样将从内部3台获得内容,并返回给外部用户,域名对应记录如下。
  192.168.2.
  192.168.2.
  192.168.2.
  三、总结
  这样,当外部用户访问时,请求被送到的上,而上的反向代理将根据/etc/hosts文件中定义的记录直接从IP地址为192.168.2.2的获取内容并返回给外部用户,从而完成内部对外提供访问的功能。
  在对配置完毕后,如果还需要增加更多的内部来提供外部访问服务,只需设置其DNS服务器的IP地址为1.2.3.4,并在/etc/hosts文件中增加相应记录即可。
上一篇:下一篇:
的相关文章
的相关文章
今日推荐阅读:
最受关注的文章:
最新更新文章:
重磅专题报道
Copyright& 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备号-159京公网安备:你好,从今天开始,我将为大家带来一些我学习SEO和建站的免费教程,今天为大家带来的是如何用XAMPP搭建一个属于你自己的网站。来到这里,可以说很多在百度上已经过时了的资料需要总结的资料这里都有,你只要按照我的教程来好的废话不多说了现在开始教程。
首先我们要明白一些问题,也许你觉得制作一个网站很难,因为网站要编制网页程序,但是我要在这里跟你说明的是我们可以用一些免费的开源网页程序制作。什么是开源程序?指网站源码可以被公众使用的,并且此软件的使用,修改和分发都不受许可证的限制。就是官方共享给站长使用的网站程序。开源网站程序可以让那些不懂asp,php等编程的站长就可建一个网站。开源的程序如dedecms,新云,帝国cms,论坛类程序discuz,phpwind,博客类程序wordpress,zblod,网店类程序shopex等等。所以说我们可以用这些免费的开源程序来制作我们的网站,今天给大家介绍用XAMPP搭建WORDPRESS网站,为什么选择WP呢,因为安全性,美观性和兼容性我觉得在各大开源程序是数一数二的。
1:首先下载XAMPP和WORDPRESS,这个百度一下有很多,但是WP最好到官网下简体中文版的。
2:安装的就不用多说了,就是安装XAMPP的时候要注意当出现是否启动Mysql、Apache、Filezilla,是否预装htdocs文件夹和复选框时,记得勾选。Filezilla可以不要。
这里还有个小技巧安装的时候最好关闭其它应用程序,尤其是像Flashfxp、迅雷、Skype之类默认使用80端口的程序,否则可能启动不了甚至根本无法正常安装Apache服务。当然,你也可以在安装之前更改这些程序的端口。
3:把Wordpress解压缩,得到的文件夹Wordpress放到你安装盘的目录xampp/htdocs文件夹里面。
4:启动XAMPP,且保证Mysql和Apache处于&Running&状态。
5:在APACHE这一行里点击ADMINISTRSTOR,会出现如下图片的网页。
6:点击中文,这时候会进入XAMPP的管理后台,点击左下角的PHPADMIN,
下面就进入了本地PHP数据库的管理后台,也许你点进去的时候是英文的,这样就点击sprache-language里面选择中文-简体
选择以后网页会自动刷新,这样网页就会使用中文简体的语言了。
7:点击数据库,创建数据库,数据库名可以任意设置
但是你要记住这个数据库名,以后要用到的然后在左边点击一个小房子的图标会回到主页在这里选择
就可以了。
8:这里要说一下你想创建数据库用户名和密码的话点击权限
然后如下图设置
用户名和密码可以随便设置但是你要记住。如果一切正常的话你点击新建用户的时候会出现一个提示。然后关于XAMPP的我们就全部设置好了,可以直接关闭掉这个网页,大家回想一下,我们曾经把wordpress这个文件夹移动到x/xampp/htdocs这里面,首先打开wordpress文件夹。
9:打开,如果你没有安装dreamweaver的话建议安装如果不想安装的话可以右键单击打开方式-记事本,这里用记事本给大家做示范。
10:下拉会看到如图所示的代码
数据库名称就填写你所设置的数据库,数据库用户名默认root密码默认为空,也可以设置你自己设置的数据库用户名和密码。这里很好理解,原理就是你本地的数据库设置好了,WP要能够成为数据库当中的程序的话就要能够和数据库用户名和密码一样的,这就跟我们平常输入账号密码登陆QQ一样。
11:在浏览器地址框里输入http://localhost/wordpress。我们的安装WP程序过程就结束了,在这里要说明一下如果你发现你打开网站是英文的话,最好百度WORDPRESS到中文官网里面下中文版的。
注:相关网站建设技巧阅读请移步到频道。
作者:胡小易
编辑:sunsun
猜你喜欢:
最新图文资讯
站长之家专栏推荐
增值电信业务经营许可证: 闽B2-号 - 北京公安局网监中心备案号: 95号 -
(C)CopyRight 2002- Inc All Rights Reserved. 站长之家 版权所有}

我要回帖

更多关于 apache 发布网站 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信