本文首發于公衆号“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個步驟:
- 添加新的安全組規則,比如80端口的,443端口的
- 将相應的端口從防火牆中開放,需要執行下面的指令:
//這裡的80替換成你需要開放的端口
firewall-cmd --permanent --add-port=80/tcp
//重新開機防火牆
firewall-cmd --reload
6. 别給自己挖坑
在初始化owncloud的頁面中會讓我們進行一些設定,比如使用者、密碼和資料庫等。選資料庫的時候千萬要注意幾點:
- 首先資料庫類型要選擇mysql/mariadb,如果選的是sqlite的話,性能會不太好,後面在
頁面中也會有提示。到那時想改就比較麻煩了。owncloud的設定
- 然後就是如果你的伺服器原先就建立過使用者和密碼,那在選擇好資料庫類型後,下面的使用者和密碼就是你之前的使用者名和密碼
最後,恭喜你,在經曆了這麼複雜曲折的道路後,終于通過自己的努力,建構了一個屬于自己的私有雲盤!
歡迎關注我的微信公衆号,和我一起每天進步一點點!