Articles of apache 2.2

使用Apache设置Trac,mod_fcgi的结果为404或403

我正在尝试在我的私人服务器上创buildtrac安装,以便将其用于项目pipe理。 我按照说明安装并连接到可以在官方trac安装指南中find的apache服务器,但是当我尝试访问trac时,我得到错误404。当我禁用ScriptAlias时,我得到403访问被拒绝。 以下是详细信息: 我的设置是这样的:在无头模式下运行的ArchLinux i686(我通过ssh连接到它),并无线连接到我的家庭networking的路由器。 我select使用FastCGI连接trac和apache trac用户包含trac相关的所有东西。 $ sudo ls /home/trac cgi-bin env htdocs env是项目所在的位置cgi-bin和htdocs是使用trac-admin $TARGET $DESTINATION deploy命令生成的。 包含Apache服务器的DocumentRoot的httpd用户: $ sudo ls /home/httpd ftp http 我把所有权归于/ home / trac,recursion地分配给httpd和http组(不安全,我知道,但是我想以最简单的方式首先testing它): sudo chown -R http.httpd /home/trac 我对httpd.conf做了如下修改: 添加: LoadModule fcgid_module modules/mod_fcgid.so 更改: User httpd Group http 将DocumentRoot更改为无处不在: DocumentRoot "/home/httpd/http" 最后我启用了虚拟主机: # Virtual hosts Include conf/extra/httpd-vhosts.conf 这里是httpd-vhosts.conf: <VirtualHost […]

HTTPS / HTTP通过.htaccessredirect

我有一个复杂的问题,我试图解决。 我已经使用下面的.htaccess指令来启用某种漂亮的url,并且工作正常。 例如, http ://myurl.com/shop将被redirect到http://myurl.com/index.php/shop ,这是很好的工作(请注意,这样的东西,如myurl.com/css/mycss.css )不会redirect: RewriteEngine on RewriteCond ${REQUEST_URI} !^(index\.php$) RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^/?(.*)$ index.php/$1 [L] 但现在,我已经在我的网页上引入了SSL,我想要以下行为:除了admin.php和login.php外,我基本上都希望上述行为适用于所有页面。 对这两个页面的请求应该被redirect到HTTPS部分,而所有其他的请求应该按照上面的规定进行处理。 我已经拿出了以下.htaccess,但它不起作用。 h tps://myurl.com/shop不会被redirect到h tp://myurl.com/index.php/shop,h tp://myurl.com/admin.php不会被redirect到h tps ://myurl.com/admin.php。 RewriteEngine on RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !^(admin\.php$|login\.php$) RewriteRule ^(.*)$ http://%{HTTP_HOST}/${REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^(admin\.php$|login\.php$) RewriteRule ^(.*)$ https://myurl.com/%{REQUEST_URI} [R=301,L] RewriteCond %{REQUEST_URI} […]

plesk:如何正确configuration反向代理规则?

FWI,感谢下面的Vadym的评论,我发现我忽略了在我的Plesk服务器上启用mod_proxy_http。 加载这个模块(和mod_proxy一起)修正了原来的错误。 我正在尝试在vhost.conf中configuration反向代理规则。 我在Ubuntu-8.04上安装了Apache-2.2.8,由Plesk-10.4.4监控。 我想要实现的是定义一个反向代理规则,将所有stream量都推迟到-say- http:// mydomain / tomcat /到端口8080上运行的Tomcat服务器。我在Apache中加载了mod_rewrite和mod_proxy。 据我了解mod_proxy文档,在/var/www/vhosts/mydomain/conf/vhost.conf中input以下规则应该工作: <Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests off RewriteRule ^/tomcat/(.*)$ http://mydomain:8080/$1 [P] 然而,当请求上面的URL时,我得到一个HTTP 500:内部服务器错误。 (注:我决定使用重写规则,以便至less获得一些logging的信息。) 我做了mod_rewrite日志广泛,并find日志中的以下条目[注:由于最大限制。 2个新用户的post中的URL,我已经修改了所有下面的URL,以便它们在http:后面只包含1个斜线。 如果你怀疑错别字:这是故意的): (2)init请求的uri / tomcat / testApp / init的重写引擎, 81.241.230.23 – – [19 / Mar / 2012:16:42:59 +0100] [mydomain / sid#b06ab8] [rid#1024af8 / initial](3)应用模式'^ / tomcat […]

从任何Windows浏览器访问Linux PHP的Web服务器速度很慢

我有一个运行apache2和PHP的Linux服务器(Ubuntu 10.04)。 从另一台Linux机器或Mac的任何浏览器访问页面时,一切正常。 但是当我尝试从Windows机器和浏览器的任何组合中访问一个页面时,在页面返回之前,我得到了大约30秒的延迟。 从Windows浏览器访问一个普通的旧HTML文件运行lickity拆分。 所以它似乎只是PHP。 MySQL已经安装,但是一个简单的不使用MySQL的testing页仍然很慢。 我不认为这是DNS,因为如果我硬编码在URL中的IP地址没有任何变化。 我可以告诉的日志文件中似乎没有任何东西。 什么可能导致Windows客户端上的这种行为?

