在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指令備份:

mysqldump -uroot -p -a --default-character-set=utf8 owncloud > owncloud.sql
 
如果想要把所有資料庫都備份出來,,那就使用以下指令:
 
mysqldump -uroot -p -A --default-character-set=utf8 > mysql.sql

 

往後過程中如果出現錯誤造成資料庫毀損,可以使用以下指令還原資料庫:

mysql --user=root -p owncloud < ./owncloud.sql

或者還原所有資料庫:

mysql -uroot -p < ./mysql.sql
 
注意:當要還原資料庫下指令時要記得指對資料庫存放的路徑,照抄上面指令有時候是不會動作的,
請先將工作目錄移動到備份資料庫的目錄下,這樣指令才會正確執行。
 
資料庫備份完之後再備份owncloud的設定檔,將以下檔案複製搬移到存放備份檔案的地方:
 
/var/www/html/owncloud/config/config.php
 
這個檔案記錄了存取資料庫的重要資料:資料庫名稱,登入資料庫帳號密碼...
很重要,所以千萬要先備份起來。
 
如果擔心的話,也可以將 /vqr/www/html/owncloud 整個目錄更名,我的習慣是先更名為
owncloud-8.1.8 ,後面的數字就是版號,這樣可以一目了然避免錯誤。
 
再來就是下載owncloud的新版本程式,此處以8.2.5為範例:
 

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

然後重新整理瀏覽器,才會看到正確的登入畫面。

文章標籤
創作者介紹

呂阿谷的部落格

呂阿谷 發表在 痞客邦 PIXNET 留言(0) 人氣()