2012/08/25

[VirtualBox] windows下解決移除Host鍵後VM滑鼠無法移出



剛剛我耍笨了

在Win7底下灌VirtualBox裡面跑Ubuntu

然後又把VirtualBox的Host鍵刪除

在停用了滑鼠整合之後我的滑鼠就移不出VirtualBox了

[Ubuntu] Ubuntu 12.04右上角時間出現Invalid UTF-8解決辦法



最近終於灌了Ubuntu了(不過還是在Virtual Box上)

感覺不錯用耶

但是右上角時間日期那邊的中文字(UTF8)會顯示Invalid UTF-8

研究了一下

發現是locale在更新的時候沒設定好

```
$ cat /etc/default/locale
LANG="zh_TW.UTF-8"
LANGUAGE="zh_TW:zh"
LC_NUMERIC="zh_TW"
LC_TIME="zh_TW.UTF-8"
LC_MONETARY="zh_TW"
LC_PAPER="zh_TW"
LC_NAME="zh_TW"
LC_ADDRESS="zh_TW"
LC_TELEPHONE="zh_TW"
LC_MEASUREMENT="zh_TW"
LC_IDENTIFICATION="zh_TW"
```

重登之後就恢復正常了

2012/08/24

[apache2] 在NAT底下使不同網站共用80port





先說說我這邊的網路環境

VDSL小烏龜接ASUS-AP在分給兩台主機

![架構圖](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtLa8t8n3iXIp9VQMnpZHi7wKMkNH4Dh0EmdHQ1keBI6o8gjhkaJvtjNI5NLAfkCjpuT3gREkPDEW84AyLpH17vKtejgrs64DFaCsRH3eU4EsviasYQXHAEYaXDbaiXCf2mZ10q0YTzg/s1600/netstruct.png)

Server A的domain為 www.mydomain.tw
其底下有架設很多個virtualhost(play.mydomain.tw、cool.mydomain.tw)

Server B是我新的一台主機 預計給他的domain是ubuntu.mydomain.tw


從外部連到http://mydomain.tw會跑去Server A

現在Server B也要架一個Web(http://ubuntu.mydomain.tw)

由於Server A已經佔用了外部WAN IP(12.34.56.78)的80 port
(AP的NAT是設12.34.56.78:80給172.16.16.2:80)

所以如果直接在DNS上設定ubuntu.mydomain.tw的A紀錄或是CNAME紀錄到最後都會跑到Server A去

但又不想要設12.34.56.78:81給172.16.16.3:80

因為這樣瀏覽web時要加上port號(http://ubuntu.mydomain.tw:81)

這樣實在很醜

有沒有辦法可以做到我的需求:

瀏覽http://www.mydomain.tw會吐出Server A的這個virtualhost東西

瀏覽http://ubuntu.mydomain.tw會吐出Server B的這個virtualhost東西



那就是利用proxypass了

第一步驟先設定好你DNS的紀錄不管是A或CNAME都可以

是A的話把 ubuntu.mydomain.tw 設 12.34.56.78

是CNAME的話 ubuntu.mydomain.tw 設 www.mydomain.tw
(這部分不詳述)

再來就是重點了

在Server A的apache的設定檔要多設
```
<virtualhost *:80>
ServerName ubuntu.mydomain.tw
ProxyRequest Off # 這邊要為Off才安全
ProxyPreserve On
ProxyPass / http://ubuntu.mydomain.tw
ProxyPassReverse / http://ubuntu.mydomain.tw
</VirtualHost>
```

再來,由於Server A這台電腦也不知道ubuntu.mydomain.tw要如何解

所以必須要指定
Windows在C:\windows\system32\drivers\etc\hosts加上
```
172.16.16.3 ubuntu.mydomain.tw
```

Linux在/etc/hosts加上
```
172.16.16.3 ubuntu.mydomain.tw
```

Server B上的apache要把ServerName設為ubuntu.mydomain.tw喔

全部改完後不要忘記重起服務阿

一切正常後外部連連看http://ubuntu.mydomain.tw

應該就可以正常顯示Server B的網站囉

2012/08/22

[CakePHP 2.x ] Model連線重點

在網路上有很多CakePHP Model設定的教學

都是再說php檔要放哪啦、再Controller如何使用等的

不過似乎都沒有提到一個重點