前不久百度了一下肉迫,購(gòu)置一臺(tái)ECS可以干些什么,居然有人說(shuō)可以搭建私有云稿黄,當(dāng)時(shí)就心動(dòng)了一下喊衫,接著就是不停的搜索,學(xué)習(xí)杆怕,整理族购,折騰了前前后后兩天,終于在我的ECS上面搭建好自己的私有云陵珍。
我用的是Nextcloud寝杖,我在網(wǎng)上看到還有Owncloud,Seafile互纯,Sync等等瑟幕,最后選擇Nextcloud也是因?yàn)閷W(xué)習(xí)的是Nextcloud教程,大家有興趣可以試試別的,不知道效果怎么樣只盹。閑話到這里亿卤,下面是我的搭建過(guò)程,分享給大家鹿霸,權(quán)作拋磚引玉排吴。
我發(fā)現(xiàn)Nextcloud支持Webdav,這個(gè)功能太方便了懦鼠,意外之喜钻哩!
第一步 安裝系統(tǒng)盤(pán)
在我的ECS里,我安裝的是LAMP環(huán)境(Ubuntu 16.04 Apache PHP7.1肛冶,這個(gè)可以直接復(fù)制街氢,在阿里云市場(chǎng)可以搜索到),聽(tīng)說(shuō)PHP版本在7.0以下的會(huì)報(bào)錯(cuò)睦袖,不知道具體什么原因珊肃,所以我老打老實(shí)地安裝了個(gè)7.1版本的。
安裝過(guò)程就不贅述了馅笙,很簡(jiǎn)單伦乔,按照提示創(chuàng)建實(shí)例就可以了。
第二步 修改sql數(shù)據(jù)庫(kù)密碼董习,創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建好之后烈和,就到了第二步,修改sql數(shù)據(jù)庫(kù)密碼皿淋。打開(kāi)ssh招刹,輸入
cd /root/oneinstack
./reset_db_root_password.sh
然后創(chuàng)建數(shù)據(jù)庫(kù)
如:創(chuàng)建oneinstack的數(shù)據(jù)庫(kù)(舉例)
mysql -uroot –p #進(jìn)入數(shù)據(jù)庫(kù)控制臺(tái)
Enter password: #數(shù)據(jù)庫(kù)root密碼,??輸入密碼不顯示在屏幕上
MySQL [(none)]> create database nextcloud; #特別注意有分號(hào)
MySQL [(none)]> show databases; #查看數(shù)據(jù)庫(kù)窝趣,除nextcloud數(shù)據(jù)庫(kù)疯暑,其它3個(gè)為系統(tǒng)默認(rèn)庫(kù),不能刪除
MySQL [(none)]> exit; #退出數(shù)據(jù)庫(kù)控制臺(tái)哑舒,特別注意有分號(hào)
- 如果需要?jiǎng)h除一個(gè)數(shù)據(jù)庫(kù):
如:刪除nextcloud的數(shù)據(jù)庫(kù)(舉例)
# mysql -uroot –p #進(jìn)入數(shù)據(jù)庫(kù)控制臺(tái)
Enter password: #數(shù)據(jù)庫(kù)root密碼妇拯,??輸入密碼不顯示在屏幕上
MySQL [(none)]> drop database nextcloud;
MySQL [(none)]> show databases; #查看數(shù)據(jù)庫(kù)
MySQL [(none)]> exit; #退出數(shù)據(jù)庫(kù)控制臺(tái),特別注意有分號(hào)散址。
-
創(chuàng)建數(shù)據(jù)庫(kù)用戶
為了安全我們通常給每一個(gè)網(wǎng)站程序建立唯一的數(shù)據(jù)庫(kù)連接帳號(hào)(帳號(hào)名不能為root)乖阵。
如:添加一個(gè)用戶名為admin宣赔,密碼為password预麸,授權(quán)為本機(jī)localhost對(duì)nextcloud數(shù)據(jù)庫(kù)所有權(quán)限,命令如下:
mysql -uroot –p
Enter password: #輸入數(shù)據(jù)庫(kù)的root密碼儒将,默認(rèn)不顯示密碼
MySQL [(none)]> grant all privileges on nextcloud.* to admin@’localhost’ identified by ‘password’; #授權(quán)語(yǔ)句吏祸,特別注意有分號(hào)
MySQL [(none)]> flush privileges; #權(quán)限立即生效MySQL [(none)]> exit; #退出數(shù)據(jù)庫(kù)控制臺(tái),特別注意有分號(hào)
第三步 把Nextcloud壓縮包使用FTP軟件
這里我使用的是Filezilla,通過(guò)Filezilla把nextcloud放到
cd /data/wwwroot/default
然后解壓,得到一個(gè)nextcloud的文件夾贡翘,因?yàn)閿?shù)據(jù)庫(kù)在第二步已經(jīng)設(shè)置好了蹈矮,所以這里我們直接打開(kāi)瀏覽器,輸入IP地址/nextcloud,進(jìn)入界面鸣驱,設(shè)置用戶名和密碼泛鸟,點(diǎn)擊配置數(shù)據(jù)庫(kù),把設(shè)置好的數(shù)據(jù)庫(kù)用戶踊东,數(shù)據(jù)庫(kù)密碼北滥,數(shù)據(jù)庫(kù)名輸入進(jìn)去,localhost不變闸翅,點(diǎn)擊安裝完成再芋。到了這一步,我們的nextcloud就安裝完成了坚冀。
[nextcloud下載鏈接]https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip)
第四步 把OSS掛載到nextcloud
到了這一步济赎,說(shuō)明我們的nextcloud已經(jīng)在我們的服務(wù)器安裝好,現(xiàn)在要做的就是擴(kuò)大它的存儲(chǔ)空間记某。這里我用的是阿里云提供的ossfs教程司训。因?yàn)樽约阂彩前凑者@個(gè)教程來(lái)設(shè)置的,所以就不再做復(fù)制粘貼了液南,上鏈接
[OSS掛載ECS對(duì)應(yīng)文件夾教程]https://help.aliyun.com/document_detail/32196.html?spm=5176.87240.400427.67.MN9NjQ
需要注意的幾點(diǎn)是:
1.鏈接中示例的第4步要改一改權(quán)限豁遭,參見(jiàn)如下對(duì)照:
- 示例:(原文)
將my-bucket
這個(gè)bucket掛載到/tmp/ossfs
目錄下,AccessKeyId是faint
贺拣,AccessKeySecret是123
蓖谢,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com
echo my-bucket:faint:123 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com
- 示例:(修改)
將my-bucket
這個(gè)bucket掛載到/tmp/ossfs
目錄下,AccessKeyId是faint
譬涡,AccessKeySecret是123
闪幽,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com
echo my-bucket:faint:123 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o allow_other
可以發(fā)現(xiàn),就是最后一行新增了-o allow_other
,這個(gè)是777權(quán)限涡匀。
2.你不能把整個(gè)nextcloud文件夾都掛載到oss上去盯腌,不然就算掛載成功,也會(huì)提示沒(méi)內(nèi)存或者Forbidden錯(cuò)誤(有的教程里面可以掛載整個(gè)nextcloud的data文件夾陨瘩,我現(xiàn)在還不知道怎么弄的)腕够;
我的辦法是:只掛載存儲(chǔ)內(nèi)容的文件夾,即
cd /data/wwwroot/dafault/nextcloud/data/admin/files
#這個(gè)files文件夾就是nextcloud里面的用戶最終保存文件的文件夾舌劳,只掛載這個(gè)文件夾帚湘,就不會(huì)提示錯(cuò)誤。
3.記得設(shè)置開(kāi)機(jī)自啟
- 通過(guò)fstab的方式自動(dòng)mount
在/etc/fstab中加入下面的命令
ossfs#your_bucket_name your_mount_point fuse _netdev,url=your_url,allow_other 0 0
#your后面的要填自己的bucket信息甚淡,不要直接復(fù)制粘貼大诸,url如果是內(nèi)網(wǎng)的話最好填內(nèi)網(wǎng)url,不走流量
保存/etc/fstab文件。執(zhí)行mount -a
命令资柔,如果沒(méi)有報(bào)錯(cuò)焙贷,則說(shuō)明設(shè)置正常。
到這一步贿堰,ubuntu16.04就能自動(dòng)掛載了辙芍。
好了,大功告成羹与,到了這里沸手,說(shuō)明256TB的私有云就搭建完成了!
不過(guò)這里要說(shuō)的是注簿,我發(fā)現(xiàn)這個(gè)Geek的私有云隨著存儲(chǔ)內(nèi)容的增多契吉,變得越來(lái)越貴。
我的ECS和OSS在一個(gè)區(qū)域诡渴,走內(nèi)網(wǎng)捐晶,所以不走流量,但是OSS還有存儲(chǔ)費(fèi)用妄辩,請(qǐng)求次數(shù)費(fèi)用惑灵,ECS還有帶寬流量(我用的是流量計(jì)費(fèi)模式),和ECS包年包月費(fèi)用眼耀,這樣幾筆算下來(lái)英支,存儲(chǔ)量一大,費(fèi)用就驚人哮伟,所以這個(gè)256TB在我看來(lái)干花,只是個(gè)噱頭罷了,土豪除外楞黄。
當(dāng)然了池凄,如果這是日常存存文件,同步一下工作文檔鬼廓,用的量少肿仑,不僅可以方便同步,還算安全碎税,至少如果不會(huì)像經(jīng)營(yíng)性網(wǎng)盤(pán)那樣存在數(shù)據(jù)泄露的可能尤慰,畢竟兩者還是有區(qū)別的。
話說(shuō)回來(lái)雷蹂,如果存儲(chǔ)量少伟端,也就沒(méi)有掛載的必要了,如果想省錢(qián)萎河,性價(jià)比高荔泳,又要有超大的存儲(chǔ)量,就又形成了一個(gè)悖論虐杯,至少現(xiàn)在我還解不了玛歌,不知道各位看客有沒(méi)有別的好的方案,不妨擺上案桌擎椰,大家一起來(lái)分享探討一番支子。
(沒(méi)有貼圖,見(jiàn)諒达舒!想來(lái)按照這個(gè)步驟也看的明白了)