摘要:文章主要講了為什么要搭建私有網盤,以及如何用搭建。一石激起千層浪,關于如何選擇網盤,如何應對網盤關閉的討論一下子又變得此起彼伏。搭建一個只屬于自己的網盤所以我決定搭建一個只屬于自己的網盤。搭建方法首先你得先有一個自己的。。
文章主要講了為什么要搭建私有網盤,以及如何用 docker + ownCloud 搭建。原文地址:http://geekplux.com/2016/10/2...
前兩天,360 云盤宣布將停止個人服務。一石激起千層浪,關于如何選擇網盤,如何應對網盤關閉的討論一下子又變得此起彼伏。沒辦法,目前的現狀是,網盤很難有大的盈利空間,還面對嚴苛的內容審查和隱私保護,雖然于用戶來說提供了便利,但于公司來說實在是一件出力不討好的事情。
之前的網盤方案國外的網盤我一直是三家一起用,分別是 Dropbox 存儲代碼和一些重要或私密文件;Google Drive 存儲一些大文件和私密文件;OneDrive 存儲一些電子書(同步太慢了)。國內的網盤我之前只用兩家,一是堅果云,放一些個人常用的小文件,包括一些文檔和軟件配置文件;另一個是百毒云,放一些各處轉存來的大文件、自己的照片和學習資料,一方面因其空間大,另一方面因其同步流暢。然而,百毒云前段時間把我的網盤全面封掉了,丟失了很多大學時的照片(其它文件要不不重要,要不有備份),申訴無果,實屬無奈。
搭建一個只屬于自己的網盤所以我決定搭建一個只屬于自己的網盤。考察了幾種方案(包括買 RAID 或 NAS 等),發現已有人在這方面做了努力,提供了像 Seafile 和 ownCloud 這樣的產品。接下來對比了兩個軟件,我決定選擇用 ownCloud,主要出于以下幾點考慮:
可以設置是否加密,保證數據安全。
ownCloud 可以用于同步日程、聯系人、瀏覽器書簽等,最重要的是密碼管理,這對于目前有無數密碼需要記的我們非常實用。ownCloud 還有個應用商店,大家可以自行發現有用的應用。
ownCloud 提供網頁和各種設備、系統的客戶端(Windows、Mac、Linux、iOS、Android皆有)進行訪問你的網盤。
ownCloud 能將外部存儲(如 FTP、WebDAV、Amazon S3,甚至 Dropbox 和 Google Drive)的文件掛載到 ownCloud 上,實現無縫存儲和分享。
文件支持版本管理,還有回收站,所以不必擔心誤刪。
搭建方法首先你得先有一個自己的 VPS。。沒錯,要不然你的數據往哪放,ownCloud 在哪運行。
有了 VPS 之后,就可以按照官網教程一步一步安裝搭建了。然而,步驟相當繁瑣,你得先安裝 PHP、MySQL、 Apache 等等,所以我們要祭出神器 —— docker(這里就不介紹 docker 的用法了,以下內容默認大家對 docker 的基本使用有所了解)。這樣一來,之前冗長的步驟,就化成了三步:
安裝 docker、docker-compose,下載 ownCloud 的 image
配置 docker-compose.yml
配置完畢,啟動,打開 ownCloud 主界面配置數據庫、管理員等
使用 docker下面是對上面三步的詳細講解,嫌太長的話可以不看。只需要把下面用到的兩個 docker images (owncloud、postgres)下載好,安裝 docker-compose 并拷貝 docker-compose.yml 文件到你想要存儲 ownCloud 數據的文件夾,然后運行 docker-compose up 就好,一氣呵成。
安裝好 docker 之后,直接下載 owncloud image 運行
docker run --name owncloud -p 80:80 owncloud
其實就可以看到 ownCloud 已經運行起來了,訪問你的 VPS 地址,就可以看到 ownCloud 的界面。
但這時的 ownCloud 還沒有數據庫,所以我們還需要用 docker --link 來添加一個數據庫存儲 ownCloud 的數據,這里用到了 postgres 這個 image(數據庫你可以自己定,不一定要用 postgreSQL)。
docker run --name owncloud-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres docker run --rm --link owncloud-postgres:owncloud-db --name owncloud -p 80:80 owncloud
第一條命令會啟動一個 postgreSQL 數據庫,默認的用戶是 postgres,密碼設為了 mysecretpassword,host 是 owncloud-db。
但這時我們運行的 docker container 一旦刪掉,我們的數據就沒有了,所以我們需要用 docker 中的 volumes (或 docker data volumes)來把 ownCloud 的數據持久化。
配置 docker compose這樣一來,我們得啟動兩個 container 作為 data-only container,然后再啟動 owncloud 和 postgres 關聯這兩個 data-only container,非常繁雜,幸虧我們有 docker-compose 幫忙。先安裝它:
pip install docker-compose
然后配置 docker-compose.yml,下面配置中的 volumes 就是在配置數據持久化的目錄結構。由于我把 docker-compose.yml 存在了VPS 的~/owncloud文件夾下,所以底下 volumes 配置中,冒號前面的宿主目錄是那樣寫的,而冒號后面的是 container 中的目錄,具體:
/etc/postgresql 存儲數據庫的配置
/var/lib/postgresql 存儲數據庫中的數據
/var/www/html/app 存儲 ownCloud APP 的數據
/var/www/html/data 存儲 ownCloud 的數據
/var/www/html/config 存儲 ownCloud 的配置
# Composition of the containers postgres-data: image: postgres command: /bin/true volumes: - ~/owncloud/etc/postgresql:/etc/postgresql - ~/owncloud/var/lib/postgresql:/var/lib/postgresql owncloud-data: image: owncloud # This is a data container, so we want to exit as soon as the container is created # BUT we will have to fix permissions issues first (33 is the ID of the www-data user) command: /bin/bash -c "/bin/chown -R 33 /var/www/html/data && /bin/chown -R 33 /var/www/html/config" volumes: - ~/owncloud/var/www/html/apps:/var/www/html/apps - ~/owncloud/var/www/html/data:/var/www/html/data - ~/owncloud/var/www/html/config:/var/www/html/config owncloud: image: owncloud ports: - 8080:80 volumes_from: - owncloud-data links: - postgres:postgres hostname: cloud domainname: cloud.example.org # Change to the hostname you will use postgres: image: postgres environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=mypostgrespassword volumes_from: - postgres-data
把 docker-compose.yml 配置好之后,只需運行
docker-compose up
就可以把 ownCloud 運行起來了,上一步中的很多操作,這里一步就搞定了。不過切記!owncloud-data和postgres-data兩個 container 和 volume 千萬不要刪。刪之前請備份。
ownCloud 配置訪問你 VPS 的 8080 端口(剛才配置文件里寫了)打開 ownCloud 主頁,需要做兩件事
輸入管理員的賬號和密碼
選擇數據庫用哪個,且輸入數據庫配置,這里對照我們剛才 docker-compose 里的寫的輸入就好
點擊完成,一切 OK,進入文件頁面盡情探索吧!
參考&延伸閱讀Setting up an ownCloud Server in a Docker container using Docker Compose
使用和搭建ownCloud私有云要點
本作品采用知識共享 署名-非商業性使用-禁止演繹 4.0 國際 許可協議進行許可。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26757.html
摘要:曾今誰都有過迷茫期,下面是我開始開發中,不斷改變的代碼組織方式。 曾今 誰都有過迷茫期,下面是我開始PHP開發中,不斷改變的代碼組織方式。 初期:所有代碼一股腦控制器controller 曾今只是簡單的理解MVC 中期:業務代碼抽象一部分到模型層model 開始覺得model層是否該做點什么了 后期:業務代碼控制器,模型層只寫db的curd方法 復雜的業務代碼使contro...
一、Nextcloud簡介Nextcloud是一款開源免費的私有云存儲網盤項目,可以讓你快速便捷地搭建一套屬于自己或團隊的云同步網盤,從而實現跨平臺跨設備文件同步、共享、版本控制、團隊協作等功能。它的客戶端覆蓋了Windows、Mac、Android、iOS、Linux 等各種平臺,也提供了網頁端以及 WebDAV接口,所以你幾乎可以在各種設備上方便地訪問你的云盤。官網地址:https://nex...
摘要:它的客戶端覆蓋了等各種平臺,也提供了網頁端以及接口,所以你幾乎可以在各種設備上方便地訪問你的云盤。【簡介】 1.Azure Virtual machines是Azure 提供的多種可縮放按需分配計算資源之一,Nextcloud是一款開源免費的私有云存儲網盤項目,可以讓你快速便捷地搭建一套屬于自己或團隊的云同步網盤,從而實現跨平臺跨設備文件同步、共享、版本控制、團隊協作等功能。它的客...
摘要:本文將介紹在云廠商購買服務器之后,為了確保服務器的安全,開發者應該要做的一些配置。新建云服務器實例在開始配置之前,我們先新建一個云服務器實例。 推薦理由: 許多個人開發者在云服務器上搭建網站時,喜歡使用 Ubuntu 操作系統;那么在云廠商購買 了Ubuntu 服務器之后,如何確保服務器的安全,以及如何正確配置它,我覺得這點很關鍵;而我今天推薦的這篇文章,就介紹了在購買 Ubuntu ...
閱讀 2026·2021-11-19 11:37
閱讀 714·2021-11-11 16:54
閱讀 1161·2021-11-02 14:44
閱讀 3048·2021-09-02 15:40
閱讀 2368·2019-08-30 15:44
閱讀 951·2019-08-29 11:17
閱讀 1058·2019-08-26 14:06
閱讀 1552·2019-08-26 13:47