Articles of apache 2.2

var / www / permissions

我今天已经购买了一台服务器,我几乎通过configuration它,我已经设法安装mysql,并启用了防火墙,允许访问端口80,22和443 我试图testing一个简单的PHP文件,看看是否一切正常,但我得到一个404 Not found error ,我敢肯定,这个文件存在,这是使用vi创build的,因为我已经使用Filezilla确认它。 我错过了什么? 是否有另一个步骤,我必须采取一个简单的PHP文件的工作。

脚本第二次加载后输出乱码

在一台运行FreeBSD 8.3-RELEASE-p3 , Apache 2.2.22从端口运行的服务器上, PHP version 5.4.6从端口运行,输出在脚本的第二次加载时出现乱码。 有问题的行为是今天才被发现的,但是我们怀疑它是从最近的一个端口更新开始的。 这是一个示例脚本: <?php // index.php print 'top of index.php<br>'; require 'blah.php'; print '<br>after require'; ?> <?php // blah.php print 'blah'; ?> 在文件被修改后的第一次,这是输出: top of index.php<br> blah <br>after require 第二个(和任何后续的调用)给同一个脚本给这样的随机垃圾输出ö或àœ~cept-Encodin , ðš~~垃圾。 有时它是文件名块。 在Apache错误日志中,我们看到段错误和PHP错误,没有定义函数“\ x0”,指向上面index.php中的第1行。 显然, print是一个定义的function! 如果保存该文件(导致ctime改变),则下一次加载将再次显示期望的输出,但是随后的加载再次出现乱码。 重新启动服务器即可完成此操作,除非有时在发生扰乱之前可以获得3-4个负载。 我怀疑gzip或zlib有一些其他压缩或操作码caching等问题。 但是,我们的php.ini与另一台服务器完全相同,它们的设置和版本完全相同。 如果有人能指出我可能的原因,或进一步诊断问题的有效方法,我会很感激。 我已经检查了php.ini设置,设置了一个最小样本,并validationzlib是closures的 – 没有骰子。

Apache Kerberos / LDAP:无法读取所需的input参数:提供的名称无效(,未知错误)

(Debian Squeeze)我有Apache通过Kerberos进行身份validation – 工作正常。 现在我想限制网站只有一个组,所以我需要添加LDAP授权。 我启用了authnz_ldap并编辑了apacheconfiguration。 当我使用“Require ldap-group”指令时,在apache错误日志中出现以下错误: gss_display_name() failed: A required input parameter could not be read: An invalid name was supplied (, Unknown error) apache.conf中的configuration是: <Directory /var/www/kerberos> AuthType Kerberos AuthName "Kerberos Login" KrbMethodNegotiate On KrbMethodK5Passwd On KrbAuthRealms MYDOMAIN.LOCAL Krb5KeyTab /etc/krb5.keytab KrbServiceName HTTP/[email protected] AuthLDAPURL "ldap://primarydc.mydomain.local/DC=mydomain,DC=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN "[email protected]" AuthLDAPBindPassword topsecretpassword Require ldap-group CN=Mygroup,OU=mydomain,DC=local </Directory> 我已经尝试添加“KrbLocalUserMapping […]

如何使用tcpdump监视端口80上的中止连接

我可以使用tcpdump来检测源自特定IP(我的远程IP)的端口80(Apache)上的中止连接。 我可以在我的Web浏览器中重新生成Aborted连接,但是我无法validation请求是否到达我的服务器。 我试过这个,但是不知道连接是否中止。 tcpdump -n -i eth0 -s 0 src or dst port 80|grep -F "XXX.XXX.XXX.XXX"

问题与域redirect

我有一个在Godaddy服务器上托pipe的Flash游戏网站。 但是由于我的网站stream量很大,godaddy服务器出现故障。 所以我改变了主机到中期服务器。 奇怪的是我已经在我的中期服务器中创build了新的名称服务器和新的数据库,但是网站仍然来自godaddy服务器。 当我做任何修改从godaddy ftp我得到的修改,但是当我做中期服务器的任何修改。 没有变化发生。 一个奇怪的是, who.is正在显示新的名称服务器和新的服务器细节,但没有获得新的服务器内容。 任何人都可以在这方面帮助我吗?

Mod_rewrite显示subdomain.domain.com并为SSL调用domain.com/subdomain/

