有没有人成功地在Apache 2.4中使用php-fpm和fastcgiconfigurationmod_cache? 我的cgiconfiguration: <IfModule mod_fastcgi.c> Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi AddHandler php-script .php FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /mnt/tmp/fast/php-fpm.sock -idle-timeout 1600 -pass-header Authorization Action php-script /php5.fastcgi virtual 我的php-fpmconfiguration是标准的,我正在Apache中加载mod_cache和mod_disk_cache。 但是,Apache似乎并没有caching任何内容。 debugging日志文件: Fri Sep 07 23:22:59.691333 2012] [cache:debug] [pid 35623:tid 123613201929984] mod_cache.c(161): [client 10.0.0.22:21938] AH00750: Adding CACHE_SAVE filter for /index.html [Fri Sep 07 23:22:59.691345 2012] [cache:debug] [pid 35623:tid 123613201929984] mod_cache.c(171): [client […]
我有两个网站: app1.example.com和app2.someotherexample.com ,我想使用mod_auth_form来validation用户。 我想让用户login这两个网站的任何一个,而不需要另一个login。 这两个网站都是由相同的Apache主机。 这有可能吗?
我在httpd.conf中通过ProxyPassmatch运行Apache 2.4和PHP-FPM,而不是vhost( 它的价值 ): ProxyPassMatch ^/(.*\.php)$ unix:/var/run/php-fpm.sock|fcgi://127.0.0.1/home/user/www 我想创build一个子域来运行CMS,但很快我发现PHP文件没有在该子域上处理,可能是由于我不了解如何设置它。 我不确定是否需要使用单独的ProxyPassMatch指令创build一个虚拟主机,否则上面的默认工作将会起作用。 httpd.conf中: ServerRoot "/usr/local" Listen 192.168.1.2:80 LoadModule authn_file_module libexec/apache24/mod_authn_file.so LoadModule authn_core_module libexec/apache24/mod_authn_core.so LoadModule authz_host_module libexec/apache24/mod_authz_host.so LoadModule authz_groupfile_module libexec/apache24/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache24/mod_authz_user.so LoadModule authz_core_module libexec/apache24/mod_authz_core.so LoadModule access_compat_module libexec/apache24/mod_access_compat.so LoadModule auth_basic_module libexec/apache24/mod_auth_basic.so LoadModule reqtimeout_module libexec/apache24/mod_reqtimeout.so LoadModule filter_module libexec/apache24/mod_filter.so LoadModule deflate_module libexec/apache24/mod_deflate.so LoadModule mime_module libexec/apache24/mod_mime.so LoadModule log_config_module libexec/apache24/mod_log_config.so LoadModule env_module […]
我目前有一个python项目运行在我的apache服务器上使用安装程序: <VirtualHost *:80> ServerName domain.tld <Location /> SetHandler uwsgi-handler uWSGISocket /run/uwsgi/app/site/socket </Location> </VirtualHost> 但我有几个URL,我不想通过uwsgi处理程序。 我试过使用别名,但似乎是由<Location />覆盖当我做: <VirtualHost *:80> ServerName domain.tld Alias /file.name /var/www/site/static/file.name <Location /> SetHandler uwsgi-handler uWSGISocket /run/uwsgi/app/site/socket </Location> </VirtualHost> 我已经尝试了一堆变体(不同的位置/别名顺序,ProxyPass,重写),但每次<Location />优先。
我不能让Apache产生任何access.log输出,而不是默认的。 我试过了 更改虚拟主机容器内的全局apache.conf定义的日志“昵称” 在虚拟容器内完全closures注销 编写我自己的“昵称”,并在虚拟主机容器中使用它们 apachectl -M输出: log_config_module (static) 我知道Ubuntu软件包的维护人员重写了很多Apache,我想知道是否有一些Ubuntu特定的开关或更改/问题,我错过了防止自定义日志logging? 我期望的输出是 只需在日志中插入“test-debug”纯文本条目即可 也插入这个\"%{Host}i\" (客户端请求的域) 类似于: LogFormat "debug-entry %h %l %u %t \"%r\" \"%{Host}i\" %>s %b" myCustom CustomLog ${APACHE_LOG_DIR}/access.log myCustom
我不使用sites-enabled / sites-available的可能性,但是从一个configuration文件中包含一个vhost条目列表 – 所以我想知道以下是否可能? 我在Apache 2.2上进行的一个较老的安装允许我设置一个默认的虚拟主机条目作为第一个条目 – configuration目录设置 – 并让所有其他的虚拟主机设置跟随 – 或者它出现。 我不必为每个虚拟主机单独设置目录设置。 (如果不清楚,我会添加其他信息) 但是,从2.4看来,我必须为每个虚拟主机条目设置目录设置? 如果我不这样做,我会立即得到一个403禁止的消息。 一旦我添加目录条目(全部授予) – 一切都很好。 是否有可能将目录设置(全部授予)设置为默认设置?
我有以下的Apache 2.4configuration: <Directory "/home/myuser/public_html"> AllowOverride All Require all granted </Directory> <Directory "/home/myuser/public_html/uploads"> AllowOverride None php_flag engine off </Directory> 上传文件夹是由用户上传的。 我想禁用某人上传.htaccess文件并更改php_flag的机会。 不幸的是,如果我在/ home / myuser / public_html / uploads /子文件夹中创build一个.htaccess文件,我可以覆盖php_flag。 由于某些原因,AllowOverride None不起作用。 难道我做错了什么? 什么可能导致这种行为?
我最近用Apache 2.4configuration了Debian 8。 由于我有一个相当新的Apache版本,我使用了ProxyPassMatch而不是FastCgiExternalServer。 但是当为PhpMyAdminconfiguration我的别名时,我想知道这是否安全。 这是我的configuration: <VirtualHost *:80> ServerName www.my-website.com DocumentRoot /var/www/html/ Alias /phpmyadmin/ "/usr/share/phpmyadmin/" <Directory "/usr/share/phpmyadmin/"> Options FollowSymLinks DirectoryIndex index.php </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/libraries> Order Deny,Allow Deny from All Require all granted </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Order Deny,Allow Deny from All Require all granted </Directory> ProxyPassMatch […]
我有一个Apache的httpd设置,我试图只允许从DocumentRoot文件夹的HTML和ico文件。 然而,我发现与我已经粘贴在下面的configuration,如果我使用URL app1.example.com说,“你没有权限访问/此服务器上的Apache的Apache给了我一个403。 但是,如果我键入app1.example.com/index.html我得到预期的页面。 我认为索引的覆盖会涵盖这一点,但似乎并不是这样。 在我的httpd.conf中,我有默认的拒绝: # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. #Default <Directory /> AllowOverride none Require all denied </Directory> 那么对于我的虚拟主机条目,我有: <VirtualHost *:443> ServerName app1.example.com <Directory /> <FilesMatch ".+\.(html|ico)$"> Require all granted </FilesMatch> DirectoryIndex […]
好的,有一天我试图在我的服务器上build立另一个网站。 有人实际上是在使用该网站的时间和我a2ensited新的虚拟主机之后,我重新启动apache,并得到一个致命的错误信息。 我忽略它,并再次重新启动Apache,一切正常恢复。 实际上我没有在网站上查看过几天,我忙于重新devise我的网站,反正我也没有那么多的stream量。 但今天尝试访问该网站,我不能。 Chrome告诉我ERR_TOO_MANY_REDIRECTS。 Firefox告诉我:“Firefox已经检测到服务器正以一种永远不会完成的方式redirect这个地址的请求。” 出于某种原因,我无法访问我的网站。 我已经把所有事情都推回到以前的状态,应该没有问题,但我仍然无法访问我的网站。 有任何想法吗 编辑: <VirtualHost *:80> ServerName example.com Redirect permanent / http://www.example.com/ ServerAdmin webmaster@localhost DocumentRoot /var/www/html/example ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ScriptAlias /cgi/ /var/www/html/cgi-bin/ <Directory /var/www/html/cgi-bin/> Options ExecCGI AddHandler cgi-script .py </Directory> </VirtualHost> 我不认为这有什么问题,我已经用这个configuration运行了近一年。 我敢肯定,我已经禁用了重写引擎(我没有设置它,并没有添加到任何地方)。