owncloud這套私有雲軟體我用了很多年了,這次會把作業系統升級與它有關。
現在最新版的owncloud已經到10.4版,新版本要求php版本要到7.0以上,
Centos 7只能自己想辦法升級,而Centos 8就支援到7.2了,速度真的新舊版有差。
底下說明如何全新安裝ownclod 10.4版,首先到官網下載unzip格式軟體,
官網下載網址: https://owncloud.org/download/
點選ZIP格式下載:
傳到主機後解壓縮,搬到 /var/www/html 目錄下。
將檔案擁有者集群組變更為 apache,執行指令:
chown -R apache.apache /var/www/html/owncloud
接下來用瀏覽器開啟網頁, https://(IP)或(主機名稱)/owncloud
底下以IP位址做範例:
在這個安裝畫面中要填寫一些資料,最上面要創建一個管理者帳號,這個帳號與你的網站系統無關,
純粹是owncloud的管理者。
然後選中間的mysql/MariaDB,會展開下面的填寫資料畫面,你必須先備好可用的資料庫及
資料庫管理者的帳號密碼,資料庫只要新創空的就可以。
點選開始安裝後就會開始執行安裝作業,如果資料庫部份填寫正確就會跳到登入畫面,
以剛才創建的管理者帳號登入就可以,安裝過程堪稱簡單,安裝完畢後的登入畫面:
登入後畫面如下,雖然可以用了,但還有許多需要微調的地方。
點選右上角帳號往下拉,有個設定選項:
選左邊的一般,會跳出一些錯誤訊息,老實說不影響使用,但我比較龜毛在意,
後面會補充如何修改這些錯誤的部份,畫面如下:
先講以前困擾我很久的快取問題,現在進版之後反而很好解決,現在的php版本已經內建好快取功能,
所以只要owncloud的設定打開即可使用。
修改owncloud設定檔: /var/www/html/owncloud/config/config.php
新增一行設定: 'memcache.local' => '\OC\Memcache\APCu',
我新增在這裡:
既然要修改,就順便修改其他設定一下,剛才用IP安裝,所以設定檔預設只給IP連線,這樣很不方便,
修改如下,將trust domain信任網域加入你的網址,前面用數字隔開,可以一直加下去:
範例中我加入了我自己的兩個網址,這樣不論是網址還是IP都能連到owncloud,存檔後離開,reload一下網頁。
再次進入一般看一下錯誤訊息,cache的問題就已經消失了:
再來處理這個問題:
這個不是owncloud的問題,而是 httpd網頁伺服器設定的問題,所以要進行修改,
先進入httpd的設定目錄:
cd /etc/httpd/conf.d
先將wellcome.conf更名或是刪除掉。
然後新增一個文字檔
touch vhost.conf
修改內容:
<VirtualHost *:443>
ServerName hostname或是IP
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
紅字部份是要修改的地方,填入你的主機IP或是名稱,有不同名稱可以如下例:
<VirtualHost *:443>
ServerName 10.0.0.3
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
<VirtualHost *:443>
ServerName bell.idv.tw
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
<VirtualHost *:443>
ServerName www.bell.idv.tw
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
這樣不管用哪個網站名稱或是IP進入owncloud都不會有錯誤訊息,可以依照情況自行修改。
改好後重新啟動網頁伺服器讓設定生效:
systemctl restart httpd
之後這個錯誤就會消失了。
再來解決這個問題:
這其實不是httpd 網站伺服器的問題,往這個方向花了很多多餘的力氣。
其實這問題是在安裝時就發生的:
預設的使用者家目錄的路徑如上,是在 /var/www/html/owncloud/data 這個地方,
需要在安裝時就把路徑改掉,我自己的設定是放到家目錄 /home/owncloud 底下,
這個目錄記得要把擁有者與群組改成apache,這樣 httpd網頁伺服器才有權限去存取檔案。
接著是這個問題:
這個問題是owncloud希望能定時跑一下處理腳本,解決一些問題,預設是用ajax,但owncloud希望能用cron的方式。
輸入以下指令:crontab -u apache -e ,進入編輯模式,按 I 進入insert模式,
輸入以下資料:* * * * * / usr / bin / php -f /var/www/html/owncloud/cron.php
輸入完畢按冒號 : 進入指令模式,輸入 wq 按enter鍵即可存檔離開。
檢查是否正確啟動cron定時器,輸入指令:crontab -u apache -l
正確畫面如下:
檔案與空間限制
owncloud有預設限制上傳檔案大小與使用者空間限制,設定檔位於 owncloud 安裝目錄下的隱藏檔:
.user.ini
這三個項目:
upload_max_filesize 513M
post_max_size 513M
memory_limit 512M
這三個項目分別限制上傳檔案大小與貼文大小及使用記憶體限制。
如果你是自用,可以改為0M,就是不受限制。或者依照你的需求調整,
記憶體限制則視你的主機實際大小調整,我是設成2048M,也就是2GB,一般應用很夠用了。