我有一个网站由一个标准的SSL证书保护,确保不同的子目录下的几个不同的商店。 防爆。 domain.com/shop1/商店也可以通过一个子域名,例如shop1.domain.com访问。 我正在努力实现的:将shop1.domain.com显示给用户,同时将所有实际的服务器调用保持为domain.com/shop1,以便安全页面继续正常工作。 (不确定我是否正确地使用了正确的语言,我希望我的观点清楚。) 要清楚:我的SSL工作正常,我不需要帮助,我不需要或不想购买UCC证书。 任何有Apache经验的人都不会那么困难。 (我花了3个小时试图了解mod_rewrite,只是没有点击。)我在GoDaddy安全的共享服务器,请记住,我不能重置服务器或任何东西。

Passenger_wsgi.py优先于DirectoryIndex?

今天我的网站出现了一个问题,apache在默认情况下没有提供index.php。 我已经将passenger_wsgi.py移动到文档根目录之上的目录,这样我就可以在不需要在.htaccess文件中使用PassengerAppRoot的情况下提供python文件。 我想这样做是因为我在网站上设置了一个开发子域,我想为这两个域使用不同的passenger_wsgi,但这意味着不同的PassengerAppRoots有不同的.htaccess文件。 有没有办法让passenger_wsgi.py在哪里,并仍然让Apache服务于index.phps? 编辑:对不起,我累了。 我只是意识到,这可能的工作方式是passenger_wsgi.py处理路由而不是apache。

Mod disk_cache永久caching图像并禁用重新获取标题更新

我试图让mod disk_cache使用ProxyPass永久性地caching从Web服务器上的映像服务器检索到的映像。 当图像正在从服务器正确检索,并从caching服务进一步请求,然后我仍然有Web服务器调用图像服务器,并导致caching头更新。 由于负载的担忧,那么我需要在caching一次之后再次调用图像服务器,或者尽可能延长刷新时间。 networking服务器是IHS 7.0 mod是mod_disk_cache.so,mod_cache.so,mod_proxy.so版本2.2.8.0 以下是从我的httpd.conf: ProxyPass /webserver/media/images/ http://imageserver.com/ws/media/images/ # Caching pictures <IfModule mod_cache.c> <IfModule mod_disk_cache.c> CacheDefaultExpire 2628000 #CacheDisable CacheEnable disk /webserver/media/images/ CacheIgnoreCacheControl On CacheIgnoreHeaders Cookie Referer User-Agent X-Forwarded-For X-Forwarded-Host X-Forwarded-Server Accept-Language Accept Host CacheIgnoreNoLastMod On CacheIgnoreQueryString Off #CacheIgnoreURLSessionIdentifiers CacheLastModifiedFactor 10000000.1 #CacheLock on #CacheLockMaxAge 5 #CacheLockPath CacheMaxExpire 1576800 CacheStoreNoStore On CacheStorePrivate On CacheDirLength […]

.htaccess文件中的mod_rewrite为未知path的第一部分

我想写一个重写规则来改变pathslu to查询参数。 这是一个Web服务,只应该重写这个规则,如果主机启动API。 有两个slu that,我试图捕捉和重写。 第一个是可选的,是一个版本(即v1.2),第二个是服务域(即客户,交易等)。 http://api.domain.com/v2.5/customers应该重写为?version = 2.5&domain = customers 我也想支持一个默认版本 http://api.domain.com/customers应该重写为?version =&domain = customers 这是我的.htaccess文件的样子: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^api\..* RewriteRule ^v([\d\.]*)?\/?([^\/]*)$ ?version=$1&domain=$2 上面的第一个例子工作正常,但我不能得到默认的版本path工作。 我尝试了很多不同的东西。 我认为以^。* v开头会有所帮助,但是没有。 当你不知道起始字符时,谁知道如何使它匹配?

apache2虚拟主机错误

错误说: Virtualhost mysite.com has no server environment set, request will not be honoured 我的虚拟主机文件是: <VirtualHost *:80> ServerName mysite.com ServerAdmin [email protected] DocumentRoot "/srv/d_servpa1/www/mysite.com/htdocs" <Directory "/srv/d_servpa1/www/mysite.com/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog /srv/d_servpa1/www/mysite.com/htdocs/error.log </VirtualHost> 不能明白为什么这不是工作