ownCloud簡介

ownCloud(官網(wǎng))是一款開源的私有云框架,可以通過它實現(xiàn)個人網(wǎng)盤的功能,如果擁有一個性能不錯的VPS,那么就可以擺脫奇慢無比的百度云等網(wǎng)盤啦!我花了大約一天的時間總算搭好了ownCloud

用途

  • 如果搭在VPS上,可以用作個人的網(wǎng)盤使用。ownCloud提供了各個平臺的文件同步客戶端,因此搭建好ownCloud之后即可使用客戶端來同步、上傳、下載文件,十分方便。

  • 可以搭在性能較好的智能路由器上,連接硬盤,這樣路由器就能作為個人的NAS存儲云使用。ownCoud的文檔上說明了最低配置要求需要128MB的內(nèi)存(推薦512MB),這對路由器的性能提出了一定需求,請注意。

推薦配置

官方文檔提供了推薦的配置要求

  • 操作系統(tǒng):Ubuntu 16.04 LTS.

  • Web服務(wù)器:Apache 2.4.

  • 數(shù)據(jù)庫:MySQL/MariaDB 并使用 InnoDB storage engine 

  • PHP 7

安裝

安裝準備

在安裝之前,你需要準備的內(nèi)容有:

  • 一臺滿足最低配置要求的Linux主機,可以是云主機、路由器、服務(wù)器。

  • 主機可以從外網(wǎng)通過ip地址或者域名訪問從外網(wǎng)通過ip地址或者域名訪問。

  • 由于主機將會作為網(wǎng)盤使用,牽涉到大量的文件傳輸,因此帶寬和硬盤都不能太小。能接近常見使用場景的最高帶寬和硬盤大小為最佳。在本例中,我的云主機帶寬只有1MB,硬盤20GB。因此打開網(wǎng)頁時能明顯感到延遲。如果使用路由器搭建私有云,那么帶寬一般不會有問題。請確保硬盤空間和內(nèi)存大小足夠,如路由器支持USB,可外接硬盤,內(nèi)存大小請務(wù)必滿足ownCloud的最低要求(見上)。

開始安裝

登錄你的主機,并開始安裝ownCloud。安裝的方法可以參考官方文檔。下面我會以centOS7.2為例進行介紹。

數(shù)據(jù)庫安裝

ownCloud支持SQlite數(shù)據(jù)庫,因此可以選擇不安裝額外的數(shù)據(jù)庫系統(tǒng)。然而SQlite不適用于大型的系統(tǒng),因此如果你使用配置足夠的云主機,建議額外安裝數(shù)據(jù)庫,如果使用路由器,可以選擇不安裝數(shù)據(jù)庫系統(tǒng)。

ownCloud支持的數(shù)據(jù)庫有MySQL和MariaDB,下面以MySQL為例。

首先,centOS支持yum包管理器,可以很方便的安裝各種組件。但MySQL不在yum的默認源當中,因此需要添加這項源。

可以訪問這里,查看完整的安裝過程。由于版本的更新,詳細步驟可能有所不同,一切請以官方文檔為準。MySQL5.7的安裝過程如下:

# 下載源wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm# 添加源sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm
# 安裝MySQLsudo yum install mysql-community-server

請保持流暢的網(wǎng)絡(luò)訪問。至此MySQL安裝完畢。

接下來,啟動并查看MySQL的安裝狀態(tài)

# 啟動mysqlsudo service mysqld start
#查看mysql狀態(tài)sudo service mysqld status

成功運行的結(jié)果如下,(注意由于不同的系統(tǒng),命令顯示可能不同)

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

接下來,就可以登錄mysql并修改root密碼了。如果你是ubuntu系統(tǒng),可能安裝mysql的過程中系統(tǒng)會要求你設(shè)置root密碼,那么這些步驟可以跳過。對于centOS而言,系統(tǒng)在第一次啟動mysql時自動生成了一個隨機的密碼,因此最好修改它。網(wǎng)上提供了很多修改root密碼的方式,但最好還是參考官方文檔。使用如下命令:

# 查看mysql密碼sudo grep 'temporary password' /var/log/mysqld.log
# 登錄mysql
mysql -uroot -p 
# 接下來輸入root密碼

對于centOS而言,mysql在第一次啟動時創(chuàng)建了臨時的密碼,并寫入了mysqld.log日志,因此通過grep命令找到臨時密碼的值,并使用這個值登錄系統(tǒng)。

接下來需要修改root密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

其中'MyNewPass4!'位置改為你自己的root密碼。官方文檔中指出,密碼需要至少8位,并且包含小寫、大寫、數(shù)字、符號。

至此,mysql的安裝就完成了。你可以使用任意的mysql客戶端如navicat、workbench等測試登錄,你可能還需要修改root用戶的allow host,這些內(nèi)容請自行搜索解決,再次不再贅述。

web appche的安裝

appche web用于網(wǎng)頁服務(wù)器的運行,在centOS下,我們只需要通過以下命令即可安裝。

yum install httpd

通過以下命令來啟動或關(guān)閉httpd服務(wù)器

# 啟動apache服務(wù)
service httpd start
# 關(guān)閉
service httpd stop
# 重啟
service httpd restart
# 查看狀態(tài)
service httpd status

