我有一个主 SSD 驱动器,其中安装了操作系统,
我还有一个第二个驱动器(NTFS 自动安装),其中托管了所有的 www
一切运行正常,Apache 可以将文件加载/写入/等到此 NTFS 分区
我必须擦除/格式化我的主驱动器并重新安装所有内容
现在 Apache 无法将文件写入该分区
我已经从备份中恢复了 apache2 配置、envvars、fstab 等。
fstab:
UUID=587AA3687AA3421C /media/datos ntfs-3g defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0
Apache2.conf:
<Directory /media/datos/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Apache2/环境变量:
export APACHE_RUN_USER=kike
export APACHE_RUN_GROUP=kike
virtualhost.conf(它是一个codeigniter 4 php应用程序):
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName misite
ServerAlias misite
DocumentRoot /media/datos/html/misite/public
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory /media/datos/html/misite/public>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_misite.log
CustomLog ${APACHE_LOG_DIR}/access_misite.log combined
</VirtualHost>
附言:
- www-data 被添加到组 kike (我的用户/组)
- PHP 安装为 FPM 服务
我也在 fstab 中尝试过这个(没有成功):
UUID=587AA3687AA3421C /media/datos ntfs-3g user,auto,exec,nodev,nosuid,async,rw,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0
UUID=587AA3687AA3421C /media/datos ntfs-3g uid=kike,gid=kike,nls=utf8,umask=007,windows_names 0 0
我的用户 (kike) 在处理此 NTFS 分区的文件/文件夹时没有遇到问题,但我想知道为什么以前可以正常工作,而现在却不行了
谢谢你给我的任何建议
答案1
在想知道与以前的安装有何不同时,我注意到(然后编辑了问题)这次我安装了 php 8-1 fpm,因此我开始搜索有关此问题的信息,并找到了以下内容
如果我编辑以下文件
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
然后将以下变量更改为我的用户名(而不是 www-data)
user = kike
group = kike
listen.owner = kike
listen.group = kike
然后保存更改,重新启动 apache2 和 php8.1-fpm 服务
然后它工作正常