Articles of Suexec

在SUEXEC和DOCROOT混淆

我一直在遇到suexec的问题,它说cgi脚本不在docroot中。 我得到这个错误: "[2012-05-21 04:53:02]: command not in docroot (/apps/dctools/www/cgi-bin/test.cgi)" 我有一个符号链接到cgi文件的位置。 符号链接是suexec的问题吗? 使用虚拟主机configuration。 apache docroot: /var/www/html suexec docroot: /var/www 虚拟主机configuration <VirtualHost 10.1.1.1:80> ServerAdmin [email protected] DocumentRoot /var/www/html/dctools ServerName dctools.nowhere.com ErrorLog logs/dctools.nowhere.com-error_log CustomLog logs/dctools.nowhere.com-access_log common SuexecUserGroup me white ScriptAlias /cgi-bin/ "/var/www/cgi-bin/dctools/" <Directory "/var/www/dctools/cgi-bin"> AllowOverride None Options None Options FollowSymlinks Order allow,deny Allow from all </Directory> </VirtualHost> 符号链接设置 -sh-3.2$ […]

一个客户端上有多个相同的NFS共享?

我将webspace内容移至NFSv3共享。 由于suexec限制,我有不同的path到客户端上不同的内容子集。 我想知道是否我仍然可以在一个导出的nfs共享上的一个path中拥有所有的内容。 例: 我需要 /home/content/foo 和 /var/www/content/bar 出口份额“/出口”可能有 /export/foo /export/bar AFAICS有三个选项: 在nfs客户端的不同path上安装/导出两次 安装/导出一次,并进行绑定安装 将foo和bar放在不同的目录中,并分别导出/安装它们 你会推荐哪些选项?

NameVirtualHost 12.345.67.89:443启用和禁用suexec模块后没有VirtualHosts

在尝试启用suexec模块的过程中,我开始得到这些警告(当我重新启动apache)。 suexec启用和禁用时,我得到他们: * Restarting web server apache2 [Wed Oct 05 01:29:40 2011] [warn] NameVirtualHost 12.345.67.89:443 has no VirtualHosts … waiting [Wed Oct 05 01:29:41 2011] [warn] 12.345.67.89:443 has no VirtualHosts …done. 我正在运行Ubuntu 10.04,Apache2.2,PHP,MYSQL … 我正在运行一个站点通过https://与签名的证书,ssl等,以及其他几个未encryption的网站。 这以前工作正常,但现在(因为我尝试启用suexec后重新启动服务器)我收到上述错误。 如果启用*:443虚拟主机,则apache将不会重新启动,并且不会提供任何服务。 如果我禁用*:443虚拟主机,Apache将不会重新启动,并将不会服务我所托pipe的任何域。 除了suexecconfiguration(通过命令行)之外,唯一让我迷惑的是启用了ssl的域的启用站点的configuration文件,如下所示: <VirtualHost *:80> ServerAdmin [email protected] ServerName mysite.com ServerAlias www.mysite.com DocumentRoot /srv/www/mysite.com/public_html/ ErrorLog /srv/www/mysite.com/logs/error.log CustomLog /srv/www/mysite.com/logs/access.log combined </VirtualHost> […]

mod_rewrite之后,服务器上的环境variables不可用,但在本地工作

我正在使用SSI在一个网站上工作,在HTML页面上设置一个variables,然后在mod_rewrite重写之后,该variables将被脚本拾取。 这工作在我的本地设置,但由于某种原因,它不在生产服务器(都是Apache 2.2.22)。 这里是相关的位: perl脚本: my $working = ($ENV{'HTTP_my_var'} || $ENV{'REDIRECT_HTTP_my_var'}) || "NO"; print "Content-type: text/html\n\n"; print "is it working? <b>$working</b>"; .htaccess相关行 RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ /$1.html [L] RewriteRule ^my_tst$ /cgi-bin/my_tst.cgi [L] HTML文件: <!–#set var="HTTP_my_var" value="YES" –> <!–#include virtual="/cgi-bin/my_tst.cgi" –> <br> <!–#include virtual="/my_tst" –> 这是我的本地机器上的结果: 它在工作吗? 是 它在工作吗? 是 但是在生产服务器上: 它在工作吗? […]

为多个客户端configurationApache

上周我在这里提出了一个关于suexec / suphp的问题,但是我试图完成太多的工作。 我打算缩小范围,然后再试一次。 我想configuration一个LAMP服务器来托pipe多个客户端。 我想(从客户端的angular度来看)就像其他共享主机环境一样。 Web站点在他们的主目录中,不需要搞清楚文件所有权以获得页面服务等等。似乎涉及suexec和suphp的configuration是要走的路(?) 我正在寻找一个关于如何完成这个任务的当前/现代指南(如果它很重要,我将使用CentOS),恐怕我需要的不仅仅是一个链接到Apache文档。 有什么好的方法吗? 我发现的几个已经过时了,但是很可能我的searchfunction很弱。

Apache大量虚拟主机&suexec&fcgid

