Articles of Suexec

trac:“内部服务器错误(500)”与mod_fcgid和mod_suexec

我尝试在具有shell访问权的共享服务器上设置Trac,SW是Trac 1.0.1,Python 2.6.6,Apache 2.2.15,带有mod_fcgid和mod_suexec。 我已经按照我的主机的wiki的说明设置了它, https: //uberspace.de/dokuwiki/cool:trac。 唯一的区别是我的TRAC_ENV目录位于子目录中,而不是直接在我的家里(即〜/ path / to / trac,而不是〜/ trac)。 (我在DocRoot中将trac.fcgi重命名为foo-trac.fcgi,如下所示,但我也尝试将其重命名为trac.fcgi。) 正如在那里写的,我从TRAC_ENV / deploy / cgi-bin /复制了trac.fcgi(也尝试了trac.cgi)到$ DocRoot / foo / foo-trac.fcgi并添加 Options +ExecCGI AddHandler fcgid-script .fcgi # also tried "AddHandler cgi-script .cgi" RewriteEngine On RewriteBase /foo RewriteRule ^$ foo-trac.fcgi [L] # also tried foo-trac.cgi RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d […]

我需要澄清Apache2,MPM-Worker,FastCGI,PHP5-fpm,suEXEC?

我目前的configuration是: Apache2 + MPM-Worker和FastCGI + PHP5-fpm(PHP 5.3.2)在Ubuntu 10.04 LTS上 我有一个由2-5个进程组成的单个池,作为不同于默认www数据的用户运行。 FastCGI / PHP5-fpm通过FastCGIExternalServerconfiguration为外部服务器 我知道我可以设置多个池作为不同的用户运行… 但是,我想知道在这种types的设置中是否可以使用suEXEC? 而且,它可以设置只有一个池吗? 如果是这样,怎么样?

PHP包含总是失败

具有SuExec下的VirtualHosts的Apache HTTP Server 2.2.21 PHP 5.3.8通过fcgid Arch Linux 2011.08.19 我正在从共享主机迁移到VPS。 我之前的代码运行良好,但现在在这条线上失败: require_once($_SERVER['DOCUMENT_ROOT'] . 'includes/content/header.php'); 错误日志说: PHP致命错误:require_once():在/ srv / www / hostname中打开所需的'/srv/www/hostname/public/includes/content/header.php'(include_path ='。:/ usr / share / pear')失败第3行的/public/index.php 我尝试了没有文档根部分,有和没有./ ,文件在同一目录等相同的行,没有运气。 与require , include_once或include require没有区别。 但是,我可以通过从错误日志中复制并粘贴到该文件来validation该文件是否存在于该确切位置。 我问这个问题,有人告诉我这可能是一个服务器问题,所以我在这里重述。 (我能find的最类似的问题从来没有回答 )尝试总结: 没有任何权限组合(在目录或文件上); 从644到777尝试。 所有这些文件都由SuExec用户/组更新。 PHP将自身报告为在正确的用户/组下运行。 Apache&SuExec错误日志不报告。 安全模式在php.ini设置为“关”。 dirname(__FILE__)和exec('pwd')返回值与$_SERVER['DOCUMENT_ROOT']相同,但没有结尾的斜杠; 前缀与其中一个或另一个没有区别。 include , include_once , fread , file_exists , file_get_contents和realpath(dirname(__FILE__))都返回false。 set_include_path()没有效果。 […]

使用PHP-FPM运行bash脚本的最安全的方法

我目前使用Nginx + PHP-Fpm运行websever,每个站点使用自己的用户名/ GID。 然后我有一个bash脚本,用来创build新用户以及其他必要的东西。 我知道我可以调用脚本使用shell_exec / suexec,但我想知道什么是最安全的方式来调用一个bash脚本,而不会危及服务器的安全? 起初我想设置一个cron作业来运行这个脚本,但是这个帐户需要立即启动。 所以cron不会工作。 此外,我已经做了一些search,并build议使用php守护进程监视队列,然后在有工作时运行脚本。 由于我从来没有任何经验,所以对这个(守护进程)不太确定。 我怎样才能安全地运行我的脚本? 更新: 只是为了更新我已经决定与Beanstalkd + pheanstalk组合。 PHP脚本将作业发送到队列,然后将由具有所需特权的单独用户运行的守护进程php脚本运行。

