天天看點

手把手教你用owncloud搭建屬于自己的雲盤

本文首發于公衆号“AntDream”,歡迎微信搜尋“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點

owncloud是一個開源的雲盤解決方案,我們可以用owncloud快速地搭建起我們自己私有的雲盤,這樣檔案地安全性和雲盤地可靠性都有保證,對于公司和個人都是非常有用的。

安裝owncloud

1. 添加新的軟體源

rpm --import https://download.owncloud.org/download/repositories/10.0/CentOS_7/repodata/repomd.xml.key           

2. 安裝owncloud-files

wget http://download.owncloud.org/download/repositories/10.0/CentOS_7/ce:10.0.repo -O /etc/yum.repos.d/ce:10.0.repo
yum clean all
yum install owncloud-files           

3. 檢查是否安裝成功

cd /var/www/html           

可以看到一個

owncloud

檔案夾

上面這種方式安裝owncloud很方面,但是owncloud的很多需要用到的東西都沒有裝,比如Apache和PHP,需要我們自己裝。

以上是基于CentOS 7.4,其他的系統請參照官網:

http://download.owncloud.org/download/repositories/10.0/owncloud/

安裝Apache

1. 檢查是否安裝Apache服務:

apachectl -v
或者
httpd -v           

輸出如下内容則安裝成功

Server version: Apache/2.4.6 (CentOS)
Server built:   Jun 27 2018 13:48:59           

2. 安裝Apache服務

yum install httpd –y           

3. 啟動/重新開機Apache服務

systemctl start/restart httpd.service           

4. 測試Apache是否安裝并啟動成功

Apache預設監聽的是80端口,是以我們隻需要在浏覽器通路我們的IP位址就行了。

如果是本機作為服務端,那就直接通路localhost就行;如果是類似阿裡雲這樣的伺服器,那就通路IP位址就行。

出現Apache的頁面就表示Apache安裝并啟動成功。

5. 添加owncloud配置

打開/etc/httpd/conf/httpd.conf檔案,添加如下配置:

# owncloud config
Alias /owncloud "/var/www/html/owncloud/"

<Directory /var/www/html/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/html/owncloud
 SetEnv HTTP_HOME /var/www/html/owncloud

</Directory>           

安裝PHP7.2

需要注意的是owncloud隻支援5.6+的

1. 手動更新rpm

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               

2. 安裝PHP7.2

sudo yum -y install php72w           

3. 安裝PHP其他庫

yum -y install php72w-cli php72w-common php72w-devel php72w-mysql php72w-xml php72w-odbc           

4. 檢測PHP是否安裝成功

php -v           

5. 将PHP配置到Apache中

//找到php.ini檔案目錄,記得選7.2的
sudo find / -name php.ini

//然後在Apache的配置檔案httpd.conf中添加PHP7.2
vi /etc/httpd/conf/httpd.conf

//在httpd.conf檔案的最後面加上下面這句:
PHPIniDir /etc/php.ini(這個是上面找到的PHP7.2的php.ini檔案目錄)           

測試

經過以上的安裝步驟以後,主要的東西都安裝完了,我們打開我們的浏覽器,通路我們的

IP/owncloud

,能出現

owncloud

的頁面就表示安裝并啟動成功了。後續就是配置賬号密碼這些就不多說了。

安裝Https

1. 需要先安裝mod_ssl

yum install mod_ssl           

安裝完後在

/etc/httpd/conf.d/

會有一個ssl.conf的檔案,打開檔案以後找到

SSLCertificateFile

SSLCertificateKeyFile

2行,可以看到後面我們要生成的密鑰的配置資訊

2. 根據上面ssl.conf中的資訊,我們需要去對應的檔案夾目錄下生成對應的密鑰檔案

  • 生成localhost.key
//進入目錄
cd /etc/pki/tls/private/

//删除原來的
rm -f localhost.key

//生成新的
openssl genrsa 1024 > localhost.key           
  • 生成ocalhost.crt
//進入目錄
cd /etc/pki/tls/certs

//删除原來的localhost.crt
rm -rf localhost.crt

//生成新的localhost.crt
make testcert           

3. 打開/etc/httpd/conf.d下的ssl.conf,更改域名資訊

DocumentRoot "/var/www/html/owncloud"
ServerName localhost           

4. Apache配置檔案httpd.conf修改

  • 加上需要監聽的域名
ServerName localhost:80           
  • 打開httpd.conf檔案,加上ssl子產品
//加上ssl子產品
LoadModule ssl_module modules/mod_ssl.so           
  • 加上重定向
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]           

5. 重新開機Apache服務

systemctl restart httpd.service           

基本如上配置好後,打開原先的連結,也就是

IP/owncloud

,就會重定向到用https

錯誤記錄

1.Failed to start httpd.service: Unit not found.

可能是沒有安裝Apache服務,按照上面的步驟安裝Apache就行了。

2.PHP mb multibyte 子產品未安裝.

需要安裝phpmyadmin

yum install phpMyAdmin           

然後重新開機Apache服務就行了。

3. httpd: Could not reliably determine the server's fully qualified domain name

需要在Apache的配置檔案httpd.conf中加上域名,比如:

ServerName localhost:80           

4. Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

  • 這是端口占用了,可以用下面的指令檢視端口占用情況
sudo netstat -lnp|grep 80(這裡改成沖突的端口号)           
  • 還有一種情況是配置錯了,比如我碰到的就是看了網上的部落格說要在Apache中的httpd.conf加下面的配置
Include conf/extra/httpd-ssl.conf(去掉行首的注釋)           

因為上面的httpd-ssl.conf檔案找不到,我就改成了自己的ssl.conf檔案,結果就報上面的端口沖突錯誤

其實這個配置是不用加的。

5. 最後一個就是大坑了,通路IP位址的時候出現

無法通路此網站

的情況

這是因為我用的是阿裡雲的伺服器,阿裡雲的伺服器預設端口都是不對公網開放的,對于你要公網通路的每一個端口,都必須執行下面2個步驟:

  1. 添加新的安全組規則,比如80端口的,443端口的
  2. 将相應的端口從防火牆中開放,需要執行下面的指令:
//這裡的80替換成你需要開放的端口
firewall-cmd --permanent --add-port=80/tcp

//重新開機防火牆
firewall-cmd --reload           

6. 别給自己挖坑

在初始化owncloud的頁面中會讓我們進行一些設定,比如使用者、密碼和資料庫等。選資料庫的時候千萬要注意幾點:

  1. 首先資料庫類型要選擇mysql/mariadb,如果選的是sqlite的話,性能會不太好,後面在

    owncloud的設定

    頁面中也會有提示。到那時想改就比較麻煩了。
  2. 然後就是如果你的伺服器原先就建立過使用者和密碼,那在選擇好資料庫類型後,下面的使用者和密碼就是你之前的使用者名和密碼

最後,恭喜你,在經曆了這麼複雜曲折的道路後,終于通過自己的努力,建構了一個屬于自己的私有雲盤!

歡迎關注我的微信公衆号,和我一起每天進步一點點!