在CentOS 7 上我並沒有特別對owncloud這個雲端程式有更新的說明,因為原本在CentOS 6.5的安裝說明仍然持續能用。
但現在遇到的問題是yum上的repos程式庫太舊了,一直停留在8.1.x的版本,而owncloud作為一個發展很快的雲端應用,
版本早就從8.1跳到8.2.x,甚至9.0.2都已經出來了,明顯跟不上時代了。
所以這裡針對手動升級寫一個說明與記錄,以做為備忘之用。
升級之前當然要先做好備份,萬一升級過程中出現問題,owncloud裡的東西才不會全部泡湯。
首先要做的就是owncloud的資料庫備份,這個資料庫裡會有owncloud所有使用者的帳密資料,
owncloud的使用者資料並不會跟linux的使用者資料連動,是獨立存在的,都放在這個資料庫裡。
使用mysql指令備份:
往後過程中如果出現錯誤造成資料庫毀損,可以使用以下指令還原資料庫:
mysql --user=root -p owncloud < ./owncloud.sql
或者還原所有資料庫:
wget https://download.owncloud.org/community/owncloud-8.2.5.zip
下載完畢之後解壓縮:
unzip owncloud-8.2.5.zip
將解壓縮開的整個目錄搬到 /var/www/html 底下
按照上面的作法, /var/www/html/目錄下將有owncloud-8.1.8與owncloud兩個相關目錄存在。
將 /var/www/html/owncloud/config/config.php 複製到 /var/www/html/owncloud/config 目錄下,覆蓋舊檔案,
這時候就是把原先8.1.8的設定檔覆寫回去。
OK,到這裡算是搞定程式碼的變動,不過這時候owncloud並未完成升級。
底下升級的作法有兩種:
第一種:用瀏覽器打開owncloud的網址,程式會提示你進行系統升級。
第二種:在 /car/www/html/owncloud/ 目錄下執行手動指令進行升級 ./occ upgrade
使用第二種方式升級時要注意登入linux系統的帳號與權限問題,假設你是用root帳號登入,
在執行 ./occ 指令前要先變更config.php檔案的擁有者與群組為root才行,執行:
chown root.root /var/www/html/owncloud/config/config.php
執行 ./occ upgrade 指令時,console畫面會看到升級過程的提示,等一切都跑完沒出現錯誤訊息的話,
要記得將 config.php的擁有者及群組改回 apache,否則將無法進行登入:
chown apache.apache /var/www/html/owncloud/config/config.php
改好之後使用瀏覽器開啟 owncloud 就能看到登入畫面。
使用第一種方式升級的話,config.php中的 maintenance 欄位有時候會變成 true,
這時候使用瀏覽器開啟owncloud就會看到維護訊息,必須進入系統更改此欄位為 false,
然後重新整理瀏覽器,才會看到正確的登入畫面。