手把手教你用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,其他的系統請參照官網: ofollow,noindex">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個步驟:
- 新增新的安全組規則,比如80埠的,443埠的
- 將相應的埠從防火牆中開放,需要執行下面的命令:
//這裡的80替換成你需要開放的埠 firewall-cmd --permanent --add-port=80/tcp //重啟防火牆 firewall-cmd --reload
6. 別給自己挖坑
在初始化owncloud的頁面中會讓我們進行一些設定,比如使用者、密碼和資料庫等。選資料庫的時候千萬要注意幾點:
owncloud的設定
資料庫選擇
最後,恭喜你,在經歷了這麼複雜曲折的道路後,終於通過自己的努力,構建了一個屬於自己的私有云盤!
屬於自己的雲盤
歡迎關注我的微信公眾號,和我一起每天進步一點點!
AntDream