标签: apache2

Apache Multiple VirtualDocumentRoot

在Linux系统上使用Apache2有一种方法可以使用mod_vhost_alias来拥有多个VirtualDocumentRoot 吗?

这是我目前正在使用的命名约定,并希望继续使用:

host                    directory
127.0.0.1 domain        domain.com
127.0.0.1 sub.domain    domain.com_sub
Run Code Online (Sandbox Code Playgroud)

然后在我的httpd.conf的vhosts部分中:

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
    VirtualDocumentRoot /var/www/%0.0.com
</VirtualHost>

<VirtualHost 127.0.0.1>
    VirtualDocumentRoot /var/www/%2.0.com_%1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这个问题是当我访问sub.domain时,Apache错误日志显示它正在寻找/var/www/sub.domain.com而不是/var/www/domain.com_test这让我相信它只会读取第一个规则,然后失败,但我希望它做的是使用满足两个VirtualDocumentRoot规则之一的任何文档根.

apache apache2

14
推荐指数
1
解决办法
2万
查看次数

我可以安全地禁用哪些Apache2模块?

这些是我启用的mods:

alias auth_basic authz_default authz_groupfile authz_host authz_user autoindex deflate dir env mime negotiation php5 reqtimeout rewrite setenvif status

我试图尽可能地减少Apache的内存占用.

任何人都可以指导我正确的方向,我绝对需要哪些,哪些是可选的?我计划运行Symfony,但我找不到任何关于symfony的要求让它全部运行.

谢谢!

apache symfony1 apache2 vps

14
推荐指数
1
解决办法
2万
查看次数

在apache上托管多个SSL证书

我希望有人能帮助我.我有2个IP可用于执行此操作,需要在同一个Apache服务器上托管2个不同的安全(SSL)域.我已经读过Apache 2.2的内容,可以使用单个IP,使用某种加载项,但我希望尽可能简单,并且愿意使用这两个IP来完成这项任务.我已经拥有2个域名签名证书.

我在这里发布的这个设置有效,但我遇到的问题是,当我去domain2.net时,我收到一个浏览器警告告诉我证书与域名不匹配但匹配domain1.com

我正在使用CentOS 5和Apache 2.2.3.CentOS有一个ssl.conf文件,这些行是我认为给我带来的麻烦:

SSLCertificateFile /etc/pki/tls/certs/domain1.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/domain1.com.key
Run Code Online (Sandbox Code Playgroud)

我的印象是我可以在虚拟主机容器中覆盖这些值并引用我需要的键,但它不会出现这种情况.当我在ssl.conf文件中注释掉这两行时,Apache将不会重启.ssl_log暗示:SSLCertificateKeyFile

这些是我的虚拟容器:

<VirtualHost 2.2.2.2:443>
   SSLEngine on
   SSLCertificateFile /etc/pki/tls/certs/domain2.net.crt
   SSLCertificateKeyFile /etc/pki/tls/private/domain2.net.key

  DocumentRoot "/var/www/domain2"
   ServerName domain2.net
   ServerAlias domain2.net
   DirectoryIndex "index.php"

   <Directory /var/www/html/domain2>
     Options -Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>


<VirtualHost 1.1.1.1:444>
   SSLEngine on
   SSLCertificateFile /etc/pki/tls/certs/domain1.com.crt
   SSLCertificateKeyFile /etc/pki/tls/private/domain1.com.key

  DocumentRoot "/var/www/html"
   ServerName domain1.com
   ServerAlias domain1.com
   DirectoryIndex "index.php"

   <Directory /var/www/html>
     Options -Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
   </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如何使用SSL使这两个域工作?我也试过为不同的IP使用相同的端口,但同样,Apache不会重启.

我真的迷失了,所以如果有人能伸出援助之手,我真的很感激.

ssl apache2

14
推荐指数
1
解决办法
2万
查看次数

Apache(2)抛出"没有这样的文件或目录:'/usr/lib/cgi-bin/fst.cgi'的exec失败了"

我在Ubuntu 10.10(Maverick Meerkat)工作并在Apache下运行我的CGI脚本,但它显示以下错误...

