【免費註冊】 【會員登入】 【個人資料】 【會員列表】 【論壇幫助】 【論壇搜尋】 【登出論壇】

∮Ω奧米加空間∮
∮Ω奧米加空間∮»技術文件區»【原創】手動搭建 lnmp 架設 nextcloud 掛載 Google Drive 分享給成員使用

訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆
作者 主題    
dc
管理員



性別:男
來自:瓦肯星
發表總數:6553
註冊時間:2002-05-07 16:32
(第 1 篇) 【原創】手動搭建 lnmp 架設 nextcloud 掛載 Google Drive 分享給成員使用

寫好有一段時間了,但是實際使用起來有點多此一舉,就當作是筆記吧。

參考資料
lnmp 一鍵安裝
https://lnmp.org/
VPS安装Nextcloud、共享Google Drive、BT下载
https://zhujiwiki.com/11133.html
ownCloud nginx index.php/apps/files/ 错误
https://testsmirk.com/2016/10/11/owncloud-nginx-index-php-apps-files-cuo-wu/

安裝 Centos 的步驟應該可以省略,所以從下載安裝 lnmp 開始

1.下載一鍵安裝包開始安裝
yum install -y wget && wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz && tar zxf lnmp1.4-full.tar.gz && cd lnmp1.4-full && ./install.sh lnmp
1-1 請選擇所需安裝的資料庫版本,並且設定 root 密碼,其他選項用預設值即可。
1-2 請選擇所需安裝的 PHP 版本。
1-3 可選擇是否安裝記憶體最佳化程式,預設為不安裝。
都選擇完畢後按下任意鍵開始進行一鍵安裝

安裝完成後會秀一些基本資訊
lnmp status manage: lnmp {start|stop|reload|restart|kill|status}
phpMyAdmin: http://IP/phpmyadmin/ (http://ip/phpmyadmin/)
phpinfo: http://IP/phpinfo.php (http://ip/phpinfo.php)
Prober: http://IP/p.php (http://ip/p.php)
Add VirtualHost: lnmp vhost add
Default directory: /home/wwwroot/default
MySQL/MariaDB root password: ****
Install lnmp takes 30 minutes.
Install lnmp V1.4 completed! enjoy it.

2.下載 Nextcloud 來安裝使用
cd /home/wwwroot/default && wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip && unzip nextcloud-12.0.3.zip && chown -R www.www /home/wwwroot/default/nextcloud
2-1 連線 http://IP/nextcloud 建立管理員帳密、設定 data 資料夾、使用DB管理資料輸入相關資訊都完成後,按下 Finish setup
2-2 第一次跳轉 http://IP/nextcloud/index.php/apps/files/ 會出現 “404 Not Found nginx” 的原因是要設定一下 nginx 的設定檔。
vi /usr/local/nginx/conf/nginx.conf
到 server 的選項
將 include enable-php.conf; 加上 # 改成註解,下一行新增 include enable-php-pathinfo.conf;



儲存完畢後下指令重新讀取設定值
nginx -s reload
重新連線 http://IP/nextcloud/index.php/apps/files/ 可以看到正常的網頁了
2-3 開啟 External storage support 外掛,頁面右上角齒輪 → Apps → Disabled apps
http://IP/nextcloud/index.php/settings/apps?category=disabled
將 External storage support 外掛按下 Enable 輸入管理員密碼啟用
2-4 設定 External storages 外掛,頁面右上角齒輪 → Admin → External storages
http://IP/nextcloud/index.php/settings/admin/externalstorages



可以看到我們需要 Google Drive 的 OAuth2 認證的 Client ID 和 Client secret 來做驗證~先跳到 3 再回來吧!

3.在 Google API 建立 Nextcloud 外掛 External storage 使用的認證資料
首先連線到 https://console.developers.google.com/apis



第一次要先建立專案,先點一下右上角的人頭確認目前登入的帳號是你要分享 Google Drive 的帳號,然後按下
建立專案 → 建立 → 專案名稱請自取 → 建立
建立專案完成後會回到 API和服務的資訊主頁 → 選擇 Google Drive API → 啟用
會連到 Google Drive API 頁面接下來按下 建立憑證



在新增憑證的頁面
憑證類型選擇 “Google Drive API”
使用設定選 "其他使用者介面(例如 Windows、CLI工具)
存取資料選 "應用程式資料”
都選擇完畢後按下 "我需要那些憑證?"



