Articles of apache 2.2

Apache2在启动时不要求密码

我使用Apache和PHPbuild立了一个SSL保护网站。 对于每次服务重新启动,Apache要求我SSL密钥密码才能重新启动。 我的问题是,当我重新启动我的服务器时,Apache没有提示任何关于我的密码,导致它停止启动程序。 no listening sockets available, shutting down Unable to open logs Action 'start' failed. The Apache error log may have more information. failed! “没有完成启动”Apache已经在监听端口80,但没有运行。 有没有办法启用删除证书密码提示(仅在重新启动时)或获得密码提示? 谢谢

Apache:为虚拟主机中的所有URL添加前缀

在我的一台机器上,我有一个内部服务器,在8090端口进行侦听。 我在Apache中使用virtualhost来使用像servera.mydomain.com这样的URL来代理内部服务器: <VirtualHost *:443> ServerAlias servera.mydomain.com ProxyPass / http://localhost:8090/ nocanon ProxyPassReverse / http://localhost:8090/ … </VirtualHost> 这效果很好,当我从浏览器打开https://servera.mydomain.com ,它将我redirect到http://localhost:8090/ 。 问题是,服务器中的所有URL都以ReportServer开始,因此我实际上必须键入https://servera.mydomain.com/ReportServer才能访问它,这很麻烦。 我努力了: RewriteEngine on RewriteRule ^(.*)$ ReportServer/$1 但是,在日志中只有404错误没有很好的解释。 在虚拟主机的所有URL中放置ReportServer前缀的正确方法是什么? 我可以select前缀是否对浏览器可见吗?

PHP和文本区域触发Mod_Security

我有一些文本区域被张贴回来并使用PHP / MySQL存储。 但是,如果用户在文本区域按下回车换行,则mod_security将使用以下日志条目来阻止它: Pattern match "\\W{4,}" at ARGS:notes. [file "/etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_40_generic_attacks.conf"] [line "37"] [id "960024"] [rev "2"] [msg "Meta-Character Anomaly Detection Alert – Repetative Non-Word Characters"] [data "Matched Data: \x0d\x0a\x0d\x0a found within ARGS:notes: This is Test Request #5\x0d\x0a\x0d\x0aThanks"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "8"] 我的问题是这个….还有什么我可以做我的代码或一个小的exception,我可以在mod_security? 我不想禁用整个规则,因为它很重要,但同时,我需要用户能够在文本区域input数据,如果他们愿意的话可以返回。 谢谢。

apacheconfiguration – 列出的虚拟主机项目,但无法find

