Articles of apache 2.2

如何在Apache上为不同的端口创build虚拟主机?

我想要apache来做这个> mydomain.com:80 — opens var/www1 mydomain.com:81 — opens var/ww2 mydomain.com:82 — opens var/www3 问题是我不知道这些端口是否在Linux上打开(我该如何检查?) 如果他们不是如何打开他们在防火墙,让Apache听? 我试过这样做 > iptables -A RH-Firewall-1-INPUT -m NEW -m tcp -p tcp –dport 81 -j ACCEPT iptables v1.3.5: Couldn't load match `NEW':/lib64/iptables/libipt_NEW.so: cannot open shared object file: No such file or directory 我检查了端口…看起来像httpd正在听…但我不知道为什么我不能打我的url > netstat -tulpn | less tcp 0 0 […]

基于Apache名称的虚拟主机中的ServerName通配符?

在我们的局域网上,我在DNS服务器上设置了几个“假”顶级域名(TLD),目的是将它们用于基于Apache名称的虚拟主机。 我想在Ubuntu 10.04 LAMP服务器上将它与大容量虚拟主机(即VirtualDocumentRoot)结合起来。 但是,我不能得到它select正确的虚拟主机! 以下是Apacheconfiguration的摘要: NameVirtualHost 10.10.0.205 <VirtualHost 10.10.0.205> ServerName *.test VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/ CustomLog /var/log/apache2/access.log vhost_combined </VirtualHost> <VirtualHost 10.10.0.205> ServerName *.dev VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/ CustomLog /var/log/apache2/access.log vhost_combined </VirtualHost> 诸如www.domain.com.dev这样的主机名正确地parsing为10.10.0.205,但是总是select顶部虚拟主机,而不是底部虚拟主机,这更密切地匹配。 我之前的印象是,Apache会首先尝试匹配ServerName,然后默认为给定IP的顶级虚拟主机。 我究竟做错了什么? 或者这是不可能的,我必须为每个TLD使用另一个IP? apachectl -S输出(修剪): 10.10.0.205:* is a NameVirtualHost default server *.test port * namevhost *.test port * namevhost *.dev

什么是Centos 5的Apache用户/组

嗨,我知道这是基本的,但任何人都可以告诉我什么默认的用户/组名称为apache 2 centos 5/6请。 Google只是给我垃圾。

将Apache限制为单个IP

我有一大堆IP地址的服务器,我只希望Apache在其中一个服务器上进行监听。 这听起来并不是一件很难的事情,而我之前曾经做过一次,但这次我遇到了一些麻烦。 首先,我现在在这里,根据我的理解: Apache正在监听80端口的每个地方,它只能监听正确的IP。 /etc/apache2$ grep -R ":80" . ./sites-available/default:<VirtualHost 192.168.0.82:80> ./httpd.conf:<VirtualHost 192.168.0.82:80> ./ports.conf:NameVirtualHost 192.168.0.82:80 ./sites-enabled/000-default:<VirtualHost 192.168.0.82:80> 没有提及在0.0.0.0上收听。 /etc/apache2$ grep -R "0\.0\.0\.0" . 然而… Apache拒绝启动。 /etc/apache2$ sudo /etc/init.d/apache2 start * Starting web server apache2 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs […]

糟糕,找不到'server.host.name:0'的RSA或DSA服务器证书?

我正在build立一个新的Web服务器,它在Ubuntu 12.4上使用Apache 2.2.22在每个站点上configuration一个configuration文件来托pipe十几个虚拟主机。 我一次创build了所有的configuration文件,并运行了a2ensite *来同时启用它们。 当我重新加载configuration失败,重新启动Apache后,我在我的error.log中发现以下错误信息: 糟糕,找不到'server.host.name:0'的RSA或DSA服务器证书? 这个错误信息的大部分结果是几年没有解决问题,或者是已经修复的错误https://issues.apache.org/bugzilla/show_bug.cgi?id=31709

设置一个基本的mod_proxy虚拟主机

