最近のコメント

    ポートフォワードやリバースプロキシなど

    FaceBookアプリつくろうとしたら、FaceBook提供のPHP用のライブラリがPHP5.3以上でないとぺけだったため、取り急ぎクライアントマシンで実装した。公開するときにどうしたらよいか考えた時のメモ

    URLのリダイレクトではなく、特定のURLを内部的に別のWebサーバに処理させたい場合、2つ方法がある。 1つはApacheのリバースプロキシを使用する方法。もう一つはIPTABLESでポートフォワーディングする方法。ポートフォワーディングはポート番号付きのURLになるが・・・

    ・リバースプロキシ

    vi /etc/httpd/conf/httpd.conf

    ProxyPass /foo http://foo.example.com/bar 
    ProxyPassReverse /foo http://foo.example.com/bar

    ・ポートフォワーディング

    vi /etc/sysconfig/iptables

    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    ####-A FORWARD -j REJECT --reject-with icmp-host-prohibited      ←これ無効にし、下記のnatの設定を追加。
    COMMIT
    
    *nat
     :PREROUTING ACCEPT [0:0]
     :POSTROUTING ACCEPT [0:0]
     :OUTPUT ACCEPT [0:0]
    
    -A PREROUTING -i eth0 -p tcp -d 192.168.1.70 --dport 8080 -j DNAT --to-destination 192.168.1.65:80
    -A POSTROUTING -o eth0 -p tcp -d 192.168.1.65 --dport 80 -j SNAT --to-source 192.168.1.70
    
    COMMIT
    

    LXDEとCPU載せ替えでサクサクに!

    Ubuntu11にアップグレードしたところ、かなり遅く感じるようになった。そこで、LXDE(Ubuntu10.10ベース)とCPUの2コア化を検討。
    まず、OSをクリアインストール。Ubuntu10.10ベースのLXDEデスクトップのLubuntuをインストール。標準CPUでも、その起動の速さに驚きでした。ブートローダが起動してから15秒くらいでログイン画面、さらにログインしてから3〜4秒で起動完了します。なんとまぁ。

    さらにヤフオクでAthlon64×2(Socket AM2)を落札(2500円)し、希望通りの超サクサク環境となりました。
    何故か出品者からCPUが2つ送られてきて、返却不要とのこと、ありがとうございました!!ML115はもう1台あるのでラッキーです!オークション長く続けているとたまにありますよね。

    これから必要なアプリなどを入れていくのがちょっと大変そう(LXDEというのは必要最低限のアプリケーションしかインストールされないとのことなので・・・)

    WordPress3で自動抜粋表示をしなくするには

    formatting.php の 下記関数内に 1行追加するだけ。

    function wp_trim_excerpt($text) {
        $raw_excerpt = $text;
        if ( '' == $text ) {
            $text = get_the_content('');
            $text = strip_shortcodes( $text );
            $text = apply_filters('the_content', $text);
            $text = str_replace(']]>', ']]>', $text);
            $text = strip_tags($text);
            $excerpt_length = apply_filters('excerpt_length', 55);
            $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
            $words = preg_split("/[¥n¥r¥t ]+/", $text, $excerpt_length + 1, 
    PREG_SPLIT_NO_EMPTY);
            if ( count($words) > $excerpt_length ) {
                array_pop($words);
                $text = implode(' ', $words);
                $text = $text . $excerpt_more;
            } else {
                $text = implode(' ', $words);
            }
            $text = get_the_content('');
            //↑ 追加 投稿画面で抜粋テキストを未入力とした場合はフルコンテンツ表示
        }
        return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
    }
    

    Ubuntu10でDVDオーサリング

    Ubuntuで幼稚園の発表会DVDを作成することになった。

    ・・・で、まずは必要な手順を大まかに想像してみた

    デジタルビデオ接続→ファイル取得→オーサリングソフトで編集&焼き→チェック

    では実際におこなった手順を下記に示そう。

    1. デジタルビデオカメラから映像ファイルをPCにコピー
      ・USBでビデオカメラをUbuntuマシンに接続
      ・Nautilus(デフォルトのファイルマネージャ)で動画ファイルをさがす
      機種がVictorEverioの場合、/media/EVERIO_HDD/SD_VIDEO/PRG001内にあった。
      対象のファイルは「MOV00A.MOD」的なファイルだった。
      ・MODファイルを適当なフォルダにコピー。ネットでMODファイルはmpegファイルであることを知る。
    2. コピーしたファイルの拡張子をmpgに変換
      ※直接MODファイルが開けるようDVDStylerを設定できれば、HDDへのコピー必要なくなるのだが・・・
      ・ターミナルで当該フォルダに移動
      ・下記を実行し拡張子が一括変更されたことを確認
      >rename ‘s/.MOD/.mpg/’ *.MOD
    3. オーサリングソフトをインストール
      ・下記を実行。いろいろ聞かれるがすべてOK
      >sudo apt-get install DVDStyler
      >sudo apt-get install DVDStyler-data
    4. オーサリングソフト起動
      ・映像形式はNTSC。音声はAC3。テンプレートを選択。
      ・メニューの「DVD」「追加」「ファイルをチャプタとして」を選択
      ※「DVD」「追加」「ファイル」だとファイル毎にタイトルが追加されDVDでチャプタのスキップができなくなる
      ・mpgファイルを複数指定(焼きたい順番でソートする)
      ・メニューを編集(チャプタメニューはデフォルトで作成できなかったので諦めた)
      おまけ映像を別タイトルとして追加した。メニュー2の空白ボタンを削除
      ・タイトル名、メニュー画像などを追加
    5. いよいよ焼き
      ・「ファイル」「DVD書き込み」を選択、そのままでOK押下
      ※時間かかった〜 CPU非力なので3時間くらい・・・
    6. DVDを家庭用のDVDプレーヤでチェックする
      これ重要。

    以上、報告でした

    ubuntu10.4@ML115マシンでFHD(1920×1080)表示

    前回、サウンドカードで苦戦(買い直し)したこともあり入念に調査した。玄人志向GF8400GSがML115+Ubuntu環境において実績有と判断。しかしヤフオクで玄人志向のものは出品なしでAmazon(玄人志向GF8400GS)も納期遅れだったため、PALIT社製の同製品をヤフオクで購入した。

    ヤフオクで2480円なり

    PCI-Express×16コネクタに装着し、電源投入でDVI端子により正常に表示が行われた。設定等も一切弄る必要なく1920*1080表示がなされた。結構拍子抜けである。ただし、アナログRGB端子による表示はできなかった。要注意。

    今回、大きなハマりはなかったのは良かったなと。なにより画面が広くなりUbuntu環境がパワーアップしたことがちょっと嬉しかったです!

    上記のように、広々快適になりました!

    ubuntu10.4@ML115マシンで音を出すの巻

    さて、前回のubuntuインストールから時間が開いてしまったが、サウンドボードの実装でとても手こずっていたのでした。

    ML115G1という激安サーバ機のリビングPC化を進めている訳だが無論デフォルト状態では音はでない。そこでまずはサウンドカードを購入することに。このマシンでは3.3V仕様のPCIバスが利用可能。Creative Sound Blaster 5.1 VX PCI(3.3V/5V両対応) *Amazonで1782円 がML115で動確とのことでしたので、迷わず購入した。しかし取り付けてみるとubuntuとの相性が悪いようで音割れがひどくホワイトノイズになってしまうのでした・・・。動作確認がとれていたのはWindowsの場合だったという落ち。

    もうダメかと思ったときに見つけた情報(ds301bさんの記事)をみて、すぐにヤフオク検索し、1000円程度で入手したカード(写真)を挿してみると・・・でた。クリアな音が。まったく問題なく動作。やはりLinixなんかではちょっと古めのパーツ方が割とうまくいくのかもな、何て思いました。

    SoundBlasterLive! SB0200(ヤフオクで購入)
    SoundBlasterLive! SB0200

    追記:先日秋葉原のジャンク屋でたまたま見つけたSoundBlasterLive!MODEL CT4870 というPCIカードも問題なく利用できたので報告しておきます。(下記、300円というジャンク価格で購入)
    SoundBlasterLive! CT4870

    これでやっとWine+iTuneが試せるばい!

    Ubuntu 10.04 LTS Desktop をインストール

    UbuntuサイトよりDLしたISOをCDに焼いて準備おk。
    マシンもリビングに持ってきた。ML115G1というHP社のエントリー鯖機ですが、 コストパフォーマンスが半端ないマシンです。

    話は横道にそれますが、1年前にこいつをNTT-X Storeで1台12800円で見つけたときに、思わず2台即決購入。1台はコールドスタンバイ的に手つかずで保管してあったものです。その後、2台で2万円で売っていたときはさらに驚いたものです。
    さらに今日、NTT-Xで検索してみたら、姉妹機と思われるML110G5が何と9280円で売られていた(下記)・・・恐るべしデフレ・・・マザーがAMDでないのでCPU換装等の楽しみは少ないですが、それにしても安すぎる!!。メモリも1GBと前より太っ腹だ。

    さて、インストールを開始した。CDブートし、インストーラの指示に従いあっという間に完了。何と簡単。再起動するとFireFoxのアイコンがあり、ネットもすぐ使えてしまった。最近Linuxデスクトップに触れていなかったけど、あまりの簡単さに驚愕してしまう。

    Webkit系のChromeをDLしdebからインスコ。パネルにショートカットを設置しました。

    最後に、Webソーシャル系アプリのリンクたち(Twitter、mixiやらFaceBookやらGmailやら、1つにならんのか・・・)をお気に入りにセットし、本日の作業は終了とあいなりました。

    次回以降は・・・
    ・SMBでファイル共有し、WindowsPCからデータを移す。
    ・Wine + iTuneのインストールに挑戦しようかなと。

    Ubuntu Desktop をリビングのメインPCにする

    我が家のリビングのPC、ネットサーフィンとメールの利用しかしていないが、最近遅い。遅すぎる。コンテンツがリッチになってきたからか。それともデフラグを5年間に1回もしてないからか。買い替えも検討したがそのような理由から、勿体ない気もした。
    そして、Linuxデスクトップという選択肢を思いつく。確かLinuxはWindowsよりも軽いはずだ(推測)。ネットだけなら「あり」なのでは。そして、Linuxにすれば、もしかすると勉強になるのではないかと、ふと思ってみる。
    しかしながら、Linuxデスクトップアプリが豊富になってきたとは言えWindowsでの作業のすべてLinuxデスクトップで本当に満たせるのか否か。結局Windows環境を捨てきれないのではとも、思い至った。
    でもま、やってみっかということで、現在のWindows環境で使用しているアプリなどを列挙してみる。同時にLinuxで代替できるかもググってみることにした。
    • ブラウザ、メーラ → 問題無し(Chromeある、Thunderbirdある)
    • Skype → Linux版(debもrpmも)ある
    • DropBox(ファイル共有ソフト) → これもdebもrpmあった
    • Word、Excel → 仕事のドキュメントを閲覧する用途が殆どなのでOpenOfficeでなんとかなることにする
    • DVDやCDのリッピングもオープンソースのアプリ一入れれば一応できそう。
    • iTune → Linux版はないが、Wineを入れればインストールできるらしい・・・
    • MoneyLook(口座管理ソフト) → みんなの口座管理 というソフトで代替
    なんだぁ、結構Linuxでも行けそうじゃん!まあ何とかするさ。ということで、我が家のリビングのマシンをLinuxにします!とここに宣言。
    マシンはサーバ用に14800円で購入したHPのML115が未使用状態となっていたため、これを使うことにする。OSは、Fedora、SUSE、Vineなどをざっと検討した結果、最近人気が上昇中で情報が多いUbuntuに決定。
    さっそくUbuntuの日本公式サイトからisoイメージ(Ubuntu 10.04 LTS Desktop 日本語 Remix CD )をダウンロードして、CDに焼いてインストールの準備完了。今日はここまでとした。次回は実際にインストールを記事にしたいと思います。
    時間が余ったので、はやる心を抑えつつ、画像検索で壁紙をさがしてみた。
    おすすめを4つ紹介!

    SoftwareRAID(RAID6)構築

    以前、タイの洪水の直後にHDDの価格が高騰したことがあったが、最近は洪水前の価格にほぼ戻ったようだ。ちなみに2TBのSATAディスクが6724円(Amazon)~となっている。その影で寿命を全うすることなく使われなくなったHDDが多数あり。数十GBのものは割りきって捨ててしまっているが、160GB以上はまだもったいない気がして捨てられない。

    古いHDDのイメージ画像

    そこで現在利用中のメール鯖(RAID1 80GB)に対して、もったいないHDDたちでRAID6を構築し、容量UP&高速化、HDDの有効活用!一石三鳥というわけである。

    まず、古いHDDをUSB⇔IDE/SATA変換ケーブルでチェック。正常にマウントし動作している6台を使用する。激安鯖ML115G2に換装した。(IDE 160GB*2、SATA 160GB*4)

    余談だが、当時14,800円で安いと思ったML115でしたが、今は富士通でとても良い安鯖が売られていた。何とCPUはINTELの2コアのようだ。安い。

    Amazon OSレス PCサーバ PRIMERGY TX100S3 2GB 250GB×2 RAID1構成済

    話がそれたが、新規にインストールしたCentOs6に設定したHDDのパーティションは下記のとおりだ。

    パーティション一覧

    hd0

    IDE 154GB

    sde1

    500MB

    raid 1

    md0

    sde3

    150GB

    raid 6

    md1

    sde2

    2.5GB

    swap

    hd1

    IDE 154GB

    sdf1

    500MB

    raid 1

    md0

    sdf3

    150GB

    raid 6

    md1

    sdf2

    2.5GB

    swap

    hd2

    SATA 154GB

    sdc2

    150GB

    raid 6

    md1

    sdc1

    4GB

    swap

    hd3

    SATA 154GB

    sdd2

    150GB

    raid 6

    md1

    sdd1

    4GB

    swap

    hd4

    SATA 154GB

    sda2

    150GB

    raid 6

    md1

    sda1

    4GB

    swap

    hd5

    SATA 154GB

    sdb2

    150GB

    raid 6

    md1

    sdb1

    4GB

    swap

    RAID6というのは初めてだったが、ようはパリティを2箇所に保存するので、RAID5よりは有効容量は減るが2台同時に故障してもOKということらしい。詳しくはWikipediaのRAIDを参照。

    インストール時の注意点は、2つ。

    • 使用するのが古いHDDなのでRAIDパーティションが残ったままになっている場合に認識しないことがある。その場合は、nodmraidをbootオプションに付与すること。
    • ブートローダーにRAIDデバイスを指定しない。md0を指定したがインストール終了後に起動しなかった。今回はsda1に設定し、インストール終了後にgrubコマンドでsdb1にも手動設定することで対応した。

    縮退運転と復旧のテスト

    インストール後、RAIDが正常に動作するかをテストした。

    具体的には、SATA HDDの電源コードを動作中に引っこ抜いてみた。

    これで、RAIDパーティション(md1)に対して、故障した状態を模擬し縮退運転とすることができたようだ。正常に縮退運転に移行したかは下記コマンドで確認する。

    cat /proc/mdstat

     

    md1 : active raid6 sdf3[1] sdc2[4] sdd2[5] sdb2[3] sde3[2]
    614426624 blocks super 1.1 level 6, 512k chunk, algorithm 2 [6/5] [_UUUUU]
    bitmap: 2/2 pages [8KB], 65536KB chunk

    上記のように、UUUUUU_UUUUUになり、縮退(sdaがない状態)となった。

    SATAはホットスワップに対応しているようで(今日まで知らなかった)、用意した別のHDDをセットするとsdgとして認識(dmesgで確認)。fdiskコマンドでパーティションを設定する。sdb等と同じ構成にする。

    fdisk /dev/sdg

    パーティションを構成したら、下記を実行し、RAIDに追加する。

    mdadm –add /dev/md1 /dev/sdg1

    追加と同時に、ReSyncが始まり、15分程度で、正常状態へと戻ったことを確認した。(cat /proc/mdstatで確認)

    尚、ブート側のIDEディスクについては、いきなりケーブル抜くのがちょっと怖かったため、mdadmのfailオプションとremoveオプションにて、故障を模擬、縮退するのを確認した。電源を切り、IDEディスクを交換し、起動後にfdiskにてパーティション構成、mdadm –addして(md0 md1 両パーティション)正常動作に持ち込むことfができた。

    今回、RAID6で2台同時にNGとなった場合のテストはしていないが、暇見てやることとする。