Apache + SuExec + php-fpm – 如何设置它们?

我不知道是否有一个很好的指导如何设置Apache + SuExec + PHP的FMP? 我有一个服务器,我将要使用几个单独的网站。 所以,我需要PHP作为网站所有者用户运行。 正如我所看到的,php-fpm与php-fcgi有点不同。 在这种情况下,Apache中是否需要mod_fcgid? 如何设置这一切? 现在我的网站正在运行Apache + mod_suphp + php-cgi,所以…这很好,但有点慢。 我想保护安全并获得使用APC的能力。

Suexec PHP不加载php.ini

我在CentOS 7上使用FastCGI和suEXEC for PHP。我的包装器脚本如下所示: #!/bin/sh PHPRC=/home/ben/etc/ export PHPRC export TMPDIR=/home/ben/tmp/ exec /usr/bin/php-cgi -c /home/ben/etc/php.ini PHPRCvariables被设置,phpinfo显示它,但是不会使用自定义的php.ini。 Phpinfo只是说: Configuration File (php.ini) Path /etc Loaded Configuration File (none) 有谁知道如何解决这一问题?

Apache使用公共文件设置多个站点

刚刚意识到我发布了这个错误堆栈溢出,所以这里是在正确的地方! 我有大约50个网站,所有使用CSS和IMAGES以外完全相同的文件,我目前每次创build一个新的网站和上传不同的CSS和图像复制文件。 我想要做什么,所以设置每个虚拟主机有相同的DocumentRoot然后添加的CSS和图像文件夹的AliasMatch例如: #Common Files VHOST <VirtualHost xxx.xxx.xxx.xxx:80> ServerName commonfiles.com ServerAlias www.commonfiles.com DocumentRoot /home/commonfiles/public_html </VirtualHost> #Sample vhost for 1 of the 50 sites. <VirtualHost xxx.xxx.xxx.xxx:80> ServerName mytest.com ServerAlias www.mytest.com DocumentRoot /home/commonfiles/public_html …… AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1 </VirtualHost> 这个别名对于定制的文件来说是完美的,但是由于许可错误,通用文件不能被访问: [Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure […]

安全的Apache PHP vhostconfiguration

我正在寻找安全使用suexec在Apache下运行的一些网站。 目前php正在执行的文件的用户/组执行。 这在我看来,不够安全。 它可以阻止互相干扰的虚拟主机,但不会阻止正在使用的虚拟主机中的任何地方写入恶意代码。 我以为有可能将脚本作为nobody / vhost组运行,这样vhost用户仍然可以完全访问vhost目录,但执行php只能使用g + w写入文件,并且用g + x执行文件。 这个我认为应该停止任意写在web目录从受损的PHP。 只是想知道这是疯狂的,荒谬的,愚蠢的? 当然,这将在现有的安全措施之上完成。

django + wsgi + suexec + userdir + apache?

我有一个django 1.1网站,我想运行在wsgi(因为这似乎是推荐部署在Apache)。 我希望它以www用户身份运行(apache以www数据运行)。 我理想喜欢这个工作的http://主机名/〜www / (〜www / public_html)以及http:// virtualhostname / 。 我也希望这可以为以后使用wsgi的其他用户工作。 我能做到这一点吗? 我一直在盯着文件试图从哪里开始,但我遇到了麻烦结合userdir和wsgi让我运行〜xxx / public_html / index.wsgi作为用户xxx,为每个用户xxx。

与suexec命令问题,当我尝试初始化webmin安装和工作的PC上的virtualmin

我正在尝试初始化Virtualmin。 通过Webmin-> Module->新模块安装界面安装完成后。 这是我在Webmin中得到的消息: The Suexec command on your system is configured to only run scripts under /var/www, but the Virtualmin virtual server home directory is /home. CGI and PHP scripts run as domain owners will not be executed. 我如何纠正这个错误,让Virtualmin可以开始工作?