我试图build立一个基本的虚拟主机代理所有请求test.local到一个WEBRick服务器我已经运行在127.0.0.1:8080同时保持所有请求本地主机去我的静态文件在/ var / www。 我正在运行Ubuntu 10.04。 我已经安装了libapache2-mod-proxy-html,并且使用了a2enmod代理来启用该模块。 我也有我的虚拟主机启用。 然而,每当我去test.local我总是得到一个神秘的500服务器错误,我所有的日志告诉我是: [Thu Mar 03 01:43:10 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. 这是我的虚拟主机: <VirtualHost test.local:80> LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so ServerAdmin webmaster@localhost ServerName […]

删除非常大的文件没有web服务器冻结

在我的networking服务器(Apache正在运行,Linux CentOS),有一个非常大的日志文件( 50千兆字节 )。 这个Web服务器在生产中有一些Web服务。 当我试图删除日志文件时,Web服务器在10秒内没有响应。 (服务时间。) rm -f monthly.log 有没有办法删除这个没有Apache冻结的大文件?

Apache mod_rewrite在redirect时对查询string进行双重编码

在传递查询string时,我们遇到了一个奇怪的问题(可能是一个bug),Apache mod_rewrite的行为。 为了重现,我们使用默认的Apacheconfiguration设置了一个干净的Ubuntu(oneiric)安装。 我们启用了mod_rewrite,在默认的站点configuration中,我们添加了以下内容: RewriteEngine on RewriteRule ^/(.*)$ /r/$1 [R] 为了testing,我们使用curl: curl -I 'http://[ubuntu-machine]/a/b%20c?a%20b' 相关的输出是: HTTP/1.1 302 Found Server: Apache/2.2.20 (Ubuntu) Location: http://[ubuntu-machine]/r/a/b%20c?a%2520b 正如你所看到的,查询string是双重转义的,这是错误的。 有谁知道我们如何解决这个问题? 我们已经尝试了几件事情: 添加[NE]。 这给了我们正确的查询string,但是path没有转义,这导致了新的问题。 添加[NE,B]。 这似乎工作,但是导致path的a和b部分之间的/将被转义。 手动翻阅查询string。 RewriteCond %{QUERY_STRING} .* RewriteMap unescape int:unescape RewriteRule ^(.*)$ $1?${unescape:%{QUERY_STRING}} 但是,这意味着我们无法区分查询string中的&和转义的& 。 更新: 这个错误报告描述了同样的问题。 第一条评论链接到一个明显解决问题的提交,但是正如Pieter在下面所说的那样,似乎并没有真正修复这个问题。

build立一个安全的本地托pipe的Linux机箱的A到Z.

我正在重新安装操作系统在一台机器上,将被用来为我们的业务主持几个应用程序。 申请将只在本地; 来自外部客户端的访问将仅通过VPN。 之前的设置对于大部分pipe理员都使用了托pipe控制面板(Plesk),而我正在考虑使用另一个类似的软件来重新安装 – 但我想我应该终于学习如何工作。 我可以做的大部分软件会为我做的事情,但我不清楚这一切的共生。 如果可能的话,这些都是为了进一步将自己从configuration程序员/程序员的土地上解放出来。 我找不到任何地方的完整演练,所以我想我会提出这个问题,如果人们可以帮助我的方式,我将编辑这个答案,并logging我的进展/陷阱。 希望有一天这会帮助某个人。 细节: CentOS 5.5 x86_64 httpd:Apache / 2.2.3 MySQL:5.0.77(待升级) PHP:5.1(待升级) 要求: 安全!! 安全的文件传输 安全的客户端访问(SSL证书和CA) 安全的数据存储 安全连接到另一台本地机器(MySQL) 虚拟主机/多个子域名 本地电子邮件会很好,但不是关键 步骤: 下载最新的CentOS DVD-iso (torrent对我很好)。 安装CentOS: 在进行安装时,我检查了服务器组件选项,认为我将使用另一个Plesk-likepipe理员。 事后看来,考虑到我决定尝试走自己的路,这可能不是最好的主意。 基本configuration: 设置用户,networking/ IP地址等百胜升级/升级。 升级PHP / MySQL: 为了将PHP和MySQL升级到最新版本,我必须在CentOS之外寻找另一个回购。 IUS看起来不错,我很高兴我find了! 将IUS存储库添加到我们的包pipe理器 cd /tmp wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm rpm -Uvh epel-release-1-1.ius.el5.noarch.rpm wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-4.ius.el5.noarch.rpm rpm -Uvh ius-release-1-4.ius.el5.noarch.rpm […]

理解这个错误:apr_socket_recv:连接重置由同级(104)

所以,如果我用apache基准(ab)做一些基准testing,并且使用大量的请求。 然后有时在testing中间,我得到这个错误。 我甚至不知道这是什么意思。 那我该如何解决呢? 或者,如果服务器得到太多的命中,这只会发生? 问题是,如果我运行10,000次命中,它将完全运行。 如果我再次运行,它会达到4000,并得到错误: apr_socket_recv: Connection reset by peer (104) 有关我的设置:我有nginx静态请求和处理dynamic的阿帕奇。 有问题的文件是由nginxcaching提供的,所以我猜这可能与nginx如何处理请求有关。 想法?