我遵循了Falco的教程 ,现在所有的东西都可以按照他们的相关目录( /var/www/john和/var/ww/alice )为2个用户(例如john和alice)按预期工作。 现在,我想进入下一个层次:不是在/etc/apache2/sites-available/<username>上定义不同的虚拟主机,而是重新启动Apache,我需要dynamicconfiguration大容量虚拟主机( http://httpd.apache.org /docs/2.2/vhosts/mass.html )。 说,我的DNS服务器logging: another.site.example.com ,我想它的主目录在/var/www/another.site/web 。 问题是suexec和mod_fcgid的所有这些configuration设置。 我结束了我的httpd.conf草稿(或者我应该创build一个像/etc/apache2/sites-available/mass_virtual ): NameVirtualHost *:80 #default virtual host <VirtualHost *:80> ServerName www.example.com ServerAlias example.com ServerAdmin [email protected] DocumentRoot /var/www/root/web/ <IfModule mod_fcgid.c> SuexecUserGroup web-admin web-admin <Directory /var/www/root/web/> Options +ExecCGI Options -Indexes AllowOverride All AddHandler fcgid-script .php FCGIWrapper /var/www/php-fcgi-scripts/root/php-fcgi-starter .php Order allow,deny Allow from all </Directory> […]

如何使用Apache在CentOS 5上以特定用户和组的身份运行PHP Web应用程序?

我知道有很多不同的方法来做到这一点,但我不确定“最好”的方式是否适合我的特殊情况: 每个网站应该有自己的用户帐户(网站用户) 虚拟主机指向站点用户的主目录内的目录 Apache作为站点用户的用户:组执行每个站点 CLI命令可以作为站点用户在站点上执行 各承包商负责维护一个或多个地点,每个承包商应有自己的账户用户账号 联系人也将拥有他们mainatian每个网站帐户的帐户信息。 他们将以站点用户身份login,以便维护每个站点 – 使用ssh直接访问该站点帐户,或login到其承包商帐户,然后切换用户。 我的第一个想法是使用mod_fcgi因为我认为这是通常在我使用的一些共享服务器环境中完成的方式。 我当然search了这个设置,但是我发现的大多数指南都是随机的博客文章。 我想要的是更有信誉的东西(如VPS公司的howto KB或distro wiki)。 通过这种方式,我可以将pipe理员指向它作为一般指导,以确定他将适应如何设置此特定服务器。

PHP fopen总是失败,权限被拒绝

我正在将几个Wordpress博客迁移到AWS的过程中,并遇到了文件权限问题,在过去的几个小时里,这些文件权限已经成功挫败了我。 最简单的fopen调用总是失败,“未能打开stream:权限被拒绝”: <?php $handle = fopen('test.txt', 'w') or die('Can\'t open file'); ?> 我已经尝试/检查了以下内容 我正在写的目录具有正确的文件权限(755)和正确的所有权。 这是/ home的path。 我正在通过getcwd()确认正确的目录 testingPHP脚本散列与我尝试写入的path相同的所有权,并更正权限(644)。 我正在运行mod_suexec,以确保脚本以与我正在写入的path相同的用户和组执行。 函数getmyuid()和getmygid()返回正确的用户和组ID(编辑:这是错误的见下文)。 PHP安全模式在php.ini中被禁用。 fopen不是一个不允许的PHP函数。 使用open_basedir被禁用。 有什么我错过了可能造成这个? 我怀疑我一直在盯着这个这么久,我错过了一些明显的东西。 更新:应用womble的build议后,我开始认为这个问题比恶劣的权限或PHP错误configuration更加恶毒。 我设法得到上面的代码写出一个文件,但是,即使PHP脚本执行正确的用户和组生成的文件所有权和组被设置为Apache的。 如果我从命令行执行相同的testing脚本,则发出的文件具有正确的权限。 这使我相信这是我使用mod_suexec的一个问题。 编辑:我使用getmyuid()和getmygid()是不正确的,因为它们只返回脚本文件的用户和组,而不是它运行的权限。 更正确的方法是使用这样的comething: <?php echo exec('ps -up '.getmypid()); ?>

如何将suexec根目录从“/ var / www”更改为“/ home”?

您好我已经在Ubuntu 12.04安装suexec: apt-get install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi 但是,当我运行以下命令: sudo /usr/lib/apache2/suexec -V 我收到以下信息: -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=100 -D AP_HTTPD_USER="www-data" -D AP_LOG_EXEC="/var/log/apache2/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=100 -D AP_USERDIR_SUFFIX="public_html" 我正在利用“/ home / user / public_html”来为networking上的用户提供内容而不是“/ var / www”。我如何将根目录更改为“/ home”?

Apache,suexec,PHP,suPHP

虽然我作为一个Linux 用户很舒服,但是我的Linux Admin-fu有点弱。 因此,我在这里寻找我即将build立的CentOS服务器的指导。 我需要为我们的几个客户设置一个Apache2 Web服务器。 我希望每个客户端的Web内容都位于其主目录(apache.conf中的USERDIR ,对吗?),以供静态HTML网站使用。 我希望Apache作为客户端运行( suexec ?)。 他们的一些东西将是PHP应用程序,我觉得我也想看看suphp 。 所以基本上我想看起来像一个共享的networking托pipe公司的小版本。 考虑到这些是我常见的 ,我想我很容易find一个很好的当前如何指导设置这一切,但到目前为止,我已经很less运气。 我怀疑我的search词是closures的。 所以问题(随意回答任何或全部): 任何人都有一些固定的链接到当前/现代指南,这将帮助我设置这一切? 不,apache文档网站不是指南;-) 由于我有静态网站和PHP应用程序的混合我想/需要安装suexec和suphp? 如果是这样,是否会引入我应该注意的任何挑战? 我应该看看其他选项,而不是suexec和suphp? 我打算给最终用户SSH,SFTP或SCP访问他们的东西(如果这影响了任何东西)。 在此先感谢您的帮助。 [编辑]我应该早些提到这一点:我的追求模仿与文件权限和所有权相关的共享主机提供商的一个关键目标。 我真的希望避免教导用户需要改变这些事情,以便看到他们的增加/改变。