啟動appche服務(wù)器,接下來打開瀏覽器,從外網(wǎng)訪問你的主機地址,如果你看到了apache的網(wǎng)頁,就表明配置成功啦。

在centOS中,默認的網(wǎng)頁根目錄位于/var/www/html下,這個位置隨著系統(tǒng)的不同可能有所不同,請注意。

安裝ownCloud

安裝ownCloud的過程也很簡單,方法如下

# 下載wget https://download.owncloud.org/community/owncloud-9.1.4.zip# 解壓unzip https://download.owncloud.org/community/owncloud-9.1.4.zip# 復制到網(wǎng)頁根目錄cp -r owncloud/* /var/www/html

注意代碼中的下載地址,可能隨著版本的更新而失效,你可以在這里找到最新的下載地址。

通過以上三步,就能把ownCloud放到正確的目錄了。這時候你可以再度打開瀏覽器輸入地址查看,但是你可能只能看到一堆源代碼,這是因為ownCloud基于php開發(fā),但我們還沒有安裝PHP的運行環(huán)境。

安裝PHP及相關(guān)組件

接下來我們需要安裝PHP及其他的PHP組件。ownCloud官方建議安裝5.6+以上的PHP版本,這也就是說如果我們使用

1
yum install php

yum只會為我們安裝5.4版本的php。要安裝php5.6,需要首先添加一些源。你可以在這里查看更詳細的教程。

# 添加源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm# 安裝PHP5.6yum install php56w php56w-opcache

請注意,如果你使用Ubuntu安裝,那么官方文檔里提供了一種非常簡單的方法,你可以參看這里。

除了php本身之外,你還需要安裝其他php的各類組件。

yum install php56w-cli php56w-common php56w-fpm php56w-gd php56w-mbstring php56w-xml

可以在這里找到所有需要的組件。

此外,還需要安裝數(shù)據(jù)庫連接驅(qū)動

# php-mysqlyum install php56w-mysql
# 以下可選yum install php56w-pecl-apcu

apcu是ownCloud可選安裝的local cache ,用于增強性能。

php組件相關(guān)安裝列表如下

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

你可以使用如下命令查看所有安裝的php組件

yum list installed | grep "php"

最后重啟apache服務(wù)器。

service httpd restart

從瀏覽器打開主機地址,看看是否能夠訪問了呢。

 

配置ownCloud簡介

至此,ownCloud安裝完畢。接下來就是ownCloud的配置了,受篇幅所限,下面不再詳述,僅提供相關(guān)的鏈接供參考。

初次設(shè)置

接下來打開主機地址,如果看到了ownCloud的界面即安裝完成,如果提示缺少組件,請對照上文。接下來輸入管理員賬號和密碼,并選擇mysql作為數(shù)據(jù)庫,填入mysql連接所需的用戶名、密碼、地址即可。

第一次配置時,需要輸入data的存放位置,這里建議不要放在網(wǎng)站目錄中,請將data文件夾放在其他目錄。如/data/ownCloudData/位置,以防產(chǎn)生權(quán)限相關(guān)的安全問題。

如果提示缺少權(quán)限的問題,請參考這個文檔或者這個文檔的內(nèi)容。

另外,如果將data文件夾放在了非網(wǎng)頁目錄,需要再次使用chown命令修改該文件夾的命令,參考這份代碼。

輸入完必要信息之后,就能順利登錄ownCloud并正常使用啦!恭喜!

啟用SSL

在chrome全面開始封殺HTTP之時,再繼續(xù)用HTTP真有點說不過去啦,是時候?qū)⒕W(wǎng)站轉(zhuǎn)移到HTTPS了。要使用HTTPS,你需要有一張SSL證書,可信的SSL證書大都需要付費。免費的SSL證書有兩種辦法可以獲得

  1. 使用自簽名的SSL證書

  2. StarSSL機構(gòu)申請證書

下面是相關(guān)的鏈接

更多設(shè)置

更多配置包括配置本地緩存、建立郵箱服務(wù)等,下面是一些相關(guān)的鏈接

疑難解答

在搭建過程中,我碰到了形形色色的各式各樣問題,如果你也如此,可以首先查看httpd中的logs獲取錯誤日志來判斷問題所在,centOS下logs的目錄位于

cd /etc/httpd/logs/ls

打開文件名包含error的日志,你可以看到各種詳細的PHP發(fā)生的錯誤日志,并據(jù)此判斷問題所在。

下面是我碰到過的問題,僅供參考。

  • 權(quán)限相關(guān)

    • ownCloud缺少權(quán)限讀取配置文件

    • ownCloud報.user.ini , .htaccess文件缺失

    • 上傳文件時,ownCloud沒有權(quán)限寫入文件暫存區(qū)

    • 上傳文件時,ownCloud沒有權(quán)限缺少寫入data目錄的權(quán)限

    • 解決:使用chown修改權(quán)限

  • 組件相關(guān)

    • 打開ownCloud時php報PDO錯誤

    • 解決:安裝php56w-mysql

  • 郵件服務(wù)

    • 解決:修復PHP語法錯誤

  • 網(wǎng)頁

    • 報SSL證書不受信任

    • 解決:沒辦法,要不花錢買付費證書吧

友情鏈接

 

最后,祝大家都能搭建出屬于自己的私有云!我的私有云

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

分類: [Tech]技術(shù)分享