[Website] 雲端硬碟 – 安裝 OwnCloud
ownCloud 是一個市面上開源的雲端硬碟的解決方案,本篇會先介紹如何在 docker 上快速架起一個 ownCloud 的服務,再來介紹如何安裝在 Linux 的主機上讓檔案可以跟 Linux 本機共用,由於有同步伺服器與筆記型電腦的需求,所以研究這兩個辦法,以下列出彼此的優缺點,綜合以下的優缺點我們最後選擇的是方法二:
部署 ownCloud 方法 |
優點 |
缺點 |
方法一: |
1.可以迅速部署 |
1.難與 Linux 檔案系統整合 |
方法二:安裝在本機的 |
1. 易整合 Linux 檔案系統 |
1. 各種 PHP Server 的問題 |
方法一:使用 docker 安裝 OwnCloud:
本篇主要參考的是
執行起來其實很簡單,只要 Linux 的主機上有 docker 與 docker-compose 的環境安裝好,依序執行以下指令就可以了,
首先創造資料夾
mkdir owncloud-docker-server
cd owncloud-docker-server
接下來下載關鍵的 docker-compose.xml 檔案
wget https://raw.githubusercontent.com/owncloud/docs/master/modules/admin_manual/examples/installation/docker/docker-compose.yml
並且準備一個 .env 檔,包含以下內容:
OWNCLOUD_VERSION=10.3
OWNCLOUD_DOMAIN=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=8080
完成以上步驟在執行以下指令就可以在 docker 上啟動 ownCloud 了
docker-compose up -d
Starting owncloud-docker-server_redis_1 ... done
Starting owncloud-docker-server_db_1 ... done
Starting owncloud-docker-server_owncloud_1 ... done
此時執行以下指令可以顯示出正在運行的容器內容。
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
98066e047012 owncloud/server:10.3 "/usr/bin/entrypoint…" 5 hours ago Up 39 seconds (healthy) 0.0.0.0:8080->8080/tcp owncloud-docker-server_owncloud_1
2f559e5ca249 webhippie/mariadb:latest "/usr/bin/entrypoint…" 26 hours ago Up 40 seconds (healthy) 3306/tcp owncloud-docker-server_db_1
320de8d0c0f2 webhippie/redis:latest "/usr/bin/entrypoint…" 26 hours ago Up 40 seconds (healthy) 6379/tcp owncloud-docker-server_redis_1
方法二:安裝 OwnCloud 在本機的 PHP Server 上
預設要安裝 ownCloud 到 /home/xxx/public_html/owncloud 的資料夾中,一旦安裝完之後,所有檔案會在 /home/xxx/public_html/owncloud/data 中如以下方式呈現:
drwxr-xr-x 6 xxx xxx 4096 Nov 15 23:28 admin
drwxr-xr-x 2 xxx xxx 4096 Nov 15 00:01 avatars
drwxr-xr-x 2 xxx xxx 4096 Nov 15 00:20 files_external
-rwxr-xr-x 1 xxx xxx 0 Nov 15 00:01 index.html
-rwxr-xr-x 1 xxx xxx 12865536 Nov 16 08:24 owncloud.db
-rwxr-xr-x 1 xxx xxx 6104 Nov 16 08:16 owncloud.log
所有檔案將可以直接在 Linux 上面被使用。另外安裝方式也不會太複雜
1.下載並解壓縮檔案
cd /home/xxx/public_html
wget https://download.owncloud.org/community/owncloud-10.3.1.zip
unzip owncloud-10.3.1.zip
2.前往 https://YourURL/owncloud,你會看到以下 owncloud 的初始化畫面,
3.準備資料庫 (本篇使用 MariaDB) 進入資料庫新增 owncloud 資料庫與其相對應的使用者 ownclouduser 及其密碼:
MariaDB [(none)]> create database owncloud default character set utf8 default collate utf8_unicode_ci;
MariaDB [(none)]> grant all on owncloud.* to ownclouduser@localhost identified by 'password' with grant option;
4.設定使用者名稱與密碼並按下 (儲存空間與資料庫的按鈕) 如下圖所示:
5, 按下完成設定則大致上完成
遇到問題:
登入之後,發生無法正常顯示檔案的問題,檔案頁一直呈現載入的小圈圈,雖然可以設定使用者等等的東西,但是無法正常使用,前往 log 頁面查看,發現以下錯誤訊息:
[xxx xxx 15 21:39:55.466470 2019] [authz_core:error] [pid 28353:tid 140061466539776] AH01630: client denied by server configuration: /home/xxx/public_html/owncloud/remote.php
解決方法:
前往 /usr/local/apache/conf.d/vhosts 更改相對應的 .conf 檔案(備註:一併更改 SSL.conf 的檔案),將
<Directory "/home/xxx/public_html/owncloud">
Options -Indexes -FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
改為
<Directory "/home/xxx/public_html/owncloud">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
備註1: 記得要重新啟動 apache (systemctl restart apache)
備註2: 另外要關注自己的 apache 版本如果是 apache 2.4 以上要改成以下設定參考:
<Directory "/home/xxx/public_html/owncloud">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
One thought on “[Website] 雲端硬碟 – 安裝 OwnCloud”