Category Archives: Vagrant 筆記

Vagrant Notes forward multiple ports on the same machine – 如何在Vagrant上 Port Forward Multiple Port?

開始常常用Vagrant 來嘗試建立自己的VPS
今日又出現了小小的問題需要上網
如何在Vagrant上 Port Forward Multiple Port呢?

解決方法十分簡單…
我們只需要在VagrantFile 上在不同的Port forward上加上以下的設定便可以了

# config.vm.network "forwarded_port", guest: [port], host: [port]
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 22, host: 22

E.G.

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.provision "shell", path: "provision.sh"

  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 22, host: 22
end

Hope you find it useful

小小Vagrant/ Linux 筆記 – Ubuntu Unattended Upgrade

小小筆記
最近又繼續玩Vagrant
不知道為什麼嘗試用Official 的Vagrant Ubuntu 16.04 Image時常常出現問題..
不能SSH 到這個Vagrant Box
所以便想在Provision 時更新這個系統了

那麼如何可以令Linux 可以Unattended地更新
解決方法
我們可以執行以下指令

sudo do-release-upgrade -f DistUpgradeViewNonInteractive

Hope you find it useful

Useful Vagrant Command – 我的常用 Vagrant 指令

最近發現 Vagrant真是很好用…我終於成功在 Linux Ubuntu在 執行 ASP.Net website了
首先當然是在Vagrant上試驗

以下是我最常用的 Vagrant Command

Vagrant Up – 跟據 Vagrantfile 來建立和設定你的 Virtual Machine

Vagrant Up

vagrant halt – 用來關閉Virtual Machine的指令.. 當失敗的話..便會使用 –force [像Power off一樣]的指令

vagrant halt

vagrant destroy – 用來刪除這個virtual machine的指令, 就像回到Virtual machine未建立的時候

vagrant destroy

vagrant reload – 重新啟動 virtual machine e.g. vagrant halt + vagrant up 指令一起執行

vagrant reload

vagrant status – 來檢查virtual machine的 current status e.g. up and running還是沒有啟動

vagrant status

Vagrant Status
vagrant provision執行 provision的設定 – 如果你有一個provision的檔案 便可以運用這個指令再以執行這個provision檔案
– 當我研究怎樣在Linux上執行 .net core / ASP.Net 時常常更新 provision 檔案來試指令時常常用到的

vagrant provision

當找到其他常用的指令再更近這個Blog =)

Hope you find it useful

Packer hide Virtual Machine GUI – Packer 如何在建立Virtual Machine時 把介面隱藏

在使用Packer的時候 Virtual Box 自動彈出了他的VirtualBox GUI出來
我們可以看到安裝的過程, 十分有趣
但是亦都有些擾亂自己..
因為無端端多了個Applicationscreen上出現

如果我們不在執行 Packer
彈出Virtual Machine的介面
我們可以在 Packer的 Template 檔案上把 Headless的設定為 True

headless (boolean) – Packer defaults to building VirtualBox virtual machines by launching a GUI that shows the console of the machine being built. When this value is set to true, the machine will start without a console.
E.G.

  "disk_size": "{{user `disk_size`}}",
    "headless": "true",
    "http_directory": "http",

Packer Hide Virtual Machine UI during Build - Headless = true
Hope you find it useful

How to get ISO checksum on Windows

最近開始學習怎樣建立 Vagrant Box
希望係不久既將來可以自己建立一些vagrant box 在公司 或自己用
我們需要使用 Packer [packer.io]這個工具來 建立 vagrant box
其中建立VagrantBox的Template上需要轉入 ISO 和他的CheckSum的資料
主要是用來認證 要安裝的 ISO 檔案沒有損壞先安裝吧

上網做了很多research都是教如何在Linux找出檔案的Checksum..
很小有說Windows可以怎樣做
最後終於找到解決方法了.

大家可以到以下的Microsoft的網頁
https://www.microsoft.com/en-gb/download/details.aspx?id=11533
下載 “Microsoft File Checksum Integrity Verifier
解壓縮後便可以使用Command prompt 來執行
Microsoft File Checksum Integrity Verifier
入面有Readme 檔介紹怎樣使用的

fciv [File Path \ FileName] [hash type e.g. md5 / sha1]

F:\CheckSum>fciv f:\ubuntu-15.10-server-amd64.iso -md5
//
// File Checksum Integrity Verifier version 2.05.
//
fb4eef05edcabfc5cccd4cb44f3f9b48 f:\ubuntu-15.10-server-amd64.iso

Windows File Checksum
Hope you find it useful

Vagrant Error: SSL certificate problem: unable to get local issuer certificate

想不到一開始使用Vagrant便出現問題
還以為可以很簡單地跟著官網的教學來建立我第一個用Vagrant來建立的Virtual Machine
https://www.vagrantup.com/docs/getting-started/
誰不知當我嘗試執行以下指令時

vagrant init hashicorp/precise64
vagrant up

出現了以下的錯誤信息
Vagrant Error: SSL certificate problem: unable to get local issuer certificate

詳情
Vagrant Error: SSL certificate problem: unable to get local issuer certificate

D:\Users\Vagrant\DefaultVagrant>vagrant init hashicorp/precise64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

D:\Users\Vagrant\DefaultVagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'hashicorp/precise64' could not be found. Attempting to find an
d install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
The box 'hashicorp/precise64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://atlas.hashicorp.com/hashicorp/precise64"]
Error: SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

暫時的解決方法十分簡單
我們可以在剛建立的Vagrant資料夾內開啟”Vagrantfile
Vagrantfile
之後加入這句設定來 進行insecure connection

# 把Download 設定來 insecure download 便可以暫時解決 SSl Certification verification的問題了
config.vm.box_download_insecure=true;

Vagrant download insecure
儲存之後再執行

vagrant up

應該便可以起動這個Virtual Machine了

如果大家知道怎樣可以解決 SSL certification verification 的問題
歡迎大家分享

Hope you find it useful

Vagrant 筆記

最近朋友們都問我有沒有用Vagrant
我當然沒有用過..我工作的公司都很小放資源去學新東西
因為最近想自己更新一個 Host這個 Blog
http://sharechiwai.com的 VPS server
最好的方法是 建立一個Virtual Machine來試試
使用Vagrant可以嘗試記下設定
之後寫進Config
將來可以跟著這些Config來建立新的Server
Vagrant - Development Environments made easy

由於我還是Vagrant 新手..
很多概念都可能不正確…
如果發現有不對的話
請更正的的錯誤..

謝謝大家
Hope you find it useful