存取Vagrant(Homestead)虛擬機器時取得真實IP

一直以來都是採用預設設定建立homestead虛擬機器,虛擬機預設的網路介面就是nat和hostonly,這樣的環境基本上開發上也沒什麼問題,只是如果要判別client IP的話,不會是真實主機在區網的ip,而是虛擬機裡的gateway IP,例如如果建立虛擬機有指定192.168.10.10的靜態ip,那麼通常程式抓到的client IP應該會是192.168.10.1。

之前有利用虛擬機架設了一個網站提供服務,最近要開發的功能可能需要判斷使用者的真實ip,陸陸續續花了些時間研究,在混亂的網路知識基礎下終於有了些成果,說明如下。

閱讀全文〈存取Vagrant(Homestead)虛擬機器時取得真實IP〉

啟用phpMyAdmin兩階段驗證後卻找不到Google Authenticator的驗證碼

日前因為測試phpMyAdmin的兩階段驗證功能,有使用Google Authenticator作為兩階段驗證的機制,但因故刪了Google Authenticator的驗證碼,卻沒有取消phpMyAdmin的兩階段驗證,結果就沒辦法再透過phpMyAdmin登入mysql。後來找到方法可以解決這個問題。

閱讀全文〈啟用phpMyAdmin兩階段驗證後卻找不到Google Authenticator的驗證碼〉

mysql使用者帳號同時有localhost和%遇到的問題及處理方式

印象中,同帳號不同host可以並存,例如root@localhost和root@%,一直以來開發環境似乎都是這樣。

但今天遇到phpmyadmin的使用者帳號列表提示訊息:因為同帳號有host為locahost的,會導致host為%的帳號無法登入。所以索性刪了root@locahost的使用者,結果還是無法登入,後來推想應該是另一組帳號空白的localhost造成的。

但此時因為已經刪除root@localhost,結果沒辦法再新增刪除使用者。這時可以找到my.ini或my.cnf裡的mysqld段落加上skip_grant_tables,例如:

閱讀全文〈mysql使用者帳號同時有localhost和%遇到的問題及處理方式〉

還好還有悠遊卡可用

本來以為把機車鑰匙和後車箱鑰匙串在一起是一個好主意,但一旦遇到意外就變成了個蠢事。

因為機車裝了個後車箱,包包都塞裡面,騎起車來就很輕鬆。

今天下班牽車,一如往常,開了後車箱準備放包包,

開了車箱後,包包就直接放進車箱,

不知怎的也將機車鑰匙連同後車箱鑰匙塞進包包,

然後順手的關上了車箱蓋。

有兩三秒的時間還不知發生什麼事,

回過神來就傻眼了。

還好今天有將錢包拿出來,還有悠遊卡可以騎youbike去搭火車。

不然從台中走回彰化,大概明天早上才會到吧。

網站移植到Ubuntu 16.04

網站從原本掛在Windows Xp + XAMPP的環境,移植到小筆電 (Toshiba NB550D) 架起的Ubuntu 16.04 的Server上。

本來是希望直接在小筆電上架起Ubuntu server,但server版偏偏架不起來,嘗試安裝桌面版的卻可以。

安裝完桌面版後,接著就只要設定開機不進桌面就像一般server了。

因為Ubuntu 16.04設定開機不進桌面的方式和以往Linux的設定方式不一樣, 閱讀全文〈網站移植到Ubuntu 16.04〉

AcmePhp註冊e-mail時產生AcmePhp\Ssl\Exception\KeyPairGenerationException

通常這個狀況是因為執行環境是windows。

因為AcmePhp註冊e-mail需要產生account key pair

這時候windows的php需要找到 openssl.cnf 的設定 閱讀全文〈AcmePhp註冊e-mail時產生AcmePhp\Ssl\Exception\KeyPairGenerationException〉

Proudly using Dynamic Headers by Nicasio WordPress Design