Articles of apache 2.2

Apache,logerror和logrotate:什么是最好的方法?

以下是我的网站的虚拟示例: <VirtualHost *:80> DocumentRoot /datas/web/woog ServerName woog.com ServerAlias www.woog.com ErrorLog "|/httpd-2.2.8/bin/rotatelogs /logs/woog/error_log 86400" CustomLog "|/httpd-2.2.8/bin/rotatelogs /logs/woog/access_log 86400" combined DirectoryIndex index.php index.htm <Location /> Allow from All </Location> <Directory /*> Options FollowSymLinks AllowOverride Limit AuthConfig </Directory> </VirtualHost> 我现在有12个网站在运行。 这给了像这样的东西: [Shake]:/sources/software/mod_log_rotate# ps x | grep rotate /httpd-2.2.8/bin/rotatelogs /logs/[hidden siteweb]/error_log 86400 /httpd-2.2.8/bin/rotatelogs /logs/[hidden siteweb]/error_log 86400 [snap (as many […]

将domainA.comredirect到sub.domainB.com

只是一个简单而容易的问题,我希望。 目前,我已经有一个主域名与我的(虚拟)托pipe服务器相关联。 我现在有第二个域名,我想链接到一个特定的子域名,即 domainB.com/X – > subdom.domainA.com/X 最好不要在地址栏中显示这个redirect。 这可以通过单独的DNS设置来实现,还是需要我在域A的根文件夹中添加一个.htaccess文件?

mod_rewrite和%字符

我需要将包含一个或多个string(包括%字符)(例如%123)的string重写为另一个包含%字符(例如%234)的string。 我可以用这样的特殊的THE_REQUEST属性来做到这一点: RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /(.*)\%123(.*)\ HTTP RewriteRule .* /%1\%234%2 [R,NE] 但是,对于包含多个“%123”string的URL,这不起作用… N选项没有效果,因为看起来THE_REQUEST的值没有改变。 有任何想法吗?

间歇性的PHP错误:未定义的函数<核心函数>

在上个星期,我在Slicehost切片上遇到了令人难以置信的烦人的错误。 看来,PHP不时会出现一个致命的错误,说某个函数是不确定的。 这个函数改变了,但是它总是一个核心的PHP函数,例如defined(),version_compare()等。当使用几个不同的PHP应用程序 – PHPMyAdmin,我自己定制的应用程序等等时,这个问题已经发生,导致我相信这个问题不是特定于运行的代码。 这里有一些细节: – Debian Lenny – Apache 2.2.9 – PHP 5.2.6-1 + lenny4 Suhosin-Patch(运行eAccelerator 0.9.6) Apache和PHP从Debian软件包安装。 错误日志没有显示任何exception。 我认为记忆可能是一个问题,但免费-m几乎总是免费报告100MB以上。 我试图调查的另一件事是,如果问题可能与eAccelerator相关,但testing这个理论是非常困难的,因为这个问题并不经常出现,我一直在这个安装使用eAccelerator几个月没有任何问题到现在为止。 有没有人遇到过这样的事情? 为什么PHP会报告未定义的核心函数?

Apache访问日志请求

我看到一些“GET / HTTP / 1.1”的请求,并显示200结果 – 这是虚拟主机的根,还是网站的根? 谢谢!

iptables是否允许Squid处理请求,然后将响应数据包redirect到另一个端口?

我试图testing一个花哨的stream量分析器应用程序,我已经在8890端口上运行。 我目前的计划是让任何HTTP请求进入Squid的端口3128,让它处理请求,然后就在它发回响应之前,使用iptables将响应数据包(离开端口3128)redirect到端口8890。 我已经研究了这一整夜,并尝试了很多iptables的命令,但我失去了一些东西,我的头发掉了。 我以为这样的事情会起作用: iptables -t nat -A OUTPUT -p tcp –sport 3128 -j REDIRECT –to-ports 8990 这个规则得到创build好,但它永远不会redirect任何东西。 这甚至有可能吗? 如果是这样,什么iptables咒语可以做到这一点? 如果不是的话,在给定多个远程浏览器客户端的情况下,有什么想法可以在单个主机上工作? 我不知道是否Apache与mod_proxy可能是这个设置的候选人,而不是Squid? 如果我只能告诉Squid(或Apache或任何其他HTTP代理)将响应发送到不同的本地端口,而不是返回到远程客户端,那么也可以工作(即使没有iptables)。 任何具有此function的HTTP代理的build议都会很棒。

将子目录中的所有url重写到特定页面

我需要在example.com/mydir/中放置一个.htaccess,将/mydir/(.*)中的所有url重写(不redirect)到/mydir/index.php?var=$1。 如果一个URL是一个存在的path或文件,它是不相关的(我必须重写)。 我不能使用+ FollowSymLinks,但SymLinksIfOwnerMatch。 谢谢。

Apache的gzip与chucked编码

我正在使用我的某个数据源服务处理一些问题。 正如它在HTTP响应头文件中说的,它运行在Apache-Coyote / 1.1上。 服务器使用Transfer-Encoding给出响应:分块,这里是示例响应: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Tue, 30 Mar 2010 06:13:52 GMT 问题是当我要求服务器发送gzip请求时,它经常发送不完整的响应。 我收到回应,看到最后一个块被收回,但是在unzip之后,我看到这个回应是部分的。 所以我的问题是:这是常见的Apache问题? 也许是它的一个mod_deflate插件什么的? 如果您需要更多信息,请提出问题。 谢谢。

只有suEXEC的Apache错误

当我按照这里的教程启用suEXEC时,我能够让PHP在cgi模式下运行Apache,但是当我开始尝试使用suEXEC时,我得到一个403,并且在错误日志“client denied by服务器configuration“。 suEXEC日志是空的。 我怎样才能得到这个工作? 我的最终目标是用suexec来运行fastcgi,而这个错误已经使我无时无刻不在了。 httpd.conf的相关部分: ScriptAlias /php5-cgi /usr/bin/php-cgi Action php5-cgi /php5-cgi AddHandler php5-cgi .php <Directory /usr/bin> Order allow,deny Allow from all </Directory> <VirtualHost *:80> ServerName skylords.com ServerAlias www.skylords.com en.skylords.com lt.skylords.com nl.skylords.com DocumentRoot /srv/http/htdocs SuexecUserGroup skylords skylords AddHandler php5-cgi .php ScriptAlias /php5-cgi /var/http/htdocs/cgi-bin/php-cgi ErrorDocument 404 /srv/http/htdocs ErrorLog /srv/http/logs/apache_error.log <Directory "/srv/http/htdocs"> AllowOverride All Order allow,deny […]

已删除文件。 发生什么事了?

今天我有一个奇怪的问题。 当我意识到我无法从(Windows)networking上的其他计算机上运行它们时,我正在编写和testing一些简单的cgi脚本。 所以我让我的networkingpipe理员进来看看发生了什么事情。 几分钟后,一位同事进来告诉我,他正在使用的一堆文件以及networking驱动器上的一堆文件(所有* .c文件)都被删除了。 他还注意到一些奇怪的apache_dump_500.log.txt文件在文件被删除的相同目录中。 apache_dump_500.log.txt文件看起来像这样: REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712) REDIRECT_PATH=.:/bin:/usr/local/bin:/etc REDIRECT_QUERY_STRING= REDIRECT_REMOTE_ADDR=<my computer's local ip> REDIRECT_REMOTE_HOST= REDIRECT_SERVER_NAME=<my computer's domain url> REDIRECT_SERVER_PORT= REDIRECT_SERVER_SOFTWARE= REDIRECT_URL=/cgi-bin/trojan.py 我看了,我的cgi-bin文件夹中没有任何trojan.py。 而我所有的Apache日志都很干净。 Windows事件logging器似乎没有任何发生的痕迹。 我的httpd.conf: http : //pastebin.com/Yny2Yh8v 我认为我们已经有一种病毒,将这个trojan.py文件添加到我的cgi-bin,运行脚本,并删除脚本和日志中的任何痕迹。 这是发生的事情吗? 任何想法任何将不胜感激!