[DIY NAS] Proxmox VE + NextCloud + OpenMediaVault + OpenLDAP 整合紀錄(三):整合 NextCloud + OpenMediaVault

前兩篇都做完後,才能開始修改、整合唷!

在上一篇格式化完 Zvol 後,檔案不會存在 OMV 那個小小的 1GB 空間之中,只是用來欺騙 OMV 系統,真正的檔案是存在 PVE Host 的 ZFS Dataset 內,需要寫 Script 來掛載 PVE Host 的 ZFS Dataset。

 

新增 Dataset Mount Point

  1. 先關閉 OMV LXC、NextCloud LXC
  2. 在 PVE Host 建立一個 Dataset 讓 OMV、NextCloud可以共用資料
    # zfs create data/nas # Zpool 為 data、目的地資料集為 home
  3. 編輯 OMV、NextCloud 兩個 LXC 的設定檔:/etc/pve/lxc/LXCID.conf
  4. 分別加入這行以自動掛載 Dataset 到兩個 LXC 的 /home 之中:
    lxc.mount.entry: /data/nas home none bind,create=dir,optional 0 0
  5. OMV LXCID.conf:

    NextCloud LXCID.conf

  6. 存檔後把兩個 LXC 都開機,可以看到已經順利掛載了

 

修改 NextCloud 儲存位置

進入 NextCloud,修改 conf/config.php,將:

'datadirectory' => '/var/www/html/data',

 

改為:

'datadirectory' => '/home',

 

再執行下面指令把原本的資料移動到新的位置:

# mv /var/www/html/data/* /home/
# mv /var/www/html/data/.htaccess /home/
# mv /var/www/html/data/.ocdata /home/
# chown -R www-data:www-data /home/
# chmod -R 775 /home/

 

新增群組修正 NextCloud 讀取權限

這個項目是為了 OMV 而作的,NextCloud 讀取 /home 時,必須讓 www-data 為檔案擁有者,為了讓 OMV 的一般使用者可以對 /home 讀寫,所以創一個群組 nasuser,將 www-data 加入 nasuser,並新增 Crontab 定時修正來權限,讓 NextCloud 可以順利讀寫來自 OMV 使用者的檔案,完成整合,這個部份到時候整合 OpenLDAP 後會更方便。

新增群組 nasuser(註1) 並加入 www-data 使用者:(註1)

# addgroup nasuser -g 1000
# adduser www-data nasuser

 

撰寫 Shell Script 定時修正權限:

# touch /root/script/repair-permission.sh
# chmod +x /root/script/repair-permission.sh
# vim /root/script/repair-permission.sh

內容如下:

執行 crontab -e 寫入 crontab:

* * * * * /root/script/repair-permission.sh

 

 

修改 OpenMediaVault Samba 設定

 

進入 OpenMediaVault,編輯 /usr/share/openmediavault/mkconf/samba.d/30homes

修改:

第 33 行(OMV_SAMBA_HOMES_CREATEMASK)、
第 34 行(OMV_SAMBA_HOMES_FORCECREATEMODE)、
第 35 行(OMV_SAMBA_HOMES_DIRECTORYMASK)、
第 36 行(OMV_SAMBA_HOMES_FORCEDIRECTORYMODE

將數值 0600 改為 0775

第 48 行(-o "comment = ${OMV_SAMBA_HOMES_COMMENT}" -n

下方新增一行,加入

-o "path = /home/%S/files" -n

 

再編輯 /usr/share/openmediavault/mkconf/samba.d/20shares

修改:

第 48 行 (OMV_SAMBA_SHARE_FORCECREATEMODE)、
第 49 行(OMV_SAMBA_SHARE_DIRECTORYMASK)

將數值 0664 改為 0775

存檔後執行下面指令寫入設定檔:

# omv-mkconf samba

 

新增共享資料夾

首先先進入 OMV 後台,新增共享資料夾..(待補)

 

測試整合成果

先進入 OpenMediaVault,把群組 nasuser(註1) 創好:

# addgroup nasuser -gid 1000

 

先在 NextCloud 、OMV 建立使用者,使用同一組使用者帳號密碼:

 

 

先登入 NextCloud,讓 NextCloud 產生使用者資料夾:

 

再登入 SAMBA:

 

可以看到一樣的內容:

 

測試上傳 ISO 檔案:

 

NextCloud 上面也可以看到這個檔案了:

 

註1:

nasuser 這個群組到時候整合 OpenLDAP 時就不需要建立了,直接把 www-data 加入 LDAP 中的群組(adduser www-data $gidNumber),將所有的 nasuser 取代為 LDAP 中的 $gidNumber  即可。

系列文章:

[DIY NAS] Proxmox VE + NextCloud + OpenMediaVault + OpenLDAP 整合紀錄 (一):NextCloud

[DIY NAS] Proxmox VE + NextCloud + OpenMediaVault + OpenLDAP 整合紀錄(二):OpenMediaVault

[DIY NAS] Proxmox VE + NextCloud + OpenMediaVault + OpenLDAP 整合紀錄(三):整合 NextCloud + OpenMediaVault

關於 富源

一名台東大學資訊工程學系的學生,這個網站用來紀錄一些不常用,但很重要、會忘記的事情。我的興趣是寫一些實用向的程式,例如 Python 爬蟲之類的東西... 歡迎各位交流!

2 Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *