讓truenas的nextcloud也可以掛載smb共享目錄

字號+ 編輯: 种花家 修訂: 种花家 來源: 原创 2023-10-10 我要說兩句(0)

nextcloud的php網磐系統和smb似乎魚和熊掌不可兼得的意思,尤其是權限,有那麽一點糾結。該怎麽解決呢?

这里小编只说Truenas scale版本, 这里的nextcloud都是挂在docker里的, 一般默认php是没有安装smbclient的, 需要事先在docker里面安一下:

apt-get install smbclient libsmbclient-dev

接下来用docker里自带的php pecl来自动安装smbclient.so插件

pecl install smbclient

如果你因为某种原因, 没有办法运行pecl命令, 就从pecl官网down包来手动编译

手动编译php的smbclient

wget https://pecl.php.net/get/smbclient-1.1.1.tgz 
tar zxf smbclient-1.1.1.tgz
cd smbclient-1.1.1 && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install

安装完毕之后会出现下方提示, 大体意思是要你在php.ini里面添加smbclient.so, 不用理会, 因为到这一步, 命令行安装的事已经ok了。

Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20210902/smbclient.so'
install ok: channel://pecl.php.net/smbclient-1.0.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=smbclient.so" to php.ini

接下来就是在nextcloud管理员账户里找到右上角->应用, 添加一个外部存储的精选应用, 添加完了再迂回到管理员的设置->外部存储菜单中, 会发现系统不再提示smbclient找不到的报错了, 看到这个界面

WX20221208-201454@2x.jpg

这里解释一下, 不要慌,下方文字告诉你,图里这些东西是啥意思

目录名称: 在Nextcloud中看到的挂载名称(任意填)

注意第三列的认证选项, 一般均为用户名和密码, 平时你怎么登录SMB目录的, 当然是用户名和密码了。

SMB服务器地址,如果smb服务端口不是默认的139或445,可以定义为IP:端口的形式。你不知道SMB服务器是啥地址? 那你平时是怎么连smb共享盘的? 不用IP的吗? 那就写域名也行。

SMB服务器中配置的共享文件夹名称, 比如你共享盘目录叫张三, 那就写张三, 找不到的话肯定报错。你平时怎么连smb共享盘的? 共享盘目录就啥名知道吗? 知道就填进这一栏里去。

远程子文件夹,我也不知道填啥,没填过

域名,我也不知道填啥,不填

smb用户名, 你怎么登录smb共享盘的就怎么填当时的用户名

smb密码, 同上

最右边那个栏位, 让你选, 把这个smb目录桥接到哪个nextcloud用户手里。如果不写,则所有人都可以看。那可就很危险喽?

接下来填好了点右侧对号,如果测试通过,则表示没有问题。


閲完此文,您的感想如何?
  • 有用

    125

  • 沒用

    2

  • 開心

    12

  • 憤怒

    2

  • 可憐

    6

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評