- 下面把我使用中的技巧、踩坑等陸續記錄下來,讓廣大網友也可以作爲一個參考,以下文字全部爲本人實踐,非網上覆制粘貼。
- 本文是基於Turnkey的NextCloud系統,適合小白,安裝後即可通過https訪問(開箱即用的SSL支持),不需要去搞那些頭痛的設置還有證書。系統爲Debian10,NextCloud是18,都是最新版本。
- 下載地址:https://www.turnkeylinux.org/nextcloud,同學們下載V16.0的ISO版本即可。NextCloud是默認安裝在/var/www/nextcloud/目錄下。
1. 安裝完成後web界面無法登錄
提示如下:
上文中的config.php在此目錄中:/var/www/nextcloud/config/config.php
當然,不同安裝方法目錄路徑會有不一樣。這麼做顯然是爲了安全,但家庭使用沒必要,所以需要去除IP限制,編輯config.php,增加如下“ 2 =>”一行所示,然後保存退出:
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'nextcloud.companyname.com',
2 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'],
),
再次登錄web界面就可以輸入用戶名、密碼了。
2. 軟件更新遇到的問題
a. 軟件更新界面走到“Check for write permissions”一步提示打叉錯誤沒有權限。
這個原因是軟件安裝目錄中的某些目錄權限設置有問題,不管是哪個目錄全部更改即可。
ssh登錄服務器,切換到目錄:/var/www下,更改nextcloud文件夾及其子目錄的組,輸入:
chgrp -R www-data nextcloud/
*小技巧:目錄名稱或文件名稱不必輸入全部,輸入1、2個字母用“Tab”鍵補足即可,注意區分字母大小寫。
更改nextcloud文件夾及其子目錄的擁有者:
chown -R www-data nextcloud/
再次運行更新,步驟成功往下走,停在下載那一步,此處花時間較長,經常會失敗,下面會給出解決方案。
b. 不可自行在 /var/www/nextcloud/ 目錄下新建其它目錄,否則軟件更新時會出錯,提示如下:
刪除自己新建的目錄後正常。
c. 軟件更新時間過長,下載速度太慢,一直失敗
這個解決方法只能是手動離線更新。注意:以下解決方案的前提是,你自己更新已經走到下載那一步了。
- 根據更新頁面提示的網址下載zip升級文件(可用迅雷),然後上傳到 /var/www/nextcloud/data/updater-ocxt462gcu40/downloads/目錄下替換未完成下載的zip文件。
注:文件夾updater-ocxt462gcu40,其中短橫槓後面是隨機代碼,所以再次提醒大家,一定要運行更新後再操作,否則這裏是不會出現這個文件夾的。
*上傳軟件筆者用的是MobaXterm,用着比較方便,大家可以自行網上下載。 - 修改剛纔上傳zip文件的擁有者和組權限:
chown www-data *
chgrp www-data *
- 編輯/var/www/nextcloud/data/updater-ocxt462gcu40/文件夾下的隱藏文件 .step 文件,將其中代碼:{“state”:“start”,“step”:4} 更改爲:{“state”:“end”,“step”:4}。
- 再次點擊頁面的更新按鈕,則跳過了下載的步驟可以繼續進行下一步了。
- 再次登錄web界面,nextcloud會自動進行版本更新,完成後整個版本更新結束。
d. 版本更新後在管理員概覽界面對於數據庫有如下警告出現
解決此問題需要執行如下命令:
sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
當然根據安裝方法不同,occ文件的所在目錄會有不同,自己修改即可。
注:對數據庫執行操作時要將服務器離線,以免客戶端同步時發生問題。
再次檢查,網頁警告消失。
3. web界面的文件目錄有時會和實際服務器中的文件不一致
原因是web界面其實顯示的是數據庫中的信息,而不是實際的文件信息,所以我們要更新數據庫,保持信息一致。
ssh登陸到服務器執行命令:
sudo -u www-data php /var/www/nextcloud/occ files:scan --all
以上是手動更新的方法,如果嫌煩可以設置每天定時自動更新(比如每天凌晨2點)。
執行命令:
crontab -e
編輯文件添加如下命令:
0 18 * * * sudo -u www-data php /var/www/nextcloud/occ files:scan --all
上面的第二個數字18就是更新時間(UTC時間),所以實際執行時間是18+8=凌晨2點。
以上編輯完成後需要重啓定時服務,命令如下:
/etc/init.d/cron restart
執行結果保存在這個文件中:/var/mail/root ,可以查看執行結果。
4. 手動離線安裝插件
NextCloud有功能豐富的插件可供安裝,但是軟件內無法訪問插件應用商店,只能手動離線安裝。
打開插件應用商店的web頁面:https://apps.nextcloud.com/
找到自己喜歡的插件,點進去,然後在下載清單里根據自己的軟件版本下載相應版本的插件,就是速度比較慢。比如RainLoop的如下:
把下載的rainloop.tar.gz上傳到/var/www/nextcloud/apps/目錄下,解壓縮:
tar -xvf rainloop.tar.gz
刪除壓縮文件:
rm rainloop.tar.gz
如上所述方法把rainloop目錄的所有者和組更改爲www-data。
用管理員(admin)賬號登錄web界面,右上角點頭像,下拉菜單點應用,點左側您的應用,就可以看到所有已安裝的插件了,往下拉到最後可以看到RainLoop字樣,點擊右側啓用,就可以看到網頁頂端藍條上出現RainLoop圖標了,點擊圖標自己愉快的玩耍吧。
5.SSH登錄服務器列目錄,發現中文文件夾或者文件名稱顯示亂碼
原因是系統初始區域設置爲en_US.UTF-8,需要通過如下命令添加中文編碼:
dpkg-reconfigure locales
用空格鍵選中zh_CN開頭的4個編碼,然後按下“Tab”鍵把紅色光標移動到< OK >上按下回車,系統會自動安裝相應的軟件。安裝完成後再用ls -la列目錄就能正常顯示中文文件名了。配置界面如下: