【发布时间】:2020-10-10 12:41:10
【问题描述】:
我希望运行多个 Apache 服务器,这些服务器将为多个客户端托管网站。我已经安装了 libapache2-mpm-itk 模块并为每个客户端文件集创建了唯一的用户/组。并配置他们相应的 vhost 文件以使用该用户/组运行该进程。
<IfModule mpm_itk_module>
AssignUserId www-client www-client1
</IfModule>
在我尝试使用 PHP 会话之前,这可以正常工作。在 vhost 文件中,我还添加了自定义会话保存路径。
php_admin_value session.save_path "/var/www/html/client1/_php/session"
PHP 脚本能够在具有以下权限的目录中生成会话文件,但无法读取它们:
-rw------- www-client1 www-client1
我的虚拟主机的完整示例是:
<VirtualHost *:443>
ServerName client1.com
ServerAlias client1.com www.client1.com
DocumentRoot /var/www/html/client1/www
ErrorLog /var/www/logs/client1/www-error.log
CustomLog /var/www/logs/client1/www-access.log combined
php_admin_value error_log "/var/www/logs/client1/www-error.php.log"
<Directory /var/www/html/client1/www>
Options None
AllowOverride None
Order Deny,Allow
Allow from All
</Directory>
<IfModule mpm_itk_module>
AssignUserId www-client1 www-client1
</IfModule>
php_admin_value log_errors 1
php_admin_value open_basedir "/var/www/html/client1"
php_admin_value upload_tmp_dir "/var/www/html/client1/_php/upload_tmp"
php_admin_value session.save_path "/var/www/html/client1/_php/session"
php_admin_value soap.wsdl_cache_dir "/var/www/html/client1/_php/soap_cache"
SSLEngine On
SSLCertificateFile /var/www/certs/client1/www.crt
SSLCertificateKeyFile /var/www/certs/client/www.key
</VirtualHost>
我在 Ubuntu 20.04 上运行 Apache 2.4.41、PHP 7.4.3,并且没有错误输出到我的任何日志文件。
非常感谢您对此和进一步改进的任何想法/建议。
【问题讨论】:
-
不是你的问题 但是如果你使用的是 Apache 2.4 那么这个语法是 2.2
Order Deny,Allow Allow from All所以使用 Apache 2.4 语法Require all granted -
谢谢,我会做出调整的。