Apache 2.2 / PHP不加载正确的php.ini

我一直在为此挣扎好几天。 我有一个Windows Server 2008,我已经安装了Apache 2.2,PHP和MySql。 我不断得到mysql_connect是一个未知的函数的错误,所以我跟着我能find的所有指南,但没有结果。 我现在已经注意到,phpinfo说,php.ini目录是C:\ Windows。 这很奇怪,因为我已经写在httpd.conf中: PHPIniDir 'c:\PHP\' LoadModule php5_module "c:/PHP/php5apache2_2.dll" AddHandler application/x-httpd-php .php 我如何获得Apache和PHP来阅读我的php.ini,从而包括MySQL?

如何debuggingmodsecurity_audit_log

我在我的服务器上访问www.example.com/RestAPI/index.php/tweets.json 。 modsec_audit.log显示以下错误,但在modsec_debug.log没有相关的错误/警告。 我可以看到内部服务器错误logging在example-error_log中。 我怎样才能debugging这个内部服务器错误? –8560e90b-A– [21 / Mar / 2012:07:01:52 +0000] T2l84H8AAAEAAGxPZ @ QAAAAG xxxx 33101 xxxx 80 –8560e90b-B– GET /RestAPI/index.php/tweets.json HTTP / 1.1 Host:www.example.com User-Agent:Mozilla / 5.0(X11; Linux i686; rv:11.0)Gecko / 20100101 Firefox / 11.0 Accept:text / html,应用程序/ xhtml + xml,application / xml; q = 0.9, / ; q = 0.8接受语言:en-us,en; q = […]

RedirectMatch将每个urlredirect到https,除了less数url

目前,我正在使用以下指令将所有http url转向httpsurl, RedirectMatch permanent ^(.*)$ https://someserver.com$1 现在我坚持一个场景,我必须redirect除了像http://someserver.com/test或http://someserver.com/test/users或基本上任何有/testing后跟任何东西它。 此外,我想redirect这些具有“/testing..”的url是一个正常的HTTP显示访问被拒绝的页面(一个HTML页面)。 为了增加复杂性,所有通过“/”的请求都通过ajp使用<Location />和ProxyPass指令路由到tomcat 我不得不在这种情况下只使用RedirectMatch,因为如果我必须使用重写,我必须改变很多其他的configuration。 我们可以有多个RedirectMatch? 如果是这样,我怎么能configuration正则expression式为上面的情况…

虚拟主机configuration,运行在非80端口上的Apache httpd

我正在尝试使用Apache和HOSTS文件组合在我的Windows计算机上configuration虚拟主机。 例如,我想让www.example.com从localhost服务器上提供服务。 但是,端口80被Citrix进程占用,无法更改。 所以,我的httpd运行在81.我希望能够实现以下。 我在浏览器上打了http://www.example.com 。 Apache虚拟主机configuration应该收到这个请求,尽pipe运行在81.(这是我的担心所在!) 从http:// localhost:81 / htdocs提供页面 。 这可能吗? 以下是我的httpd.conf相关部分: ServerName www.example.com:81 NameVirtualHost www.example.com:81 而我的hosts文件有下面的行: 127.0.0.1 www.example.com

Ubuntu服务器:Apache2似乎将.php附加到URI

我正在使用PHP库补品的Web服务。 我的资源就是例子 base-uri/myResource 现在,如果该目录中存在一个myResource.php文件,那么mod_rewrite的url就可以看到 base-uri/myResource.php 然后失败的重写条件和我的应用程序中断(应用程序在Windows上的Apache) 如果我将myResource.php重命名为myResourceClass.php(或其他),它就可以工作。 所以它似乎是apache或一个,如果其模块假定与base-uri / myResource我想调用base-uri / myResource.php,但只有当myResource.php存在。 这是一个普遍的问题,或者我可以在某处configuration这不会发生? 谢谢! 编辑: 看到 如何设置一个基本的mod_rewrite? 答案包含相同的观察! 回答: 问题是Ubuntu上的默认Apacheconfiguration: Options Indexes FollowSymLinks MultiViews MultiViews将request_uri从myResource更改为myResource.php。 解决scheme: 在.htaccess中禁用MultiView:选项-MultiViews 从默认configuration中删除MultiView 将该文件重命名为myResourceClass的示例 我select了最后一个选项,因为这应该工作,无论configuration,我只有3个这样的文件,所以改变了大约30秒…

显示文件列表和不运行应用程序的Rails

我遵循这个教程: http : //railsapps.github.com/tutorial-rails-mongoid-devise.html 在端口8000上通过代理运行nginx。你可以在这里看到它。 为什么在/ public目录中列出文件? 另外,如果我尝试去任何deviseuris,它显示Nginx的404,而不是铁轨404 …这可能是一个乘客的问题? 我是新的服务器pipe理员/铁轨。 所以这可能是一个nginx的问题OR栏configuration。 任何build议的铁轨学生/僵尸? 我的部分问题是,我不太了解错误日志。 如何检查nginx / apache / rails日志的错误?