我使用Ubuntu 14.04,由tasksel安装Apache。 apache2ctl -S表示www.ijiameng.com存在于不同的conf文件中,默认的优先级较高,如下所示: sunjizu@HP-Pavilion-g4-Notebook-PC:~$ apache2ctl -S VirtualHost configuration: *:80 is a NameVirtualHost default server www.ijiameng.net (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost www.ijiameng.net (/etc/apache2/sites-enabled/000-default.conf:1) port 80 namevhost foo.my (/etc/apache2/sites-enabled/foo.my.conf:1) port 80 namevhost www.ijiameng.net (/etc/apache2/sites-enabled/ijiameng.net.conf:1) alias ijiameng.net ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www" 但是/etc/apache2/sites-enabled/000-default.conf不包含与www.ijiameng.com相关的任何内容,如下所示: sunjizu@HP-Pavilion-g4-Notebook-PC:/etc/apache2/sites-enabled$ cat 000-default.conf <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # […]

在Bluehost VPS服务器上通过ApacheconfigurationSubversion(SVN)存储库

我想在我们的CentOS v6.5的 Bluehost VPS服务器上configurationSubversion(SVN)。 到目前为止,安装顺利按照本指南 – > http://wiki.centos.org/HowTos/Subversion 然而,现在我坚持4.2步[Subversion的Apacheconfiguration] 。 好,所以这里的故事。 大多数在网上,在bluehost上安装Subversion(svn)的指南是针对共享服务器的,在Subversion的 CentOS官方wiki页面(我们称之为A )上的步骤不起作用,因此他们按照本指南 (我们称之为B )。 模块mod_dav_svn允许subverion通过Apache服务,因为它的安装不允许在我所了解的共享服务器上 。 因此,很多人都为导游B ,它可以通过ssh(svn + ssh)build立svn连接为我们工作,但我试图弯曲勺子,看看是否可以通过Apachebuild立svn连接。 遵循指导A 我有一个urlsvn.domain.com指向/home/username/public_html/svn.domain.com/其中我已经build立了名为repos1的存储库 并在/etc/httpd/conf.d/subversion.conf设置了subversion.conf文件,如下所示 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> 并打开http://svn.domain.com/repos1,它会显示位于/home/username/public_html/svn.domain.com/repos1中的目录的纯/home/username/public_html/svn.domain.com/repos1 。 我认为它应该要求密码,并显示版本0或至less树干 , 分支和标签文件夹。 任何帮助或方向将不胜感激。 1:repos1文件夹是由svnadmin create […]

Tomcat 7 + apache2代理转发导致网站资源丢失

我有这个问题,我相信大部分人都应该看到。 我正在使用Apache2的mod_proxy_html转发Web请求到Tomcat。 请求转发到tomcat,但tomcat服务器无法find网站资源(图像,风格,字体等)。 问题是,当使用进入subdomain.example.com时,Tomcat相信资源path应该在: http : //subdomain.example.com/xyz/images/images1.jpg 。 这导致了问题,因为在现实中,因为http请求变成:http: //www.example.com :8080/xyz/xyz/images/images1.jpg,上下文名称“xyz”出现两次。 因此,tomcat无法定位图像文件。 该文件实际上是在www.example.com:8080/xyz/images/images1.jpg 我相信这个设置是相当标准的,但我不明白大多数人如何解决这个path问题? 这是我的设置:1.在我的apache2 virtualHostconfiguration文件,我有这样的设置: <VirtualHost *:80> ServerName subdomain.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://www.example.com:8080/xyz/ ProxyPassReverse / http://www.example.com:8080/xyz/ </VirtualHost> 在Tomcat中,我的网站安装在* / tomcat7 / webapps / xyz中 我使用$ {pageContext.request.contextPath}为我的jsp页面中的所有资源定义基本path。

使用PHP创build新的用户不被Apache 2.4识别

我有一个服务器设置新的Linux用户创build使用(PHP) shell_exec ( '/usr/sbin/useradd ' . $username ); exec ('usermod -a -G ' . $username . ' '. $username); #add user into the usergroup exec ('usermod -a -G ' . $username . ' www-data'); #add usergroup with the www-data 然后,用户脚本将所有者和文件组更改为此所有者。 服务器设置为suPHP,然后允许这些文件作为所有者运行。 这个设置在Apache 2.2上工作正常,但是在Apache 2.4中打破了。 一切工作正常,除非当我尝试oepn文件,它给出了一个403禁止的错误。 添加用户后重新启动apache修复了这个问题,但这对我来说不是一个可行的解决scheme。 用户添加使用Web服务器,因此我需要能够做到这一点,而不必每次重新加载/重新启动Apache。 我已经search了几个小时,试图解决这个问题,但一直没能这样做! 我正在运行的Ubuntu 14.04,我也不能降级到Apache 2.2。

Apache负载平衡器没有故障转移到热备件

发现当主服务器的应用程序响应500错误时,我们的Apache负载平衡器没有故障切换到热备用。 这就是我们如何进行代理设置 <Proxy balancer://hotspare> BalancerMember ajp://node1:8463 loadfactor=100 retry=30 BalancerMember ajp://node2:8463 status=+H retry=0 BalancerMember ajp://node3:8463 status=+H retry=0 ProxySet lbmethod=bytraffic </Proxy> 当node1被closures时,它只能真正的失败。 任何人都可以解释这种行为?

Logstash除非世界可读,否则不会读取日志

我最近用Kibana和Elasticsearch设置了Logstash,但是有一个问题,它不读日志,除非目录权限是世界读/执行(至less是世界读取的文件)。 我已经从RPM中安装了版本1.4.2,它以logstash用户身份运行。 我已经确定logstash用户是与需要读取的日志有关的组的成员,例如“apache”。 [root@rhel-00081 conf]# id logstash uid=497(logstash) gid=497(logstash) groups=48(apache),10081(nexus),27666(spark),497(logstash) / var / log / http上的默认权限是drwxr-x— root apache ,但Logstash将不会处理日志,直到将其更改为drwxr-xr-x 任何想法,为什么这是?

如何找出如果mod_xsendfile处理传输?

我刚刚在我的apache2.2.15 web服务器(在centos6.5上)上安装并configuration了mod_xsendfile。 一切似乎工作正常,但我不知道它是。 我将XSendFile On和XSendFilePath /path/to/downloaded/files到虚拟主机,并将标题更改为: header('X-Sendfile: '.$file); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' $file . '"'); 现在,使用谷歌铬检查器,我可以检查我从服务器获得的标题,每当我下载一个文件,但mod_xsendfile获取的X-Sendfile标题的方式,我找不到任何消息发送文件在日志中。 那么我怎么知道下载已经被apache照顾了呢? 谢谢你的帮助:) Marc