Articles of apache 2.2

禁止发布代理

我想禁止在我的网站上发布代理和垃圾邮件。 最好的办法是什么? 我已经下载了一个黑名单,我的第一个想法是禁用我的.htaccess文件中的每个ips,但是在下载完这个列表之后 ,我发现它包含了近900万个条目。 我的另一个想法是将每个IP分成4部分,并在POST中执行[1; 4]连续的SQL查询。 但是,如果我可以将这些值caching在内存中,我可以用像(:200(:188(:10(:42))))之类的东西来检查它们。 这是可以用PHP? 谢谢!

如何在Ubuntu上设置Apache 2上的虚拟主机? 我收到错误

我刚接触Ubuntu并设置了Apache。 我只是想为本地发展做好准备。 我发现了大量的信息,但其中有些是矛盾的或混乱的。 我开始了一个新的安装,现在我已经搞砸了,当我尝试启动它时,Apache会抛出错误。 有人可以给我一个简单的,一步一步的方法从头开始在Ubuntu上设置虚拟主机? 我需要编辑哪些文件? 我需要运行哪些命令? 谢谢! 更新#1:具体来说,我得到的错误是这样的: * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Fri Oct 09 11:32:38 2009] [error] VirtualHost sitename:0 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results […]

htaccess mod重写问题

让我立即开始我的问题: Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1 [L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2 [L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2&var3=$3 [L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L] RewriteRule ^([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1 [R=301,L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2 [R=301,L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2/$3 [R=301,L] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2/$3/$4 [R=301,L] 有文件夹sinj.com.hr/administracija ,当我尝试访问http://localhost/sinj.com.hr/administracija我被redirect到 HTTP://localhost/sinj.com.hr/administracija VAR1 = administracija 我想要的是,当用户inputhttp://localhost/sinj.com.hr/administracija ,他被redirect到http://localhost/sinj.com.hr/administracija/index.php 。 我试图用头(“位置:…”)做到这一点,但它总是将我redirect到http://localhost/sinj.com.hr/administracija?var1=administracija 。 如果文件夹administracija重命名然后header()函数工作。 任何想法如何解决这个问题? 谢谢,Ile

用mod_include分割错误

我正在使用一个相当复杂的结构,包含多个ssi-includes,set-和echo-命令。 第一个文件写很多设置命令,然后再包含另一个文件包含第三个文件。 在最后包含的文档中,使用echo-command打印variables值。 我注意到,随着variables数量的增加,分段错误发生的概率上升。 有没有人遇到类似的东西? 我如何去debugging这样的问题? 我正在使用IBM_HTTP_Server / 2.0.47.1-PK65782 Apache / 2.0.47

与jira战争安装mod_proxy

所以我有jira安装,我通过mydomain.com:8080/jira访问我。 我真的想通过jira.mydomain.com访问我。 我启用了mod_proxy并将以下内容放在apache虚拟主机中: ServerName jira.mydomain.com ProxyPreserveHost On ProxyPass / http://localhost:8080/jira 但是,它转发给我jira.mydomain.com/jira。 哪个不行 我也把jira中的基本URL改为jira.mydomain.com。 这里发生了什么事情,为什么extra / jira存在? 我安装jira作为战争安装,因为我通过tomcat运行其他应用程序(汇合,哈德森等)

mod_proxy安全性

我在Debian Lenny上使用apache2。 在我的proxy.conf我试着添加 Allow from localhost 正如其他一些论坛所build议的那样,让代理工作。 没有工作。 只有我说,它才有用 Allow from all 我的问题是这个。 是否有任何安全隐含这个允许从所有指令? 大多数人都说这样做尽可能有限,但“全部”是客户的权利? 我希望任何人都能够正确地转发他们的IP。 有没有更好的方法来configuration这个?

服务器端包含某些文件

目前,所有的.shtml文件都被SSIparsing。 其中一些页面没有SSI,如果不需要通过SSI,效率会更高。 有没有办法指定一个文件或一组文件进行parsing,并parsing其余部分,而不是所有的.shtml文件parsing? 谢谢

configurationApache + Passenger以从不同目录提供静态文件

我试图设置Apache和乘客服务的Rails应用程序。 不过,我也需要它来提供非公开目录中的静态文件,并优先于这些静态文件在Rails应用程序中的任何东西。 Rails应用程序位于/home/user/apps/testapp和/home/user/public_html的静态文件。 由于各种原因,静态文件不能简单地移动到Rails公用文件夹。 另请注意,根目录http://domain.com/应该由public_html文件夹中的index.html文件提供。 这是我正在使用的configuration: <VirtualHost *:80> ServerName domain.com DocumentRoot /home/user/apps/testapp/public RewriteEngine On RewriteCond /home/user/public_html/%{REQUEST_FILENAME} -f RewriteCond /home/user/public_html/%{REQUEST_FILENAME} -d RewriteRule ^/(.*)$ /home/user/public_html/$1 [L] </VirtualHost> 这对Rails应用程序来说很好,但是对于来自public_html的任何静态内容给出了404。 我也尝试了一个使用DocumentRoot /home/user/public_html的configuration,但是根本不提供Rails应用程序,可能是因为Passenger不知道处理请求。 有趣的是,如果我将条件更改为!-f和!-d,并将重写规则更改为redirect到另一个域,则按预期工作(例如http://domain.com/doesnt_exist被redirect到http://otherdomain.com/doesnt_exist ) 我如何configurationApache来提供这样的静态文件,但允许所有其他请求继续乘客?

Apache2悄然打破,不会使apache2.pid

当我运行#/etc/init.d/apache2 restart它高兴地声称已经启动了该程序,但实际上并没有这样做。 输出有点像这样。 www〜#/etc/init.d/apache2 restart *停止Apache2 … [Sun Oct 25 23:50:38 2009] [warn]在/etc/apache2/vhosts.d/30_subversion_ssl_vhost.conf的第63行中无用UseOverride。 [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost –removed – :443 has no VirtualHosts [Sun Oct 25 23:50:38 2009] [warn] NameVirtualHost –removed1 – :8443 has no VirtualHosts httpd(没有pid文件)没有运行[ok] *启动apache2 … [Sun Oct 25 23:50:38 2009] [警告]在/ et的第63行中无用的AllowOverride C / apache2的/ vhosts.d / 30_subversion_ssl_vhost.conf。 […]

如何在apache中设置默认的umask?

我需要在fedora上的apache中设置默认的umask,这样我上传的文件的权限就是644,默认设置为600,尽pipechmod($ uploaded_file,0644); 在PHP脚本。 有人可以提供一些方向…?