这就是我在cenOS 6.7上用apache2 2.4.16编译PHP 5.6.11的方法: ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/lib –with-mysql –with-curl –with-openssl –disable-fileinfo –enable-bcmath –enable-calendar –enable-ftp –enable-libxml –enable-mbstring –enable-sockets –enable-sysvsem –enable-sysvshm –enable-sysvmsg –enable-wddx –with-kerberos –with-mcrypt –enable-sockets –with-zlib –with-pdo-mysql –with-mysqli –with-gettext –enable-cgi –enable-mbstring –with-gd –enable-pdo –with-pdo-mysql –with-pdo-pgsql –with-mysqli=/usr/bin/mysql_config –with-mysql-sock=/var/lib/mysql/mysql.sock '–with-snmp' '–enable-soap' 但是当我在php.ini中joinioncube loader时: zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.6.so 它开始给我这个PHP版本检查错误: php -v加载失败/usr/lib64/php/modules/ioncube_loader_lin_5.6.so: /usr/lib64/php/modules/ioncube_loader_lin_5.6.so:undefined symbol:executor_globals PHP 5.6.11(cli)(内置:2015年12月28日17:35:58)Copyright(c)1997-2015 PHP Group Zend Engine版本(c)1998-2015 Zend […]
我有一个网站运行单声道(在Debian延伸)。 我想有一些将由php5模块处理的子文件夹(例如webmail,stats和PhpMyAdmin)。 有一个简单的方法来做到这一点与Apacheconfiguration,或者我应该看看phalanger或其他解决scheme(代理)?
如果我更改Apache上文档根目录的所有者,是否构成安全风险? 我一直被generics网站托pipe服务提供商宠坏了。 我已经习惯了将我的文件SFTP到主机,并刷新刷新,以确保更改已生效。 现在,我已经投资了云主机,以root访问一个真正的(虚拟的)服务器。 我的文档根目录由root用户拥有,现在我必须将文件传输到服务器上的主目录,然后使用sudo cp将它们复制到文档根目录。 每次我这样做的时候,我都必须input我的漫长的,无法忘记的,随机生成的密码(粘贴在我的显示器上,并贴上便条:))。 我很想sudo chown user:user /var/www/html所以我可以直接在那里传输文件,但是我担心安全问题。 如果我只是改变目录的组,并将我的用户添加到该组中,会不会有问题? www-data组是否安全使用?
我想转发所有stream量到https。 在URL中可以有子域名和子域名保持不变。 例: http://subdomain.myDomain.me -> https://subdomain.myDomain.me http://myDomain.me/subpath -> https://myDomain.me/subpath http://subdomain.myDomain.me/subpath -> https://subdomain.myDomain.me/subpath 我在这个整齐的评估器 (从这里链接)中使用以下代码尝试的例子: RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https:/$1 在评估者中,一切都很好。 真正的虚拟主机是这样的: <virtualHost *:80> ServerName myDomain.me RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https:/$1 </VirtualHost> 当试图访问真实网站时,发生这种情况: http://subdomain.myDomain.me -> http://subdomain.myDomain.me # fail – no https http://myDomain.me/subpath -> https://myDomain.mesubpath # fail – subpath appended to top-level domain […]
我在Ubuntu中使用Apache是过去的。 有一个envvars文件包含Apache服务使用的环境variables。 我无法为Windowsfind这样的文件。 有两种方法,我发现处理它。 我发现Apache读取Windows环境variables。 但我不喜欢这个,因为它们是全球性的,而不是特定的应用程序。 我发现其他选项是创build一个.bat文件,设置envvariables,然后启动httpd.exe 。 但是这个问题是它不适用于Apache服务。 我发现的另一个select是使用nssm 。 它允许使用服务特定的环境variables创build定制服务。 但是我越来越AH00141: Could not initialize random number generator如果我使用它, AH00141: Could not initialize random number generator错误。 有什么其他的select,我可以使用?
我在Ubuntu上运行Apache 2.4。 我正在尝试重命名default-ssl.conf ,但我无法使其工作。 这是什么工作。 如果我启用SSL模块 a2enmod ssl 和站点configuration文件 a2ensite default-ssl.conf 并启动httpd service apache2 start 那么httpd就完全按照预期在/var/www/html上的端口443 SSLencryption内容上提供服务。 到现在为止还挺好。 这是什么不工作。 如果我重命名默认的configuration文件 mv /etc/apache2/sites-enabled/{default-ssl.conf,foobar} service apache2 restart 那么httpd将在端口443上发送明文响应,并以/var/www的索引对“GET /”做出响应。 是什么使得名称default-ssl.conf如此特别? 我怎样才能重新命名而不会破坏一切?
从apache.org定义说: 这个指令让Apache httpd调整HTTPredirect响应上的Location,Content-Location和URI头中的URL。 当Apache httpd被用作反向代理(或网关)时,这是非常重要的,以避免绕过反向代理,因为后端服务器上的HTTPredirect会停留在反向代理之后。 只有上面特别提到的HTTP响应头才会被重写。 Apache httpd不会重写其他响应头文件,也不会重写HTML页面中的URL引用。 这意味着如果代理内容包含绝对URL引用,他们将绕过代理。 要重写HTML内容以匹配代理,您必须加载并启用mod_proxy_html。 path是本地虚拟path的名称; url是远程服务器的部分URL。 这些参数的使用方式与ProxyPass指令相同。 有人可以请解释我是如何工作的。 一般来说,这个指令是做什么的?
这工作没有问题,但在EC2上运行系统更新后,我注意到我得到以下错误,无论我做什么,我无法解决这个问题。 它似乎没有向上移动一个目录,并试图访问“../../”作为文件path的一部分,而不是遍历两个目录。 我想要在这里生活的文件 /var/www/html/site/app/data/myFile.php 我的索引文件居住在这里:/var/www/html/site/public/rest/index.php require __DIR__ . '/../../app/data/myFile.php'; 错误 Fatal error: require(): Failed opening required '/var/www/html/site/public/rest/../../app/data/myFile.php' (include_path='.:/usr/share/pear:/usr/share/php')
尝试在.htaccess文件中使用AuthName来覆盖顶级configuration设置不起作用 – 服务器仍然发送configuration中设置的WWW-Authenticate:"Basic realm="…""的值。 尽pipe启用了AllowOverride AuthConfig 我做错了什么,或者我发现了一个错误? httpd.conf中: <Directory "/www"> AllowOverride AuthConfig </Directory> <Location /> AuthName "config" </Location> /www/.htaccess AuthType Basic AuthName "htaccess" AuthUserFile /dev/null Require user nobody PS:上面例子的真实世界版本是有一个共同的顶级“单点login”身份validation设置,然后把单行“需要有效的用户”等在htaccess文件。 这个冲突发生在一个子目录中,该子目录使用虚拟身份validation领域来实现基本身份validation的注销。
我有一个问题,它应该是简单的。 我想将一组configuration指令应用于单个文件(本例中为DocumentRoot中的myfile.html )。 也可能有包含myfile.html子目录,这些不应该得到configuration。 我也想不使用Location或LocationMatch 。 我想出了以下几点 DocumentRoot "/home/amoe/opt/httpd/htdocs" <DirectoryMatch "^/home/amoe/opt/httpd/htdocs$"> <Files "myfile.html"> ExpiresActive on ExpiresDefault A10 </Files> </DirectoryMatch> 但是,在请求/myfile.html时, Expires标题不会被设置。 在DirectoryMatch上添加一个斜杠似乎没有什么区别。 你可以假设,我想这样做,没有学术理由的Location 。 (编辑:另外,为了引用文档, 当试图限制对文件系统中对象的访问时,永远不要使用它。 )