使用宝塔面板搭建nextcloud服务后,在设置外部存储时总是无法启用本地存储。
问题1:提示:“smbclient” 未安装。无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息”。请联系管理员安装。
解决方法:
由于在宝塔面板的php设置中无法找到smbclient扩展,所以需要参考安装第三方PHP扩展示例从源代码安装smbclient。
1.下载源代码
yum install git -y
git clone git://github.com/eduardok/libsmbclient-php.git
2.编译(注意根据php版本切换对应的路径)
yum install libsmbclient-devel
cd libsmbclient-php/
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
sudo make && make install
3.修改php的配置文件,在文件最后加入以下内容
[smbclient]
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/smbclient.so

到这里,smbclient就安装完成了。
安装smbclient后,依然无法添加本地存储。
nextcloud 日志提示
realpath(): open_basedir restriction in effect. File(/home/luc/Downloads) is not within the allowed path(s): (/www/wwwroot/mysites/:/tmp/) at /www/wwwroot/mysites/nextcloud/lib/private/Files/Storage/Local.php#72

解决方法:在宝塔面板的网站设置中,将放跨站攻击关闭后重启。

原文: