2012/12/31

いつの間にやら消えていたiPhoneのUSBテザリング設定を復活させる。

最近、iPhone 4SをUSBにさしてもなぜかUSBテザリングしてくれないなぁ?と思っていたら、割と有名な不具合のようで、あちこちのフォーラムサイトにいろいろ載ってました。

MacOS X Snow Leopard(10.6.8) + iPhone 4Sな自分には
https://discussions.apple.com/thread/4367664?start=0&tstart=0
のAppleUSBEtherHost.kext (2.2.0)を使う解決策がキタ━(゚∀゚)━!でした。

AppleUSBEthernetHost.kext 2.2.0を落としてきて解凍して
suでrootになって
rm -r /System/Library/Extensions/AppleUSBEthernetHost.kext
mv /Users/<名前>/Downloads/AppleUSBEthernetHost.kext /System/Library/Extensions/
chmod -R 755 /System/Library/Extensions/AppleUSBEthernetHost.kext
chown -R root:wheel /System/Library/Extensions/AppleUSBEthernetHost.kext
find /System/Library/Extensions/AppleUSBEthernetHost.kext -type f | xargs chmod 644

2012/12/25

iPod touch (第4世代)を家庭用のサーバーマシンにする。ついでに古いマシンと冗長構成にする。

大学院の時から使い続けているiPod touch 第2世代がそろそろ古くなってきたので
& きのうたまたまアキバでiPod touch 第4世代 64GBが13000円で売っていたので


購入。


こいつが2年以上サーバに使ってたほう。彼女との交際期間よりなg(ry
構築したときのメモは→ http://plog.web-hack.org/2011/02/ipod-touch-iphone-php.html

んで、こっちが新しいの。
カメラがついてたり。iOS 6だったり。

・・・。
ん、、iOS 6???

JailBreakできねーじゃん!!!!

しかたがないので、tethered jailbreakで我慢。

蛇足:
 ソフマップさん、頼むからiOS 5.1で初期化処理やってください。
 Jailbreakなんて例外にしても、マップがあれだと、価値が半減ですよ。
 そもそも、iOS 6のっけると動作がモッサリしてるし。

で、

iPod touchをサーバにしていて、不安定になったりしてrebootかけた、ってことは
ここ2年以上一度もないわけだが、
だけども、やっぱりクラッシュしてしまうと(Just Bootをいちいち手元でやってあげないと)サーバとしての機能が果たせないということになるのは困る。

よって、古いiPod touchも残しつつ冗長構成をとることに。


ちなみに、うちはプライベートIPしか振ってくれないマンションゆえ、
OpenVPNとさくらVPSをつかって、ちょっと特殊なネットワーク構成にしていて、

 [web-hack.org]
   ↓
さくらVPS上の鯖 …192.168.123.1
↓  ↓  ↓  ↓
○  ○  ○  ○ …192.168.123.0/24

構築方法は→http://plog.web-hack.org/2011/11/vpsopenvpnipod-touchweb.html

こういうネットワーク構成を前提に説明をすすめます。
以降の作業は、さくらVPS上の鯖でのものです。(新旧iPod touch側は同じHTTPサーバを2つ用意するだけなので、省略)

apache2の下記のモジュールを有効化。
sudo a2enmod proxy
sudo a2enmod proxy_balancer
sudo a2enmod proxy_http

そんで、/etc/apache2/sites-available/defaultに
<VirtualHost *:80> 
    ServerName web-hack.org

    <Proxy balancer://web-hack/>
        BalancerMember http://192.168.123.10/
        BalancerMember http://192.168.123.18/
    </Proxy>

    ProxyPass / balancer://web-hack/
    ProxyPassReverse / balancer://web-hack/
</VirtualHost>
って書く。
192.168.123.10が古いiPod touch
192.168.123.18が新しいiPod touch

これで、あとは
sudo /etc/init.d/apache2 restart
とやるだけで、簡易ロードバランサのできあがり。


なんか
balancer://web-hack/

balancer://web-hack
と書いてしまうと、よくわからない
[Mon Dec 24 23:33:21 2012] [warn] proxy: No protocol handler was valid for the URL /favicon.ico. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
みたいなエラーが出ます。けっこうはまりました。