Articles of httpd.conf

Apache服务于不同的目录

我已经为一个域定义了一个虚拟主机configuration(见下文)。 根中的所有HTML文件都得到正确的处理。 但我无法访问名为“图标”的特定子目录内的任何文件。 example.com/index.html或example.com/pix.jpg可以正常工作,但example.com/icons/somefile.jpg会提供一个“文件未find错误”,尽pipe该文件实际存在。 此外,当我尝试访问example.com/icons/,而不是得到一个错误,显示apache图标目录的文件列表! example.com应该来自/var/www/example.com/public,example.com/icons/应该来自/ var / www / example.com / public /图标 ,而是/ var / www /图标的目录列表被显示。 example.com/test/somefile.html可从/var/www/example.com/public/test正常运行和正常运行 另一个有趣的是,目录列表被禁用,但图标目录的列表仍然显示example.com/icons。 DocumentRoot "/var/www/html" # First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Order deny,allow Deny from all Options None AllowOverride None </Directory> <VirtualHost *:80> ServerAdmin [email protected] […]

无法通过http提交到SVN库

当我尝试通过http将项目导入到Subversion存储库时,出现以下错误: 无法创build目录“/usr/local/svn/myproj/db/transactions/0-1.txn”:权限被拒绝 我设置了httpd LogLevel进行debugging,并在输出结尾得到了这个: [Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190]无法创build活动/ svn / myproj /!svn / act / 9c0a8481-8edd-4be0-be2d-164c700616ba。 [500,#0] [Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190] could not begin a transaction [500,#13] [Wed Feb 17 23:56:33 2010] [error] [client 24.205.225.190]无法创build目录'/usr/local/svn/myproj/db/transactions/0-1.txn':Permission denied [500 ,#13] 这里是我的httpd.conf文件的相关部分: <Location /svn> DAV svn SVNParentPath /usr/local/svn AuthType Basic […]

你可以在apache conf中使用windows环境variables吗?

是否有可能包含一个Windows环境variables在httpd.conf中? 理想情况下,我想将DocumentRoot设置为类似于%PROGRAMDATA%\ MyCompany \ MyApp \ htdocs。 背景:我试图做一个自定义的Apache安装程序作为一个更大的项目的一部分。 我可以让安装程序写一个绝对path到httpd.conf中,但是如果可能的话,我宁愿保持conf文件的可移植性。

Apache多视图,如何禁用它

我有一个OS X Snow Leropard服务器运行,我想禁用Apache的multivewis。 我可以添加Options -MultiViews到我有的每个.htacces文件,但我想必须有一个全局选项。 禁用mod_negotiation.so呈现所有页面无用,所以这不是我正在寻找的选项.. 谢谢您的帮助!

基本的Apache httpd服务器设置变慢,需要频繁重启的图像

我有一个在RHEL 5.3上运行的Apache httpd服务器。 我正在使用此服务器为另一个httpd实例上运行的网站提供静态内容(图像)。 在公共networking目录中有几个图像,就是这样。 启动后的一段时间,服务器向浏览器提供图片的速度非常缓慢,并且在试图服务于16×16 png时经常挂起几分钟。 debugging这个问题最好的方法是什么? 我已经在机器上运行了顶部 ,以validation是否有足够的可用内存,并提供CPU。 机器不会进入交换,而且当通过浏览器请求图像时,httpd进程只占用CPU和内存几秒钟。 但是图像只有几分钟后才能返回。 httpd进程的重启解决了这个问题,图像加载很快。 这似乎是可能的最简单的Web服务器设置。 这个问题可能是什么? 谢谢 更新 :httpd.conf设置: Timeout 10 KeepAlive On MaxKeepAliveRequests 150 KeepAliveTimeout 15 ServerLimit 3 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule>

为什么RewriteBase不起作用?

这是我正在做的事情: 域名是thinkingmonkey.me 域名具有127.0.0.1作为IP地址 mod_alias已安装。 我有一个名为directories.conf的conf文件。 其中我有所有有关目录的configuration。 directories.conf包含在httpd.conf 我的directories.conf有 Alias /runs /xhprof/xhprof_html <Directory /mysite/xhprof/xhprof_html> Order allow,deny Allow from all AllowOverride All </Directory> 在/mysite/xhprof/xhprof_html/.htaccess 。 我有以下几点: RewriteEngine on RewriteBase /runs RewriteRule .* index.php 我所要做的就是将/mysite/xhprof/xhprof_html/下的任何请求指向index.php 。 当我请求不带结尾斜线的 thinkingmonkey.me/runs ,我404 not found 。 所以,我推断RewriteBase不起作用。 我究竟做错了什么?

apache httpd.conf – 虚拟主机configuration

我是新来的Apache和httpd.conf 我遇到的问题是我需要不同的网站去不同的虚拟主机configuration,如果只有IP被请求,它需要去根index.html 这适用于虚拟主机: <VirtualHost *:80> DocumentRoot /var/www/html/bali-accommodation.co ServerName www.bali-accommodation.co </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/balibeach.co ServerName www.balibeach.co </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/dating-website.co ServerName www.dating-website.co </VirtualHost> 但是,当我只是指定IP到www.XXX.XXX.XXX.XXX(追加www)。 我知道在网站有一个.htaccessredirect,增加了www,但我不希望IP进入虚拟主机configuration。 我试着把它添加到Vhostconfiguration的顶部: <VirtualHost *:80> DocumentRoot /var/www/html ServerName localhost </VirtualHost> 与上面它显示index.html完美,但所有的网站都进入这个捕获所有。 我也试过这个网站虚拟主机: DocumentRoot /var/www/html/bali-accommodation.co ServerName www.bali-accommodation.co 我已经尝试了上面有和没有在第一行'www'失败。 有没有办法让虚拟主机工作的域名,如果有人只是inputIP它去根index.html? /var/www/html/index.html? 谢谢你,亚当

在一个IP虚拟主机设置上将子域redirect到另一个网站

我很抱歉,如果之前已经问过这个问题,但是我已经在这里看了很多问题,他们都没有回答我的问题。 我有一系列域指向我的服务器。 对于每一个我已经设置它的IPlogging,并正确地在http.conf中configuration一个VirtualHost,如下所示: # example.com <VirtualHost *:80> DocumentRoot /path/to/example ServerName example.com ServerAlias example.com ServerAlias www.example.com </VirtualHost> # other.com <VirtualHost *:80> DocumentRoot /path/to/other ServerName other.com ServerAlias other.com ServerAlias www.other.com </VirtualHost> 现在我在我的服务器上为test.other.com设置了一个IP,我想将其redirect到一个完全的其他网站:test.blogspot.com(因为它移动了)。 我尝试了以下,但它将所有网站redirect到该网站 # other.com <VirtualHost *:80> ServerName test.other.com ServerAlias test.other.com Redirect / http://test.blogspot.com/ </VirtualHost> 我想这是因为“/”? 不太确定。 我试过VirtualHost test.other.com:80但没有工作。 我尝试了一堆东西,没有工作,所以我真的需要你的帮助。 提前致谢。

多站点托pipe安全性 – 确保没有脚本可以作为Apache用户运行,而只能作为每个网站的用户运行

在设置一个应该彼此隔离的多个站点的托pipe环境时,我做了一个很明显的步骤,即configurationPHP,使其作为与每个站点相关联的用户运行,而不是像Apache用户那样运行,但有没有某种方式为了确保一个站点不能像Apache用户那样运行用其他语言(例如Python)编写的脚本? 我已经看到了像符号链接攻击这样的聪明攻击,它使用.htaccess规则和符号链接来欺骗Apache从其他网站以明文方式提供PHP文件(这与问题无关,只是一个例子),而且因为我不熟悉PHP以外的服务器端语言的设置,我不知道要通过Apache conf文件来检查和/或禁止什么,以确保以其他语言编写的脚本不能作为Apache用户。 例如,尽pipePHP设置为以网站用户身份运行,但如果网站遭到黑客入侵,黑客是否可以创build一个.htaccess文件,将.abc文件设置为以Perl脚本运行,如果服务器上的configuration不正确那么那些作为Apache用户运行? 什么是最好的方法来解决这个问题?

Apache – 大量的httpd进程总是在运行

有大量空闲的httpd进程总是在运行吗? 我运行了一个testing,将StartServers和MinSpareServers增加了1000,并测量了内存使用量的增加,只有500MB。 鉴于此,我认为既然我们有很多内存,为了在突发stream量期间获得最佳性能,我们不妨将StartServers和MinSpareServers设置为大约1000,当然,将ServerLimit和MaxRequestWorkers (以前称为MaxClients )设置为更高。 有没有这样做的缺点,我不知道假设我们的服务器能够一次处理多个请求,我们使用MaxConnectionsPerChild作为预防内存泄漏? 作为对每个人想0.5MB每httpd过程的一个侧面说明是不正确的,从我读了为什么Apache的内存使用量less于单个进程报告什么的原因是,它使用共享库。