我有一个在debian上运行apache2的虚拟服务器。 我想在我的所有网站的apache2.conf中创build一个默认的404错误信息。 ErrorDocument 404 "/var/www/site/public/404.html" 重新启动Apache后出现的错误是: Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 它工作,如果我input的url,虽然我不希望页面redirect只使用默认的404.html页面。
我刚刚安装了Apache和Mapserver的CentOS 5.5安装。 在尝试执行mapserver的教程时,我发现在访问任何教程文件时,Apache返回403禁止,但是对于我创build和上传的任何文件,通常都是正常的。 当用ls -l检查时,权限是完全相同的,用户和组是完全一样的,而且这些文件在同一个文件夹中 – 但是我不能从教程中访问.txt ,而如果我把这些内容复制到另一个文件,我可以访问它。 Apache的错误日志只是简单地说我没有权限访问这个文件,所以没有告诉我任何更有用的信息,而且我的search全部被告知确保权限设置正确(它们看起来是一样的)。 这是一个全新的安装与我的Web文档驻留在/ var / www和find /var/www/ -name .htaccess不返回任何东西,所以我相信有没有任何.htaccess文件阻止我访问任何东西。 nginx可以正确地处理这些文件,Apache不能,所以我认为这会把它缩小到Apache的权限问题,但是Apache没有太多的经验,不能从哪里开始。 任何想法,我应该看看下一个?
我们通过Apache模块mod_dav_svnbuild立一个Subversion服务器,并通过LDAP完成authentication。 现在我们想限制对Subversion的login尝试来防止暴力攻击。 如果一个用户(或一个机器人)三次input密码错误,他应该被阻止一段时间。 我们如何用上述设置来build立这种保护?
这个文件说这个 Due to the fact that www.example1.com is first in the configuration file, it has the highest priority and can be seen as the default or primary server. That means that if a request is received that does not match one of the specified ServerName directives, it will be served by this first VirtualHost. 我怎么能禁用这个,我不希望Apache的服务任何文件,如果任何启用的虚拟主机不匹配?
我已经在Debian上的Apache2上设置了mod_rewrite和mod_alias(在testing服务器上)。 我在/etc/apache2/sites-available/default有以下重写代码: <Directory /> Options FollowSymLinks AllowOverride All RewriteEngine on RewriteCond %{REQUEST_URI} !\.(php|html|css|js|gif|png|jpe?g)$ RewriteRule (.*)$ /index.php [L] </Directory> 我有以下别名代码,默认情况下从phpmyadmin软件包(通过apt-get install phpmyadmin加载,位于/etc/apache2/conf.d/phpmyadmin.conf )进行设置: Alias /phpmyadmin /usr/share/phpmyadmin 每次我加载http://my.test.server/phpmyadmin ,它转到http://my.test.server/index.php而不是别名(被绕过/忽略?)。 如何设置排除规则以允许别名通过(即使别名是在不同的文件中设置的)?
据我所知,RedHat支持CVE修复Apache和PHP CentOS作为更新,版本号不一定会增加,而且我可以通过yum update php等来获得这些修复,所以在查看版本号时,它似乎是容易受到CVE xyz的影响,但实际上可以修复。 如果这是错误的,请纠正我。 我如何validation哪些CVE号码在我的当前PHP和Apache CentOS盒子中被修补?
我有一个标准的Ubuntu安装。 Apache web根目录是/ var / www。 我想主办我的“主要”网站和一些其他人。 通常我会把mysite.com的文件放在web根目录下。 但是,如果我想承载多个网站,似乎可能会变得混乱。 看来,我最终会得到一个像这样的结构: 我的“主”网站的文件: /var/www/index.html /var/www/images/ /var/www/js/ 等等… 然后我的虚拟网站如: /var/www/somesite/ #somesite's files in here /var/www/foobar/ #foobar's files in here 我应该如何组织这样的设置? 将主站点的文件与虚拟主机站点的目录混合似乎是错误的和混乱的。 我想把我的“主”网站放到webroot的自己的目录(如上面的“somesite”和“foobar”),但是访问我的IP地址的人会得到没有任何站点文件的web根目录。 我应该这样做,然后将任何东西redirect到主要的IP到“主”网站的目录? 也许与htaccess? 也许在某个地方的apacheconfiguration? 你将如何处理这个? 我最终做了什么 (感谢下面的build议,所有这些都很有帮助)… 以下是configuration文件( /etc/apache2/sites-enabled/default )最初的内容: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www> Options Indexes […]
我一直在使用MediaTemple的GridService作为一个相对轻量级PHP站点的生产环境。 设置testing和临时环境的过程很麻烦,会导致员工走捷径,所以我试图把一个质量控制环境放在一起,为GridService提供一个类似的环境,但是这使得我可以更紧密地把它与自动部署过程(在GridService中configuration新的环境需要使用Web界面; mod_vhost_alias只允许我们创build我们的testingurl的子目录)。 我非常非常接近,但是遇到了一个问题 – PHP以CGI的forms运行,Apache自动将REDIRECT_预设为使用SetEnv在.htaccess中设置的任何variables(记住,我正在模拟GridService)。 例如: 的.htaccess SetEnv HTTP_TEST_VAR "Some Value" PHP echo getenv('HTTP_TEST_VAR'); // prints "" echo getenv('REDIRECT_HTTP_TEST_VAR'); // prints "Some Value" 这不会是一个大问题(我们可以在代码周围),除了GridService中不会发生这种情况,我真的更希望有相同的代码path(向代码中添加切换逻辑将打败所有我们已经完成了从代码库中获取configuration的工作)。 在后台的其余部分,我使用了一个运行Ubuntu的全新(2周)(ve)实例,从apt获得了apache和所有的依赖关系,并使用来自<?php phpinfo() ?>的configurationstring构build了PHP(5.3.15) <?php phpinfo() ?>在GridService上,减去db4的支持。 我真的很感激任何帮助。 谢谢!
我想知道下面的代码应该工作: <LocationMatch "/(.*)([/])?(.*)"> Order allow,deny Allow from all AuthType Basic AuthName "Git" AuthUserFile /git/.htpasswd AuthGroupFile /git/.htgroup Require group $1 </LocationMatch> 我试图实现这个是要求基于第一个正则expression式variables的组。 因此,如果用户转到http://localhost/a-repository-name他必须在组a-repository-name中才能打开url。 出于某种原因,我不能得到这个代码的工作和Apache返回: Authorization of user **** to access /a-repository-name failed, reason: user is not part of the 'require'ed group(s). 我想这不符合Require group $1的正确variables。 这是正确的做法,或者我错过了什么?
我正在构build一个networking服务器( http://blog.linformatronics.nl/ ),它在IPv4和IPv6以及使用非SSL连接时都能正常工作。 但是,当我通过https连接到它,IPv6按预期工作,但IPv4连接抛出客户端错误。 服务器端日志为IPv4 / https连接为空。 总结在一个表格中: | http | https —–+——-+——————————————————- IPv4 | works | OpenSSL error, failed. No server side logging. —–+——-+——————————————————- IPv6 | works | self signed certificate warning, but works as expected 显然,SSL隧道甚至没有build立,这说明Apache日志是空的。 但是,为什么它对IPv6工作正常,IPv4失败呢? 我的问题是为什么这个OpenSSL错误被抛出,我该如何解决? 以下是关于设置的一些额外的信息。 IPv6 https 用于重现IPv6 / https行为的命令: $ wget –no-check-certificate -O /dev/null -6 https://blog.linformatronics.nl –2012-11-03 15:46:48– […]