VirtualBox & CentOS7 & SSH & Seafile & ngrok 搭建私有云盤Part1

Build your own private cloud disk using VirtualBox & CentOS7 & SSH & Seafile & ngrok Part1

這個是個人的一篇經(jīng)驗總結(jié),或者說花樣踩坑集錦

先說下最終完成的效果:宿主機為Mac,在VirtualBox中安裝CentOS7 minimal做為服務器,通過SSH由宿主機連接到CentOS7并在其中構(gòu)建Seafile服務,通過外網(wǎng)或內(nèi)網(wǎng)訪問Seafile服務以完成同步或共享文件的功能,達到擁有私有云盤的目的

在VirtualBox中配置用于安裝CentOS7的虛擬機

VirtualBox是一款Mac上很好用的虛擬機軟件,之所以選擇VirtualBox而不是其他的虛擬機軟件,是因為我司項目開發(fā)就用的VirtualBox,所以我最初做這個項目的目的之一就是用來練手加強對VirtualBox的理解的

CentOS7是RedHat之下的一款社區(qū)版Linux,目前最高級版本為7, 可以在這里下載。在下載頁面會看到有DVD ISO,Everything ISO,Minimal ISO三個選項,一般來說,如果需要GUI頁面,選擇DVD ISO,如果只需要最小安裝尤其是作為服務器操作系統(tǒng)時,選擇Minimal ISO,而Everything ISO對一般用戶來說很少選擇,其包含了以上兩種ISO文件所有的內(nèi)容,并額外包括開發(fā)CentOS功能所需要的內(nèi)容

下面開始比較通用的在VirtualBox中安裝虛擬機的步驟,這個步驟理論上是適合于創(chuàng)建任何系統(tǒng)虛擬機的,畢竟只是打造一臺"裸機"

  • 命名虛擬機及指定操作系統(tǒng),命名隨意,Type選Linux,Version選Red Hat
命名虛擬機及指定操作系統(tǒng)
  • 指定虛擬機內(nèi)存空間,隨意更改,我采用了默認設(shè)置
指定虛擬機內(nèi)存空間
  • 虛擬硬盤文件格式,隨意更改,我采用了默認設(shè)置
硬盤文件格式
  • 虛擬硬盤文件存儲位置及大小,隨意更改,我采用了默認設(shè)置
虛擬硬盤文件存儲位置及大小
  • 虛擬硬盤文件是否可動態(tài)增長,隨意更改,我采用了默認設(shè)置
虛擬硬盤文件是否可動態(tài)增長
  • 裸機搞定
裸機搞定

在虛擬機中安裝CentOS7操作系統(tǒng)

  • 載入操作系統(tǒng)鏡像 CentOS7 Minimal ISO

啟動剛剛設(shè)置成功的裸機,會要求安裝系統(tǒng),在系統(tǒng)文件加載的地方指定到之前下載的CentOS7 Minimal ISO后點擊start即可

安裝系統(tǒng)

進入CentOS系統(tǒng)安裝頁面后,鼠標被VirtualBox的虛擬機窗口捕獲后會提示是否允許捕獲,當然選是,然后虛擬機中按cmd + 鼠標左鍵的方式可以退出捕獲,讓鼠標回歸宿主機

  • 安裝CentOS7

進入安裝選擇界面,鍵盤方向鍵上下調(diào)節(jié)選項,Enter鍵選中選項,這里選擇最簡單的安裝方式即可,即執(zhí)行Install CentOS Linux 7選項

Install CentOS Linux 7

安裝時需要注意,不要隨便調(diào)節(jié)窗口大小,一般VirtualBox會自動縮放窗口以讓用戶能最明顯和方便的點擊各個按鈕,如果你像我一樣手賤的縮放了窗口,那么記得上下左右滾動窗口以找到各種下一步的按鈕,不要像我一樣輕易以為VirtualBox傻缺

選擇系統(tǒng)語言,推薦英語,沒啥可說的

選擇語言

系統(tǒng)安裝設(shè)定,這個我們不需用在CentOS安裝時設(shè)定,因為我們之前在裸機設(shè)置時已經(jīng)搞定了,這里點開這個設(shè)定窗口后直接左上角done即可

系統(tǒng)安裝設(shè)定-1
系統(tǒng)安裝設(shè)定-2

點擊Begin Installation即可,喝水

開始安裝

開始安裝后,在讀條的過程中,會發(fā)現(xiàn)有兩個設(shè)定需要完成,這里不用著急,著急也沒用,進度圖跑完前沒法點擊這兩個按鈕,安心喝水

讀條

讀條結(jié)束后,開始設(shè)置兩個黃色感嘆號內(nèi)容

root用戶的密碼設(shè)定,很重要,不用我多說

root密碼

注意看圖,知識點又來了,設(shè)置的root密碼強度差不說,還居然包含了root用戶名,被系統(tǒng)吐槽,而且這樣的密碼需要點兩次左上角的Done才能設(shè)置成功

這里主要是在本地虛擬環(huán)境,不想設(shè)置太復雜的密碼,會忘 -_-#

接下來設(shè)置一個登陸用戶,在你設(shè)置完root密碼后,這個設(shè)定已經(jīng)變成可選了,但是還是推薦在這里設(shè)置好

設(shè)置登錄用戶

我這里直接給自己的登陸用戶作為管理員了,以后的操作都會使用該用戶<strike>為了加深印象我又把密碼設(shè)置的很差勁讓系統(tǒng)提醒一次 [doge] </strike>

OK,這里設(shè)置完畢后,左上角Done*2,系統(tǒng)就開始啟動了,在VirtualBox中安裝CentOS7的操作就完成了

