我是初学者Ruby on Rails程序员,我正在尝试安装Apache2 + Passenger(这是用于Rails部署)..在安装过程结束时,Passenger给了我几行代码添加到文件apache2.conf在/ etc/apache2 /但是我无法覆盖这个文件..我没有权限=(我还上传了一个显示错误的图片.
PS =>我用我的用户名和密码登录Ubuntu.
请帮忙!谢谢,罗德里戈.
背景:我有一些代码在处理我想设置为auto_prepend_file的php页面之前检查用户是否有有效会话.但是,我需要排除用户尝试从需要有效会话登录的页面.我希望能够在每个目录的基础上设置auto_prepend_file值.
环境:PHP 5.2.6m Apache 2,在Windows上运行php作为cgi而不是mod_php,在Windows上运行(如果这很重要),在我完全控制的机器上运行(不是托管环境)
使用htaccess文件是b/c我没有使用mod_php.我无法改变php.ini来设置auto_prepend_file,服务器抛出内部错误.并且ini_set()不起作用b/c它已经加载了会话检查文件,然后才能更改auto_prepend_file的值.
如果你没有使用mod_php/htaccess,我没有看到在每个目录的基础上设置auto_prepend_file的方法.我错过了什么吗?
我想在apache2中创建一个虚拟主机,但我希望它将源文件放在/ var/www文件夹之外,即我需要在配置文件中包含另一个文档根目录,但是我通过编辑apache /来实现它sites-available/default file,但我知道它不是正确的实现方式,任何人都可以建议正确的实现方式吗?
感谢和问候,
巴拉
我想将PHP包含路径设置为另一个目录.我尝试将它放在.htaccess文件中,但这不起作用.我唯一看到的是我在httpd.conf中设置的include路径,但不是我试图添加的路径.
<IfModule mod_php5.c>
php_value include_path ".:/var/www/mywebsite/"
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我做了a2enmod mod_php5,但它已经运行了,所以我想PHP5已经作为Apache模块运行了.
[编辑]在我的vhost配置中我有这个:
<Directory ~ "^/var/www/.*">
AllowOverride All
Options FollowSymLinks -Indexes -MultiViews
php_value include_path ".:./include:./.include/:/var/www/.include/:/var/www/"
</Directory>
Run Code Online (Sandbox Code Playgroud)
更多信息(phpinfo()):
Loaded Modules core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_auth_mysql mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_status
include_path .:./include:./.include/:/var/www/.include/:/var/www/ .:/usr/share/php:/usr/share/pear
Run Code Online (Sandbox Code Playgroud)
问候,凯文
我正在尝试编写一个规则来将所有URL重定向到一个临时页面,以便可以完成某些站点更新,但最终会以无限循环结束.
RewriteCond %{HTTP_HOST} ^(.*)mysite\.com$
RewriteCond %{REQUEST_URI} !^(.*)temp$
RewriteRule ^(.*)$ http://www.mysite.com/temp [R=307,L]
Run Code Online (Sandbox Code Playgroud)
如何检查它是否是临时页面?
看起来我使用了错误的模块版本apxs2.
一旦它被禁用(a2dismod),我该如何删除它,以便我可以安装正确的版本?
看似基本的,但......不知怎的......我在Google,IRC等上找不到任何东西.
我对somefile.php进行了ajax调用.我希望php脚本能够执行一项简单的任务,而不是将数据发送给用户,而且只需要执行非常耗时的任务.所以我需要在第一个简单的任务后刷新输出.它不起作用,可能是因为我有gzip启用.
我绝对不想在所有vhost中禁用gzip,也不想在somefile.php所有的文件夹中禁用gzip.我只是想为这个特定的文件禁用它.那可能吗?
编辑:
这就是我在apache conf中包含的内容:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
这是我的PHP脚本:
<?php
$sucesss = @apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
ob_start();
for($i=0;$i<10;$i++)
{
echo 'printing...';
ob_flush();
flush();
sleep(1);
}
?>
Run Code Online (Sandbox Code Playgroud)
它不起作用.我仍然在10秒后看到所有输出.
我在Tomcat中运行了一个Web应用程序http://<server>:8080/app/portal/.我希望世界通过URL看到这个应用程序http://<server>/portal/.
为此,我使用Apache 2.2设置了反向代理.根据ProxyPass的文档,我希望反向代理透明地传递所有请求.我的浏览器永远不应该知道Tomcat URL.
这是我的配置:
没有虚拟主机,我将这些行添加到我的httpd.conf中
<Location /portal/>
AllowOverride All
RewriteEngine On
ProxyPass http://server:8080/app/portal/
ProxyPassReverse http://server:8080/app/portal/
</Location>
Run Code Online (Sandbox Code Playgroud)
当我使用Firefox打开时http://<server>/portal/,我得到一个302 Moved Temporarily,所有后续调用从我的浏览器直接进入http://<server>:8080/app/portal/.我的浏览器指向此URL.
这不是我对反向代理的期望.我的配置是错误的还是我误解了反向代理的目的?我该怎么办才能达到理想的行为?
对于我正在设置的基于Linux的Apache 2.2服务器,我有一个相当简单的问题.我想在同一台服务器上设置两个完全不同的域.但它只提供第一个标签的内容!我搜索过StackOverflow并在Apache.org上阅读项目但没有运气.
我按照Apache.org上的说明进行操作,并将这两部分放在我的http.conf文件的底部.
<VirtualHost *:80>
DocumentRoot /var/www/mydomain1
ServerName sub1.mydomain1.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/mydomain2
ServerName sub2.mydomain2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,当我使用浏览器访问:http://sub1.mydomain1.com它很好.但是如果我去http://sub2.mydomain2.com我仍然只能获得位于/ var/www/webfiles/mydomain1中的内容.
我做了许多显而易见的事情,例如: - service httpd restart - 我改变了httpd.conf中两个条目的顺序,再一次,它只服务于列表中的第一个条目. - 我使用Googled的一个支持文档说,确保在您的系统上有一个有效域的以下入口点.所以我输入了这个(但它没有改变任何东西):ServerName sub2.mydomain2.com:80
它一定是愚蠢的东西,但我无法弄清楚!
我使用mac 10.8,我已经安装了PHP 5.5.在命令行php -v show version 5.5.但是当我使用phpinfo()启动mac的apache服务器时,它会显示版本5.4.
任何人都可以帮我如何使Apache使用5.5版
谢谢
apache2 ×10
apache ×5
php ×4
.htaccess ×3
document ×1
httpd.conf ×1
include ×1
macos ×1
mod-rewrite ×1
permissions ×1
proxypass ×1
redirect ×1
root ×1
subdomain ×1
ubuntu ×1
uninstall ×1
virtualhost ×1