標籤:linux owncloud
作為IT從業者的我們都會有大量的資料需要儲存和管理,可能是各種各樣的系統和軟體的安裝包,又或者是各種教學視頻等。我們可以把這些資料存放區到雲端硬碟上,免費且動輒上T的容量確實很好用,但是制約於我們的網速有的時候我們如果頻繁使用這些資料就會顯得不是很方便。那麼有沒有一種辦法能夠像管理雲端硬碟一樣管理本地海量資料,那麼就是今天我要介紹的owncloud。
由於這是實驗安裝,當然也可以部署到生產環境中去,我先來介紹一下今天的實驗環境。我使用過的是vmware-workstation 12 pro作為虛擬軟體,所建立的虛擬機器的配置為雙核cpu、1G以上記憶體、20G的/分區,以及一塊60G的虛擬磁碟專用於資料存放區。
虛擬機器作業系統是CentOS7.1 基於CentOS-7-x86_64-Everything-1503-01採用minimal安裝。安裝完成之後將60G的虛擬磁碟格式化為ext4檔案系統掛載到預先建立的/data目錄下作為我們的資料存放區目錄。如果在生產環境中個人推薦主機配置不應低於雙核奔騰及以上cpu記憶體不小於2G,磁碟可以採用一塊獨立磁碟安裝系統和服務其容量不應小於80G,資料目錄可採用單一大容量硬碟或者多塊磁碟組成raid卷組。長久使用建議組建RAID進行冗餘以保證資料安全,如果組建RAID推薦採用RAID1或者RAID5 等硬體冗餘陣列方式,使用的硬碟最好是西部資料的紅盤或者黑盤,或者希捷日立東芝的企業盤或者是NAS盤,普通硬碟在RAID5的模式下安全性並得不到保證,建議使用RAID1陣列。
在系統安裝完成之後我們有幾件事情需要做:
掛載cdrom到本地,並配置本地yum源
由於CentOS 7預設使用防火牆,在這裡我先關閉防火牆啟用iptables,並允許存取web80連接埠。
關閉selinux
匯入owncloud的安裝檔案,並解壓,會自動產生owncloud檔案夾。
安裝服務支撐軟體,httpd mariadb mariadb-server php php-gd php-mysql php-dom
下面我們來部署一下owncloud,首先要做的是配置本地yum源,這樣方便我們安裝所需的服務軟體。
將cdrom 掛載到本地
mkdir -p /mnt/cdrom #使用遞迴方式在/mnt目錄下建立/cdrom目錄用於掛載cdrom。
mount /dev/cdrom /mnt/cdrom/ #將cdrom臨時掛載到/mnt/cdrom目錄上
配置yum本地源
cd /etc/yum.repos.d/ #進入到CentOS yum源的配置目錄/etc.yum.repos.d目錄下mv CentOS-Base.repo CentOS-Base.repo.bak #備份原來的預設yum源。vi Think.repo並添加如下文字 #建立並編輯自己定義的yum本地源,名字是自訂,結尾為*.repo[Think] #方括弧內與外部名稱相同即可name=Think #name=與外部名稱相同即可baseurl=file:///mnt/cdrom #//後面跟掛載cdrom的絕對路徑enabled=1 #enabled 後面參數為1表示啟用,為0表示不啟用。gpgcheck=0 #gpgcheck的參數為0表示禁用,這裡選擇禁用即可。
儲存退出
yum clean all #清空之前系統裡的yum緩衝資訊。yum makecache #以剛才配置的本地yum源更新緩衝資訊。
接下來我們禁用防火牆改為iptables
yum -y install iptables-services # CentOS7預設沒有安裝iptables,這裡安裝。systemctl stop firewalld.service # 停止防火牆服務 systemctl disable firewalld.service #設定防火牆服務開機不自啟
修改iptables的設定檔,使其允許存取apache的80連接埠
vi /etc/sysconfig/iptables #編輯iptables的設定檔-AINPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEP
在上述行下面複製一行,並將連接埠22 更改為80 儲存退出
systemctl restart iptables #修改完配置後重啟iptablessystemctl enable iptables #設定iptables服務開機自啟
下面關閉selinux
vi /etc/selinux/config 注釋掉中間沒有被注釋的兩行,然後在末尾添加如下語句。
SELINUX=disabled
儲存退出後再命令列下輸入如下命令。
setenforce 0 使配置生效
基本配置已經完成我們接下來就來安裝和配置owncloud,通過winSCP將owncloud的安裝包傳到系統中,由於迷你安裝的系統並沒有安裝解壓軟體我們要安裝bzip2解壓軟體,將解壓後的owncloud目錄拷貝到/var/www/html/目錄下。
#安裝需要的軟體
yum -y install httpd mariadb mariadb-server php php-gd php-dom php-mysql bzip2
由於配置本地yum源,安裝包將從本地目錄中提取,安裝過程視硬碟速度而定,大約5-10分鐘。
在上述軟體安裝完成之後,我們要重啟一下httpd和mariadb 並使其開機自動啟動;
systemctl restart httpd #重啟httpd服務systemctl restart mariadb #重啟mariadb資料庫systemctl enable httpd #設定httpd服務開機自啟systemctl enable mariadb #設定mariadb資料庫開機自啟
解壓owncloud的安裝包並拷貝到/var/www/html/目錄下
tar -jxvf owncloud-8.2.2.tar.bz2 #使用tar命令解壓安裝包cp –rv owncloud /var/www/html/ #使用遞迴方式複製owncloud目錄到apache的預設網站目錄下。
然後我們需要修改一下httpd的設定檔和php.ini這兩個設定檔
vi /etc/httpd/conf/httpd.conf
找到AllowOverride none 將none修改為all;
找到DocumentRoot "/var/www/html"將裡面的路徑的html後面添加/owncloud
儲存退出並重啟httpd
systemctl restart httpd
vi /etc/php.ini #php的設定檔
找到upload_max_filesize = 2M 這裡面的2M是預設允許上傳檔案大小,修改為希望的大小。
找到post_max_size = 8M 將其中8M的值修改為自己想要的值
找到memory_limit = 128M 這個是php所佔可以佔用記憶體的值,修改我自己想要的值。
儲存退出
剩下的一部是資料庫的配置和目錄的屬組和屬主的修改。
設定mariadb的root使用者的密碼,和建立owncloud資料庫以及建立普通使用者授權訪問owncloud資料庫和其中的表。
mysql_secure_installation
#為剛安裝的mariadb資料庫預設root使用者建立密碼,和基礎配置。不推薦使用root使用者從本地和外部直接存取整個資料庫,所以建議建立普通管理使用者。
Entercurrent password for root (enter for none):
在輸入root密碼這裡直接斷行符號,預設root密碼為空白
Set root password? [Y/n] y
是否設定root密碼這裡輸入y。然後根據提示輸入兩遍密碼,在之後的所有問答中全部輸入y。
mysql -uroot –p
#使用上述命令進入mariabd的命令列,-u和root之間沒有空格,
輸入密碼之後進入資料庫,在進入資料庫之後的命令列之中,末尾都必須以“;”結束
建立owncloud資料庫
create database owncloud;
#可以使用show databases;命令查看當前庫,和建立後的確認操作,注意命令執行結尾的“;”
QueryOK, 1 row affected (0.00 sec) #
grant all privileges on owncloud.* to [email protected] identified by"123456test";
#Think是實驗建立的使用者“123456test”為實驗密碼。
通過上述命令,建立一個普通使用者“Think”授權其所有許可權針對owncloud資料庫中的所有表,密碼為“123456test”owncloud.* 中的“*”為owncloud庫的所有表。
flush privileges;
通過該命令是上述的操作立即生效,或者退出資料庫後重啟mariadb。在生產環境中不推薦隨意重啟資料庫。
exit命令退出資料庫。
更改使用者的屬主和屬組。
cd /var/www/
chown -R apache:apache html/
#遞迴對/html下的目錄更改屬組和屬主為apache。
chown –R apache:apache /data
#為我們將要儲存資料的/data也遞迴修改屬組屬主。
完成上述操作之後我們就可以對owncloud本身進行配置了。
開啟瀏覽器輸入虛擬機器的ip地址就可以訪問owncloud的初始化安裝介面,這裡不推薦將owncloud中的檔案直接解壓到html的根目錄下,因為在最後初始化owncloud的配置的時候回提示.htaccess的版本錯誤,原因未知。而是將owncloud目錄本身複製過去,通過ip地址“ip”/owncloud的方式,或者修改/etc/httpd/con/httpd.conf中的DocumentRoot "/var/www/html" 該行將/owncloud指定為Apache的根目錄。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/79/9A/wKiom1aV8VnzWrifAAFQEsDIRxk494.png" title="1.png" alt="wKiom1aV8VnzWrifAAFQEsDIRxk494.png" style="float:left;" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/79/9A/wKiom1aV8ZqTwwLZAAFoPQQ4luE978.png" style="float:none;" title="2.png" alt="wKiom1aV8ZqTwwLZAAFoPQQ4luE978.png" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/79/9A/wKiom1aV8ZzTXqXxAAFKxrsc5Wc215.png" style="float:none;" title="3.png" alt="wKiom1aV8ZzTXqXxAAFKxrsc5Wc215.png" />
開啟瀏覽器輸入IP地址即可訪問owncloud,這裡我們進行owncloud的初始化配置到這裡,安裝owncloud就正式結束了,設定和建立使用者就不再贅述,用法與百度雲相似。
在這裡建議各位如果要使用owncloud的同學,上傳檔案owncloud並不挑剔瀏覽器,推薦使用IE10 Firefox或者Google的chrome,搜狗瀏覽器的預設下載功能支援的很不好,如果能調用迅雷是沒有問題的,這是我測試的結果。
owncloud的用戶端有windows版本,linux版本和mac版本的,但是功能目前僅局限於對某個檔案夾與伺服器中的某個檔案夾做關聯實行同步。功能有點類似於金山快盤的同步版。可以把指定的筆記檔案放在裡面實現即時同步保證文本資料安全,大檔案不建議使用。
由於個人也只是linux的初學者所有僅僅是為了實現上述功能而寫的這篇文檔,對於文檔中的一些配置各位有覺不妥的請不吝賜教,高手勿噴。
本文出自 “simple89860” 部落格,請務必保留此出處http://simple89860.blog.51cto.com/9658631/1734576
基於CentOS 7的owncloud部署