通過SSH由Mac宿主機訪問CentOS7虛擬機

  • 登陸虛擬機,查看網(wǎng)絡配置

在CentOS7啟動后,會停留在localhost login:處等待,這里使用管理員kenshin的賬密登入

登入系統(tǒng)

圖中重點,ip addr查看CentOS7的網(wǎng)絡配置,注意2: enp0s3:,這里指示的是虛擬機的internet連接,能夠發(fā)現(xiàn),沒有ip地址

這是因為CentOS7的網(wǎng)絡服務并不是默認開機啟動的,需要手動配置

首先進入到CentOS7的網(wǎng)絡配置文件所在目錄

cd /etc/sysconfig/network-scripts/
配置網(wǎng)絡-1

然后打開ifcfg-enp0s3文件,這里需要sudo權(quán)限來編輯該文件

sudo vi ifcfg-enp0s3
打開ifcfg-enp0s3

ONBOOT設(shè)置為yeswq保存并退出

ONBOOT
  • 關(guān)閉虛擬機,配置網(wǎng)卡

經(jīng)過上面的操作,理論上是只需要重啟網(wǎng)絡服務就可以了,但是我們需要退出來為虛擬機額外添加網(wǎng)卡,所以索性先關(guān)機

而更實際上,我們在創(chuàng)建裸機的時候就可以添加好這個額外的網(wǎng)卡的,但是我忘了

其實真實情況是,這里我浪費了很多時間來處理網(wǎng)卡的事情,最初我并沒有想到VirtualBox默認的NAT網(wǎng)卡不能完成我后面需要的SSH連接的功能,后來還搞了一陣Bridged Adapter的作用,所以這里是已經(jīng)折騰了很多東西之后才發(fā)現(xiàn)的事情,但是既然是記錄步驟,就不說那些錯誤和解決錯誤的詳情了,最后再統(tǒng)一總結(jié)下就好了

另外,關(guān)于NAT,Host-only,Bridged的Adapter的區(qū)別,后面會提到

總之,現(xiàn)在把虛擬機關(guān)機,回到VirtualBox界面后,為虛擬機添加一個Host-only Adapter

添加Host-only Adapter
  • 啟動虛擬機,再次查看網(wǎng)絡信息

網(wǎng)卡添加完畢后,啟動虛擬機,登入管理員賬戶,執(zhí)行ip addr命令查看網(wǎng)絡信息

新的網(wǎng)絡信息

重點來了,圖上我們有了兩個internet的ip地址

圖中2: enp0s3 .... inet 10.0.2.15是由NAT Adapter提供的,其可以ping通外界網(wǎng)絡,也就是外界網(wǎng)絡對其來說可見,但是外界不能ping通10.0.2.15,也就是其對外界網(wǎng)絡來說不可見,包括宿主機也不能ping通 10.0.2.15

圖中3: enp0s8 ... inet 192.168.99.101是由Host-onlyAdapter提供的,其可以ping通外界網(wǎng)絡,也就是外界網(wǎng)絡對其來說可見,但是外界不能直接ping通192.168.99.101,也就是其對外界網(wǎng)絡來說不可見,但是宿主機可以ping通 192.168.99.101

這就是為什么需要額外添加一張Host-onlyAdapter的原因,如果宿主機都不能ping通虛擬機,那么SSH毛毛啊

  • 宿主機SSH連接虛擬機

在虛擬機中執(zhí)行service sshd start命令來開啟SSH服務,默認會運行在22端口

在虛擬機中執(zhí)行systemctl status sshd命令來查看SSH服務狀態(tài)

SSH服務狀態(tài)

Loaded: ...enabled...表示SSH服務開啟了開機自啟動,這正是我們需要的

Active: active(running)...表示SSH服務當前正在運行

現(xiàn)在,想建立SSH連接就只剩下最后一步,設(shè)置端口

在NAT Adatper中配置端口轉(zhuǎn)發(fā)信息,為什么不在Host-only Adapter中配置呢,因為不能

Tips, 配置端口轉(zhuǎn)發(fā)不需要重啟虛擬機的

打開虛擬機的網(wǎng)絡配置界面,在NAT Adapter中選擇Port Forwarding

打開NAT Adapter

Port Forwarding配置端口轉(zhuǎn)發(fā)信息

端口轉(zhuǎn)發(fā)

這里做了兩個端口轉(zhuǎn)發(fā)

Guest Port 22是用來做SSH連接的,默認情況下,服務器22端口用于SSH,Guest IPHost IP都正常設(shè)置,Host Port隨意,不要沖突了就好

Guest Port 8000是用來做服務轉(zhuǎn)發(fā)的,后面會用到,我會把虛擬機8000端口的服務轉(zhuǎn)發(fā)到宿主機,然后宿主機可以用來搞點事情,這里Guest IPHost IP也是正常設(shè)置,Host Port同樣隨意,不沖突就行

保存信息之后,在CentOS7中使用sudo systemctl restart network命令重啟下網(wǎng)絡服務或者直接reboot命令重啟機器

在宿主機SSH連接虛擬機,-p指定端口,后面再跟要登入的用戶及服務器地址,我們已經(jīng)做了端口和地址轉(zhuǎn)發(fā),因此這里的命令如下

SSH連接

Bingo!!!

搞定,我們現(xiàn)在可以在Mac宿主機終端經(jīng)由SSH操作CentOS7虛擬機了,也就是我們的服務器(下面我也會除非萬不得已,不然均稱呼我們的CentOS7君為服務器),接下來我們就開始在服務器配置Seafile,不過現(xiàn)在內(nèi)容太多了,尤其是很多圖片,所以寫在第二部分

最后歡迎訪問我的個人博客~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容