[周六错误没有这样的文件或目录:'/usr/lib/cgi-bin/fst.cgi'的exec失败[2011年10月22日02:56:45] [错误] [客户端127.0.0.1]脚本标题过早结束:fst.cgi

我的剧本是

#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "hello world";
Run Code Online (Sandbox Code Playgroud)

我已经设置了文件的权限......

我还在文件中添加了以下行apache.conf:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory /usr/lib/cgi-bin/>
   Options +ExecCGI
</Directory>

AddHandler cgi-script .cgi .pl
Run Code Online (Sandbox Code Playgroud)

但它仍然向我显示同样的错误.我做了所有可能的改变,但我没有取得任何成功......

cgi apache2

14
推荐指数
4
解决办法
3万
查看次数

Apache:如何从用户隐藏服务器版本和操作系统?

我在一个网站上看到我需要添加两行httpd.conf文件:

ServerSignature关闭

ServerTokens Prod

但是当我添加它们时没有任何改变.如前所述,我可以在浏览器中看到

Apache/2.2.16(Debian)

也许这很重要:当我打开文件时(我的意思是在添加上面的行之前)httpd.conf我看到它是空的.我用VPS.

谢谢!

apache apache2

14
推荐指数
2
解决办法
4万
查看次数

togoise svn给我"检测到URL'域/ svn的重定向周期'"

我想在/ var/svn和存储库(项目)中实现一个svn-root.我可以让它在浏览器中工作(http:// domain/url给我"存储库集合")但是TortoiseClient给了我标题中提到的错误.

我通过执行以下操作(缩短)在我的ubuntu服务器上设置了一个subversion:

mkdir /var/svn
svnadmin create /var/svn/test
Run Code Online (Sandbox Code Playgroud)

我的dav_svn.conf看起来如下:

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  SVNListParentPath On
</Location>
Run Code Online (Sandbox Code Playgroud)

我读到了可能导致问题的sym链接,所以我也会附上我的000-default网站(这是标准的btw):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, …
Run Code Online (Sandbox Code Playgroud)

svn tortoisesvn apache2 mod-dav-svn

14
推荐指数
4
解决办法
5万
查看次数

用PHP理解Apache上的"408 Request Timeout"

问题描述 - Apache日志

我在Apache日志文件中找到了与此类似的项目:

166.147.68.243 [24/Feb/2013:06:06:25 -0500] 19 web-site.com "-" 408 - "-"
Run Code Online (Sandbox Code Playgroud)

我有自定义日志格式,408这里代表状态.日志格式为:

LogFormat "%h %t %D %V \"%r\" %>s %b \"%{User-agent}i\"" detailed
Run Code Online (Sandbox Code Playgroud)

通常日志文件中的行看起来像

184.73.232.108 [26/Feb/2013:08:38:16 -0500] 30677 www.site.com "GET /api/search... HTTP/1.1" 200 205 "Zend_Http_Client"
Run Code Online (Sandbox Code Playgroud)

这就是为什么408错误行对我来说很奇怪.没有记录请求,我不知道应该优化什么.

问题

如何解决这个问题?我应该收集哪些其他信息或日志?什么可能导致这个问题?这是服务器上的错误吗?或者这绝对是一个网络连接问题?

我正在解决这个问题,因为我们的客户抱怨他的手机上有408错误.我在日志文件中发现了很多记录,但我不得不承认我不知道如何处理这个问题.


我自己的研究

这里有几个关于这个问题的问题.但人们更加具体.就像他们讨论某些特定客户端软件和脚本的问题一样.这里我在iPhone上打开一些页面时遇到错误.

例如,在HTTP,408请求超时中,建议在POST之前执行GET请求.如果我有自定义客户端,我可以这样做.但我无法控制用户浏览器的行为.

猜猜#1

在搜索互联网并思考问题时,我发现了https://serverfault.com/questions/383290/too-many-408-error-codes-in-access-log

建议是将Timeoutconfig参数更新回其默认值.

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
Run Code Online (Sandbox Code Playgroud)

我首先尝试了30的值,因为我认为30秒就足够了.但即使有300秒的默认值,我仍然会在日志中得到错误.tail -f当我写这篇文章时,我做了几分钟后得到了超过10行.

对我来说,这看起来并不完整.

php apache2 http-error http-status-code-408

14
推荐指数
2
解决办法
4万
查看次数

apache2配置中ServerName和ServerAlias有什么区别?

我正在配置我的apache2服务器,我想知道ServerName和ServerAlias之间的区别.

ServerName始终是没有www的名称,如google.de,ServerAlias是www.google.de

即使它是这样的,我也不明白:)对不起.

我不是专业人士(现在),谢谢你的帮助!每一个帮助都会立即投票.

configuration webserver apache2 ubuntu-12.04

14
推荐指数
1
解决办法
2万
查看次数

PHP 5.3.2,在哪里可找到php5apache2_2.dll?

我正在Windows上将我的本地版本的PHP升级到5.3.2.我现在正在运行Apache 2.2.

我从这里下载了压缩的VC6版本的PHP:http://windows.php.net/download/

令我沮丧的是,ZIP中的任何地方都没有php5apache2_2.dll文件,不幸的是谷歌没有帮助.如果ZIP内容中没有.dll可用,我不明白如何让PHP工作.为什么他们不包含这个基本文件,为什么没有地方可以下载它?

它让我有点心慌.

php apache2

13
推荐指数
2
解决办法
2万
查看次数

如何在Docker中运行Alpine 2上的Apache 2?

根据Alpine wiki,我必须rc-service apache2 start在安装Apache 2之后运行.但是,rc-service在容器内运行的Alpine中没有.如何让服务命令在Docker容器中运行?

apache2 docker alpine-linux

13
推荐指数
2
解决办法
2万
查看次数