标签: apache2

在哪里可以找到关于编写Apache模块的好参考/教程(在C中)?

我看了一遍,真的找不到任何东西.我需要三件基本的东西:

  1. 良好的API参考
  2. 某种教程
  3. 良好的建筑概述

我有模块源代码并且正在经历它 - 但我真的没有太多任何关于它所做的事情的上下文.

有什么建议?

apache apache2 apache2-module

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

Apache2启动失败,没有错误日志

我会重启Apache2但是出现了错误

$ sudo service apache2 start

Starting web server apache2

Action 'start' failed.
The Apache error log may have more information.
Run Code Online (Sandbox Code Playgroud)

但是"/ var/log/apache2 /"中的所有错误日志都是空的.

编辑:文件位于"/ var/log/apache2",并且以前的问题有几个条目,但此任务不会创建任何新的...

问题出在哪儿?


我已经解决了问题!

这是SSL证书中的错误,并且在vHost配置中更改了"error.log"的路径.

如果您不需要SSL(我不是因为我正在运行本地系统),只需通过命令行禁用配置中的所有vHost HTTPS/SSL进行线路输出.

apache2 error-log

34
推荐指数
4
解决办法
12万
查看次数

.htaccess文件选项 - 子目录的索引

我有以下.htaccess行,简单没有根目录索引.

Options -Indexes
Run Code Online (Sandbox Code Playgroud)

我们添加什么,以便传播到任何子目录,而不必为每个子目录创建一个文件?一个.htaccess只在root上.

apache .htaccess apache2

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

使用哪一个:Expire Header,Last Modified Header或ETags

我在Apache上运行PHP,并对如何实现服务器端缓存感到困惑,以便加快网站加载速度.

是什么之间的区别Expires,Last-Modified以及ETag头,哪一个应该在什么情况下使用?

php etag apache2 last-modified mod-expires

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

403 Django和mod_wsgi的禁止错误

我在主目录中创建了Django项目,因此它位于主目录中.

建立

Django Verison  : 1.5.1
Python Version  : 2.7.5
mod_wsgi Version: 3.4
Home Directory  : /home/aettool
Run Code Online (Sandbox Code Playgroud)

的内容 /home/aettool/aet/apache/django.wsgi

import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'aet.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)

的意见 httpd.conf

WSGIScriptAlias / /home/aettool/aet/apache/django.wsgi

<Directory /home/aettool/aet/apache>
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

错误 error_log

[Sun Jul 21 02:01:30.923364 2013] [authz_core:error] [pid 21540:tid 1193011520] [client 10.20.17.184:51340] AH01630: client denied by server configuration: /home/aettool/aet/apache/django.wsgi
Run Code Online (Sandbox Code Playgroud)

的内容 urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('', …
Run Code Online (Sandbox Code Playgroud)

python django mod-wsgi apache2

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

更改Yosemite Apache 2.4的localhost目录

我已经安装了干净的Mac OSX Yosemite,但我无法配置Apache 2.4,就像我一直在较旧的OSX版本上做的那样.

这是我想要做的:将"localhost"目录设置为"/ Users/username/Public /".但是,我尝试的一切都行不通,我总是得到一个"Forbiden,无法访问/"或者我得到默认的"它有效!" 页...

如何简单地重新连接我的本地主机?

谢谢

编辑(感谢Krister Andersson的答案)

适用于Mac OSX 10.10 Yosemite

我还发布了我必须做的改变以保持运行.

在"/ etc/apache2/users /"中,我创建了一个由我的用户名命名的文件,如"myUsername.conf".

您可以在终端输入"id"来获取用户名.您应该在"uid = 501(myUsername)"中找到您的用户名.

在这个新的"myUsername.conf"文件中,只需复制过去:

<Directory "/Users/myUsername/Sites/">
    AllowOverride All
    Options Indexes MultiViews
    Options +FollowSymLinks
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

不要原谅改变myUsername价值.

然后,在"/etc/apache2/httpd.conf"文件中,取消注释所有这两行:

167 #LoadModule userdir_module libexec/apache2/mod_userdir.so
169 #LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

第236行,将"DocumentRoot"的目录更改为您想要的任何内容.第250行,将"选项"设置为"选项"选项索引FollowSymLinks Multiviews".第258行,将"AllowOverride None"设置为"AllowOverride All".第263行,将"Require all denied"设置为"Require all granted"

在终端中,键入"sudo apachectl restart"重新启动apache.

它适用于Mac OS X 10.10优胜美地清洁安装.

apache macos apache2 apache2.4 osx-yosemite

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

apache2重载,重启,优雅有什么区别?

我正在使用apache2进行项目,我想知道之间的区别是什么:

service apache2 restart
service apache2 reload
service apache2 graceful
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

apache2

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

Apache和logrotate配置

上周我在我的服务器上发现了一个问题,因为磁盘使用率是100%,我发现apache创建了一个60GB的巨大error.log文件.然后我将LogLevel更改为emerg,但是在一周之后它又是1.3GB,这肯定是太多了.此外,我有一个6MB的access.log和167MB的other_vhosts_access.log.所以我发现问题可能是logrotate无法正常工作.实际上,日志的gzip文件有一个非常旧的日期(2月23日).所以我首先尝试更改apache2的logrotate文件的配置,为文件添加最大大小,现在看起来像这样:

/var/log/apache2/*.log {
    weekly
    size 500M
    missingok
    rotate 20
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
    endscript
    prerotate
        if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
            run-parts /etc/logrotate.d/httpd-prerotate; \
        fi; \
    endscript
}
Run Code Online (Sandbox Code Playgroud)

在此之后,我尝试手动强制logrotate运行apache的特定配置

logrotate -f /etc/logrotate.d/apache2
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

error: skipping "/var/log/apache2/access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to …
Run Code Online (Sandbox Code Playgroud)

apache ubuntu apache2 logrotate

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

.htaccess mod_rewrite中的"OR"标志

刚发现这个.htaccess重写代码

RewriteEngine on
RewriteCond %{HTTP_HOST} ^my.domain.com$ [NC,OR]
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

我想知道"OR"标志的目的是什么.已经检查了文档http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags但是可以找到任何信息.

有任何想法吗?

apache .htaccess mod-rewrite rewrite apache2

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

如何使用Microsoft AD为内部PHP应用程序实现单点登录(SSO)?

我隐约意识到,在加入域的计算机上,可以要求IE发送一些额外的标题,我可以用它来自动登录到应用程序.我用mod_php在windows服务器上运行apache.我希望能够避免用户必要时登录.我发现了一些关于Kerberos和Apache模块的链接.

http://www.onlamp.com/pub/a/onlamp/2003/09/11/kerberos.html?page=last https://metacpan.org/pod/Apache2::AuthenNTLM

由于我在Windows上运行,因此证明安装Perl或Apache模块并非易事.但PHP不能访问HTTP标头吗?

我发现了这个但它没有进行任何身份验证,只是表明PHP可以读取NTLM头文件. http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

我希望能够让我的用户只指向该应用程序并让它们自动进行身份验证.有没有人有这方面的经验或者让它一起工作?

更新 自从最初发布此问题以来,我们已将设置更改为仍在Windows上运行的nginx和php-fcgi.Windows上的Apache2和php-cgi可能是您在Windows上配置的最慢设置之一.它看起来可能仍然需要Apache(它适用于php-fcgi)但我更喜欢nginx解决方案.

我还是不明白(并希望接受教育)为什么HTTP服务器插件是必要的,我们不能拥有PHP,Web服务器无关的解决方案.

php apache2 nginx active-directory single-sign-on

28
推荐指数
1
解决办法
4万
查看次数