FUSE扩展的目录无法被 apache 读取?

我想在服务器上把用户 name@qq.com的资料库 Book 作为web目录发布,我服务器上已经运行了apache作为web服务器。

我按 https://manual-cn.seafile.com/extension/fuse.html 中的方法启用了FUSE:

./seaf-fuse.sh start /data/seafile-fuse

:worried:在apache中配置了fuse目录作为虚拟主机目录,但重启apache时找不到FUSE目录。:worried:
apache提示错误:

Warning: DocumentRoot [/data/seafile-fuse/name@qq.com/77b8f888-3b4c-4167-ba23-f2da1cedaf11_Book/] does not exist

但我通过: ls -alh /data/seafile-fuse/name@qq.com/77b8f888-3b4c-4167-ba23-f2da1cedaf11_Book/ 能看到该目录下的已经同步了的资料:

apache中虚拟机配置大致如下:

<VirtualHost *:80>
	ServerName xxx.in
	ServerAlias *.xxx.in

	DocumentRoot "/data/seafile-fuse/name@qq.com/77b8f888-3b4c-4167-ba23-f2da1cedaf11_Book/"
	<Directory "/data/seafile-fuse/name@qq.com/77b8f888-3b4c-4167-ba23-f2da1cedaf11_Book/">
		Options FollowSymLinks
		AllowOverride all
		Order allow,deny
		allow from all
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error_book.log

	LogLevel warn
	CustomLog ${APACHE_LOG_DIR}/access_book.log combined
</VirtualHost>

服务器操作系统版本号: Ubuntu 12.04
seafile版本:6.0.5 64bit

我目前使用的方法是在服务器上安装一个客户端 seaf-cli来将这个资料库同步到另一个目录,在apache中使用 seaf-cli同步的目录。

./seaf-fuse.sh 有参数可以让其他用户,比如 apache, 读取文件。具体可以参考文档。

多谢提醒,已解决该问题:

先编辑 /etc/fuse.conf 文件,打开 user_allow_other 选项,然后在启动时添加 allow_other 参数:

./seaf-fuse.sh start -o allow_other /data/path
1 个赞