歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 自行搭建私有雲ownCloud,啟用SSL,其他配置,owncloudssl

自行搭建私有雲ownCloud,啟用SSL,其他配置,owncloudssl

日期:2017/3/3 17:25:11   编辑:學習Linux

自行搭建私有雲ownCloud,啟用SSL,其他配置,owncloudssl


熱度5 評論 36 www.BkJia.Com 網友分享於: 2017-02-26 04:02:30 浏覽數40541次

自行搭建私有雲ownCloud,啟用SSL,其他配置,owncloudssl


ownCloud簡介

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

用途

  • 如果搭在VPS上,可以用作個人的網盤使用。ownCloud提供了各個平台的文件同步客戶端,因此搭建好ownCloud之後即可使用客戶端來同步、上傳、下載文件,十分方便。
  • 可以搭在性能較好的智能路由器上,連接硬盤,這樣路由器就能作為個人的NAS存儲雲使用。ownCoud的文檔上說明了最低配置要求需要128MB的內存(推薦512MB),這對路由器的性能提出了一定需求,請注意。

推薦配置

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

  • 操作系統:Ubuntu 16.04 LTS.
  • Web服務器:Apache 2.4.
  • 數據庫:MySQL/MariaDB 並使用 InnoDB storage engine
  • PHP 7

安裝

安裝准備

在安裝之前,你需要准備的內容有:

  • 一台滿足最低配置要求的Linux主機,可以是雲主機、路由器、服務器。
  • 主機可以從外網通過ip地址或者域名訪問從外網通過ip地址或者域名訪問。
  • 由於主機將會作為網盤使用,牽涉到大量的文件傳輸,因此帶寬和硬盤都不能太小。能接近常見使用場景的最高帶寬和硬盤大小為最佳。在本例中,我的雲主機帶寬只有1MB,硬盤20GB。因此打開網頁時能明顯感到延遲。如果使用路由器搭建私有雲,那麼帶寬一般不會有問題。請確保硬盤空間和內存大小足夠,如路由器支持USB,可外接硬盤,內存大小請務必滿足ownCloud的最低要求(見上)。

開始安裝

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

數據庫安裝

ownCloud支持SQlite數據庫,因此可以選擇不安裝額外的數據庫系統。然而SQlite不適用於大型的系統,因此如果你使用配置足夠的雲主機,建議額外安裝數據庫,如果使用路由器,可以選擇不安裝數據庫系統。

ownCloud支持的數據庫有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
# 安裝MySQL
sudo yum install mysql-community-server

請保持流暢的網絡訪問。至此MySQL安裝完畢。

接下來,啟動並查看MySQL的安裝狀態

# 啟動mysql
sudo service mysqld start
#查看mysql狀態
sudo service mysqld status

成功運行的結果如下,(注意由於不同的系統,命令顯示可能不同)

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

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

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

接下來需要修改root密碼

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

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

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

web appche的安裝

appche web用於網頁服務器的運行,在centOS下,我們只需要通過以下命令即可安裝。

yum install httpd

通過以下命令來啟動或關閉httpd服務器

# 啟動apache服務
service httpd start
# 關閉
service httpd stop
# 重啟
service httpd restart
# 查看狀態
service httpd status

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

在centOS中,默認的網頁根目錄位於/var/www/html下,這個位置隨著系統的不同可能有所不同,請注意。

安裝ownCloud

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

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

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

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

安裝PHP及相關組件

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

yum install php

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

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

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

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

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

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

此外,還需要安裝數據庫連接驅動

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

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

php組件相關安裝列表如下

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

yum list installed | grep "php"

最後重啟apache服務器。

service httpd restart

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

配置ownCloud簡介

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

初次設置

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

第一次配置時,需要輸入data的存放位置,這裡建議不要放在網站目錄中,請將data文件夾放在其他目錄。如/data/ownCloudData/位置,以防產生權限相關的安全問題。

如果提示缺少權限的問題,請參考這個文檔或者這個文檔的內容。

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

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

啟用SSL

在chrome全面開始封殺HTTP之時,再繼續用HTTP真有點說不過去啦,是時候將網站轉移到HTTPS了。要使用HTTPS,你需要有一張SSL證書,可信的SSL證書大都需要付費。免費的SSL證書有兩種辦法可以獲得

下面是相關的鏈接

  • 安裝ssl服務,創建自簽名證書,部署到apache服務器,激活證書
  • 申請使用StarSSL頒發的免費證書

更多設置

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

  • 配置緩存服務
  • 配置郵件服務
  • 修改最大上傳文件限制

疑難解答

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

cd /etc/httpd/logs/
ls

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

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

  • 權限相關
    • ownCloud缺少權限讀取配置文件
    • ownCloud報.user.ini , .htaccess文件缺失
    • 上傳文件時,ownCloud沒有權限寫入文件暫存區
    • 上傳文件時,ownCloud沒有權限缺少寫入data目錄的權限
    • 解決:使用chown修改權限
  • 組件相關
    • 打開ownCloud時php報PDO錯誤
    • 解決:安裝php56w-mysql
  • 郵件服務
    • 解決:修復PHP語法錯誤
  • 網頁
    • 報SSL證書不受信任
    • 解決:沒辦法,要不花錢買付費證書吧

友情鏈接

  • ownCloud - Admin Mannual
  • ownCloud - Server Configuration
  • ownCloud - Troubleshooting
  • How To Install and Configure ownCloud on CentOS 7

最後,祝大家都能搭建出屬於自己的私有雲!我的私有雲

http://www.bkjia.com/Linuxjc/1195564.htmlwww.bkjia.comtrue

Copyright © Linux教程網 All Rights Reserved