填入所需資訊 服務帳戶名稱與角色,金鑰類型選 JSON 按下 繼續
會下載備份 已建立的服務帳戶和金鑰 的 JSON 檔案,下載完按下關閉即可



接下來選擇 OAuth 同意畫面



電子郵件地址:預設為你目前登入的使用者
向使用者顯示的產品名稱:在授權同意頁面會顯示的名稱
首頁網址:可不填
產品標誌網址:可不填
隱私權政策網址:這裡暫填 2-4 設定外掛的網址,後面必須使用網域對應不能使用 IP,所以必須指定 DNS 的 A 紀錄
http://網域/nextcloud/index.php/settings/admin/externalstorages
服務條款網址:可不填
最後按下儲存

再來 憑證 → 建立憑證 → OAuth 用戶端 ID



建立用戶端 ID
應用程式類型:網路應用程式
名稱:自取
已授權的重新導向 URI:這邊必須填網域的名稱例如我寫教學時使用的DNS如下
http://testgd.omega.idv.tw/nextcloud/index.php/settings/admin/externalstorages
在使用時請改成自己的網域
然後按下 建立



會生成 OAuth 用戶端的 ID 與密鑰



然後回到 2-4 繼續未完成的步驟
2-4 設定 External storages 外掛,頁面右上角齒輪 → Admin → External storages
因為要跟 Google API 連動所以不能再使用 IP 必須使用網域來連,不然會出現 Error 400
http://網域/nextcloud/index.php/settings/admin/externalstorages
Client ID:填入 用戶端 ID
Client seecret:填入 用戶端密鑰
按下 Grant access
如果有多個 Google 帳號,請選擇我們建立 Google Drive API 的帳號,按下 允許

之後就會看到變成綠燈已掛載的狀態,在 Available for 的地方可以指定使用者或群組來給予使用 GoogleDrive 的權限,按下右邊齒輪 → 勾選 Enable sharing → 按 右邊 勾勾 Save 設定值



之後就會看到變成綠燈已掛載的狀態,在 Available for 的地方可以指定使用者或群組來給予使用 GoogleDrive 的權限,按下右邊齒輪 → 勾選 Enable sharing → 按 右邊 勾勾 Save 設定值



回到主頁可以看到已掛載資料夾 GoogleDrive



4.建立新成員並且分享某個資料夾給該成員使用
4-1 先到右上角的齒輪 → Users →  我們先建立一個 user group 然後建立 test 這個使用者
4-2 建立分享的資料夾給 test , GoogleDrive → + → New folder → for test → 點該新建的資料夾 → 點分享的按鈕 → 會出現右側的內容頁 → 在 Sharing 填入 我們建立的使用者 test → 點 ... 可以在細部設定權限




4-3 登出我們使用的 admin 帳號改登入 test 這個帳號,可以看到多了分享的 for test 資料夾,這個是直接連到 Google Drive 的儲存空間。



照這個方式來建立使用者分享的話,就可以達到使用 nextcloud 來控管多人共用一個 Google Drive 。

再來是後續想知道用這種方式上傳下載到 Google Drive 的話,流量的方式是怎麼走的呢?安裝軟體來看
開啟 EPEL 倉庫 安裝 nload 查看網路流量
cd /tmp
wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install -y nload
nload

這時候可以看到流量,我們上傳檔案到 Google Drive 資料夾時檔案流量的走向是
Files檔案 → 上傳到 nextcloud 主機 → 主機暫存後再上傳到 Google Drive

從 Google Drive 資料夾下載資料時檔案流量的走向是
Google Drive 資料夾 → 下載到 nextcloud 主機暫存 → 傳送到使用者端

在刪除檔案的時候會由 Google Drive 下載檔案到本地端的 Deleted files 資料夾,然後 Google Drive 的垃圾桶也會有刪除的檔案。在 Deleted files 資料夾裡還原的話檔案會再上傳到原來的資料夾裡。






Your mind to my mind,

your thought to my thought
發表時間:2018-03-12 12:26
dc的個人資料 傳送郵件給dc dc的個人首頁 dc發表的所有文章 送出悄悄話給dc IP:203.*.*.* 編輯  引言回覆 
所有時間均為GMT+8, 現在是2018-05-21 21:09    
訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆

快速回覆
主題 ( 回覆文章可以不輸入標題 )
URLs自動分析
有回覆時郵件通知
禁用表情符號
使用簽名

<聯絡我們 - OMEGA - 控制面板>

Powered by Centaur & Joksky & DC, ver 2003.08.14
Copyright ©2002-2008 PHPY.COM


頁面生成時間:0.0041909217834473