日記

ホームサーバの最近のブログ記事

新構成でさっそく問題

2011年1月25日 10:58

データの物理的な格納場所を全てNASにまとめたので、今後の運用がちょっと楽になるはず。

と目論んで、USB HDDのデータもNASで共有するようにした。そうしたら、何のデータを扱うのも全部NASの性能が上限になってしまった。当たり前か…。

てゆーか、NASじゃなくてネットワークの上限かもしれない。我が家のネットワークはいまだに100BASEで構築されている。仕事部屋だけでも1000BASEでやり直したいのだが、HUBが高くて。

いま仕事部屋で使っている100BASE-TのスイッチングHUBは8ポート。既にポートはいっぱいで、テスト環境用のPCとノートPCは排他使用状態。次に買い換えるなら16ポートにしたいところ。ところが、1000BASEの16ポートはとても高い。8ポートまでなら割安なのに、16ポートから急に高いんだよ。コストを重視して多段化するか、がんばって16ポートを買うか…悩んでいるうちに1年以上経っちゃった(笑)

でも、今回の構成変更でネットワークがボトルネックになっているのだとしたら、コスト重視でとりあえずメイン環境周辺だけでも1000BASE化しないとダメかもなぁ。どうせ多段にする前提なら、5ポートの1000BASE-TスイッチングHUBでもいいかな?

自宅サーバ再構築

2011年1月25日 10:21

自宅のサーバを再構築した。

■従来構成

・仕事用ファイル/保存用フォルダ:NAS(BUFFALO LS-WH1.0TGL/R1)
・メディアファイル他:USB HDDに保存してUbuntu DesktopでCIFS共有
・Webサーバ:Ubuntu Server

Ubuntu ServerはUbuntu Desktopで動くVMware Server上で動くVM。Webサーバで配信するファイルはUSB HDDにあり、Ubuntu Desktopで提供される共有フォルダとしてUbuntu Server上にマウントし、配信。

仕事用ファイルは完全にNASとして独立しているので、サーバ構成の変更には影響なし。その他のファイルもUSB HDDにまとめられているので、サーバ機能とは切り離せる。

本当は容量の大きなHDDを買ってきて、そちらにデータをデュプリケートしながらのサーバ移行を考えていたのだが、今月はちょっと予算的に厳しいのと、ちょうど作業時間が取れそうなタイミングがあったのでデータはそのままでサーバ機能のみ移行することにした。

■新構成

・仕事用ファイル/保存用フォルダ:NAS(BUFFALO LS-WH1.0TGL/R1) ※変更なし
・メディアファイル他:USB HDDに保存してNASに外付けして共有
・Webサーバ:CentOS
・メディアサーバ:Clip Bucket

サーバ群をVMwareからWalbrixへ移行。Webサーバで配信するファイルは、以前と同様にCIFS共有されたフォルダをマウントして使用。USB HDDの内容はそのままなので、配信サーバがUbuntu ServerからCentOSに変わっても配信内容が一切変わらない。マウント時のフォルダ名を変えたことに合わせて、BASIC認証のパスワードファイルの指定を書き換えた程度。

ClipBucketは、いわゆるYouTubeクローン。放り込んだファイルを自動的に変換して、FLVで配信してくれる。Androidで使えそうだったので導入してみた。

ClipBucketにインターネットからアクセスするために、リバースプロキシを立てた。新たなドメイン名をDynDNSで取得、CentOSにVirtualHostを2つ立て、アクセスに使用されたURLによってWebサーバとClipBucketに振り分けている。

Webサーバは、配信に使うサーバが変わったからといって特に変わることはない。Apache2を使っているのは一緒だし。その辺は特に問題なし。WalbrixだとLAMP環境をそのままダウンロードして起動できるので、インストールしてアレを設定してコレを設定して…とか考えなくて済むのは楽でいい。

ClipBucketは、無線LANで使う分にはいいけどインターネット経由だとどうも動作が重い。サーバの能力が足りないのかな。リバースプロキシもあるしなあ。

‐以下、自分用の技術メモ‐

CentOSでsmbをマウント

yum install samba-client でsambaクライアントをインストール。
mount -t cifs -o user=USERNAME,password=PASSWORD //TARGETIP/DIR /TARGETDIR
fstabは//TARGETIP/DIR /TARGETDIR cifs user=USERNAME,password=PASSWORD 0 0

CentOSネットワーク設定

/etc/sysconfig/network-scripts/ifcfg-eth0 にIPアドレス、サブネットマスク、ゲートウェイ情報を設定。

httpd.confの変更点

DocumentRoot他、ドキュメント関連のディレクトリ指定をUSB HDD上のディレクトリに。AddDefaultCharasetをコメントアウト。

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.sv1.com
    DocumentRoot /DOCUMENT/DIR
</VirtualHost>
<VirtualHost *:80>
    ServerName www.sv2.com
    ProxyPass / http://CLIPBUCKET/
    ProxyPassReverse / http://CLIPBUCKET/
</VirtualHost>

.htaccessの変更点

BASIC認証をかけてあったフォルダはパスワードファイルをフルパス指定してあるので書き換え。

Gentoo Linuxのネットワーク設定

/etc/conf.d/net を編集してIPアドレスを設定。
iface_eth0="192.168.x.x netmask 255.255.255.0"
gateway="eth0/192.168.x.x" 

Walbrixのコンソールから仮想アプライアンスのコンソールにログイン

xm console VMNAME

Googleカレンダーへの試験移行

2010年12月20日 06:28

オープンソースのグループウェア「Aipo」を、もう何年も愛用してきた。使い始めた当初はオープンソースではなく、バージョンは3だった。バージョン4からオープンソース化され、今では最新バージョンは5になっている??アップデートが面倒くさいので、我が家のAipoのバージョンは4で止まっているけれど??。とにかく、そのくらい使い続けたAipoなのだけど、ここにきて廃止を検討し始めている。クラウド化の波に今さら乗り、Googleカレンダーに移行しようかと考えているのだ。

Aipoは実に使いやすいグループウェアだった。グループスケジュール機能を使えば自分と家族と実家の家族の予定を並べて見ることができた。インターフェイスがわかりやすく、しかもユーザごとにホーム画面に表示できる機能をカスタマイズ可能なのがよかった。カレンダー機能だけを表示するようにすれば、実家の家族にも使ってもらえた。

ただ、ひとつだけ解消されない不満があった。それは、他のツールとの同期機能がないことだ。オンラインでさえあれば、どの端末からでも同じ情報にアクセスできるというのは大きなメリットではある。しかし、スケジュールを確認するたびにブラウザを起動し、ブックマークからAipoを選び、IDとパスワードを入力してログインしなければならない。ログインが完了してホーム画面が出るまでには数十秒の時間がかかる。普段は気にならないが、スケジュール確認の電話がかかってきたときなどは、相手を待たせるこの数十秒は結構鬱陶しい。BlackBerryやiPadを持ち歩いているのだから、起動→スケジュールチェック!とスムーズにいきたいのだが、今日現在ではそのためのデータ同期機能がない。サードパーティを含めても。

そこで、GALAPAGOS 003SH購入を機に、Googleカレンダーを使い始めてみた。同期前提なので、携帯端末類も一気にGoogleカレンダー同期環境を整えた。

■BlackBerry

Google Syncをインストールし、Googleカレンダーとの同期を設定。

標準のカレンダー表示では月間表示が使い物にならないひどさ(笑)なので、RocoCalをインストール。月間表示でもスケジュールの題名が確認できるようになる。1日表示や予定編集画面は標準のカレンダー機能が呼び出される。

テーマを、スケジュール表示付きのものに変更した。これまではホーム画面にアイコンが10個と新着メールが7通表示されるものを使っていたのだが、同じ人が作成したスケジュール表示付きのものに変更。直近の予定が3件表示される。

■iPad

こちらも標準のカレンダー機能はあっさり無視してさいすけをインストール。PDA時代から評判の高いスケジュールソフト。やや高価なアプリだけど、作りこまれたスケジュールソフトはインターフェイスが使いやすいので、安心して導入できる。実際、画面表示は見やすく、操作も直感的。Googleカレンダーとは同期するが、iPadの標準カレンダーとは同期しないようだ。

■GALAPAGOS 003SH

こちらも標準のカレンダーがそっけなく見づらいので、ジョルテをインストール。無料アプリだがなかなか使いやすい。ウィジェットとしてホーム画面に直近のスケジュールを貼り付けておくこともできる。

■PC

Outlookの予定表とGoogleカレンダーを同期してくれるGoogle Calendar Syncを導入。これまでまったく使っていなかったOutlook予定表を使うことにした。

モバイルのスケジュールツールは、いずれも国産ツールが自然に選ばれた。この手のツールは日本人と欧米人の感覚の違いが結構はっきり出るので、インターフェイスで選ぶとどうしても国産ツールになるね。Googleのインターフェイスが未だに嫌いだし(苦笑)

で、使い始めてみると、Googleカレンダーはなかなか具合がいい。カレンダーを何種類も作成し、それらをレイヤーのように重ねて表示できる。共有設定した他人のカレンダーも、そのレイヤーのひとつとして取り込める。俺のカレンダーには長男、次男、嫁のカレンダーが重ねて表示されており、それらがすべて色分けされている。色分けはiPadのさいすけにも反映される。

一方、スケジュールの入力、編集などの操作が機器ごとにバラバラになるのは結構大きなデメリット。今後機器が増えたり変わったりしたら、そのたびにアプリから探さなくてはならない。機種ごとに操作が違うので、他人に使わせてサポートするのも面倒くさい。Aipoのようなツールなら、サポート対象ユーザと全く同じ画面を確認できるので、教えるのは簡単なのだ。

本格的に移行してしまうかどうかは、実家の家族次第だな。母親がiPhoneにでもしてくれれば問題ないんだが(笑)

Aipoバージョンアップ

2010年1月18日 10:14

気付かないうちに、Aipoがバージョンアップしていた。2009年12月にリリースされていたらしい。

無料グループウェア『アイポ5』

 うちのサーバで動かしているのは、アイポ4。バージョンアップするかどうかは、これから検討。GoogleカレンダーかOutlookと同期できるようになるといいなと思っていたのだが、今のところ対応してはいない様子。

iPhoneで便利に使えるようになったようだが、きっと今回もBlackBerryには対応してくれていないだろう(苦笑) 開発工数をかけても報われないので、そこに対応しろとまでは言わないけど。こっちも。

Aipo4 from BlackBerry

2009年10月19日 00:11

2009年10月7日のエントリで書いた通り、BlackBerryからはAipo4をうまく扱えない。Aipo4には携帯電話向けのページ表示機能もあるのだが、2009年10月18日のエントリで書いた通り、BlackBerryからはアクセスできない。

BlackBerryの側で対応できないかと情報収集を続けてきたのだが、どうにもならない。BlackBerry側で対応できれば他のサービスにも応用できるので便利だと思っていたのだが、現状では諦めざるを得ないようだ。

他のサービスはともかく、Aipo4は自宅のサーバで動かしているので融通がきく。BlackBerry側で対応できないのであれば、サーバ側で対応してしまえばいい。

Aipo4ではブラウザをいくつかに分類し、それぞれに適したテンプレートを割り当てている。コンパクトHTMLを使うiモードやソフトバンク携帯電話向けにページへとBlackBerryを誘導するよう、ブラウザ判別にBlackBerryのブラウザ情報を追加する。今回はBlackBerry Boldをiモードとして認識させることにした。

関連すると思われるファイルは2つ見つかった。中身は同じだが、置いてある場所が違う。

インストールディレクトリ/aipo//tomcat/webapps/aipo/WEB-INF/conf/client.xreg
インストールディレクトリ/aipo//backup/webapps/aipo/WEB-INF/conf/client.xreg

残念ながらtomcatに造詣が深くないためどちらが影響しているかわからず、今回は乱暴に両方書き換えることにした。書き換えるのは、ブラウザ判別ルーチン。HTTP_USER_AGENTのパターンをiモード携帯電話の項目に書き加えた。

<書き換え前>

<user-agent-pattern>DoCoMo/1\.0.*</user-agent-pattern>

<書き換え後>

<user-agent-pattern>DoCoMo/1\.0.*|BlackBerry9000/.*</user-agent-pattern>

これで大丈夫かなーと思いきや、そうでもなかった。この状態でAipo4をリスタートしてみると、aipo//tomcat/webapps/aipo/WEB-INF/conf/client.xregの方が元に戻っているのだ。何度やっても、自動的に書き直される。何を基準に書き換えているのかは、やはりtomcatの知識もなく見当がつかない。もしかしたらOSごとリブートすればいいのかもしれないが、それも面倒くさい(笑)

ってことで。
今回はリブート後にaipo//tomcat/webapps/aipo/WEB-INF/conf/client.xregを強制的に上書きするという乱暴な手段に出てみた。結果としては、それで成功。BlackBerryから携帯電話向けのページにアクセスできるようになったのだった。これで実用性がぐっと高まった。

LANの現状に関するノート

2009年6月 7日 15:28

2009年6月7日現在のネットワークに関する覚書

マシン名 用途 接続方式
LAGREAT メインPC 有線/固定IP
BEAT ノートPC 無線/DHCP
MR2 シグマリオン3 無線/DHCP
NATSUKO さーらメインPC 有線/DHCP
NEDOKO さーらノートPC 有線/DHCP
JIMNY ファイルサーバ
仮想PCサーバ
有線/固定IP
NSX WEBサーバ 仮想PC/固定IP
STEPWGN Windowsテスト環境 仮想PC/固定IP
ELF NAS 有線/固定IP
BRN_B50B27 複合機 有線/固定IP
- VPNルータ 有線/固定IP
- ニンテンドーWii 無線/DHCP

旧サーバ停止

2009年5月26日 21:26

3月から段階的に進めてきたサーバ移行が完全に完了し、旧サーバの電源を落とした。

旧環境

用途 オンラインストレージ(RAID1) オンラインストレージ Webサーバ 実験用Windows PC
OS Fedora Core 6 Windows XP Home
ハードウェア CHASER (Pentium4 2.4GHz) JIMNY (Celeron D 2.66GHz)

新環境

用途 オンラインストレージ(RAID1) オンラインストレージ Webサーバ 実験用Windows PC
OS - Ubuntu Desktop 8.10 Ubuntu Server 8.10
(VMware on JIMNY)
Windows XP Home
(VMware on JIMNY)
ハードウェア Buffalo WH1.0TGL/R1 JIMNY (Celeron D 2.66GHz)

さらに1TB

2009年5月20日 22:33

数日前に注文してあった商品が、昨日届いた。Buffalo LinkStation。500GBのHDDを2基搭載し、RAID0/1に対応したNAS。送料込で19,800円だった。技術の進歩とそれに伴う価格下落には、買い物のたびに驚かされる。

これをRAID1に設定し、容量500GBのネットワークボリュームとして運用開始。旧サーバのRAID1ボリュームに保存されているデータをこれに移せば、3月から取り組んでいるサーバ移行が完了する。

ところで、NASを接続したら仕事部屋のHUBは8ポートすべて埋まってしまった。データ移行が終わって旧サーバをシャットダウンすればまた1ポート空くけど。そろそろもう1ランク上のHUBも考えないとダメかな。

Apache2とAipoの連携

2009年4月 8日 09:13

今回AipoをインストールしたUbuntu Serverでは、すでにApache2が動作している。そのため、Aipo(tomcat)は自動的にポート81を使うようにインストールされる。これを、Apache2と連携させてhost.name/aipo/ でアクセスできるように設定する。

まず、Proxy関連のモジュールを有効にする必要がある。必要なモジュールは /etc/apache2/mods-available に入っている。
Ubuntu ServerをLAMPオプション付きでインストールした場合に自動的に作られるApache2.confでは、/etc/apache2/mods-enabled にあるモジュールをすべて読みこむ設定になっているので、必要なモジュールを  /etc/apache2/mods-enabled から /etc/apache2/mods-available に移動する。詳しくどれが必要か選ぶのが面倒くさかったので、適当に(笑)

sudo mv /etc/apache2/mods-available/proxy* /etc/apache2/mods-enabled

次に、sites-available/default を編集し、<VirtualHost *:80> 〜 </VirtualHost> の中に次の1文を書き足す。

ProxyPass /aipo/ ajp://localhost:8009/aipo/

さらに、proxyへのアクセス権を設定するために /etc/apache2/mods-enabled/proxy.conf を編集。

        <Proxy *>
                AddDefaultCharset off
                Order allow,deny
                Allow from all
                #Allow from .example.com
        </Proxy>

後は apache2 を再起動したら、http://host.name/aipo/ でアクセスを確認。

Ubuntuにaipoをインストール

2009年4月 8日 09:12

Syo-Takasakiの日記 - アイポ4をDebianにインストール

だめぷろふ記 - aipo4 debian etch-and-a-half 覚え書き

このあたりを参考にさせていただき、Ubuntu Serverにaipoのインストールを試みる。

gcc
libreadline5-dev
zlib1g-dev

辺りが必要らしいのだが、厳密にどのパッケージが必要なのか、把握できない。面倒なので、

sudo su
apt-get install gcc
apt-get install readline*
apt-get install libreadline*
apt-get install zlib*

超手抜きだ。

その後、rpmを使ってパッケージチェックをしているくだりを、installer.shからコメントアウト。

#tmp_str=`cat ${script_path}/bin/rpmlist | grep readline-devel`
#
#if [ "$tmp_str" != "" ]; then
# echo "checking readline... ok"
#else
# echo "checking readline... error"
# echo "readline-develが見つかりませんでした。"
# echo "readline-develをインストールしてください。"
# check_str="ERROR"
#fi
#
#tmp_str=`cat ${script_path}/bin/rpmlist | grep zlib-devel`
#if [ "$tmp_str" != "" ]; then
# echo "checking zlib... ok"
#else
# echo "checking zlib... error"
# echo "zlib-develが見つかりませんでした。"
# echo "zlib-develをインストールしてください。"
# check_str="ERROR"
#fi

この辺はDebianにAipoをインストールした先人達の教え通り。

しかしこれでも全部はうまくいかなかった。postgresqlのパスワードが正常に設定されず、バックアップやデータリストアが動作しない。仕事のスケジュール管理までしているグループウェアで、バックアップができないなんてのは困る。

installer.shをチェックすると、乱数でパスワードを発生させている個所でエラーが発生している。そこで、パスワード生成の処理をすべてコメントアウトし、明示的にパスワードを設定してみることにした。

#str_seed1="abcdefghijklmnopqrstuvwxyz"
#str_seed2="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#str_seed3="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
#str_seed4="0123456789"
#str_seed5="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
#
pass="PASSWORD"
#count=0
#while [ $count -lt 1 ]; do
# ran=`expr $RANDOM % 26 + 1`
# char=`expr substr $str_seed1 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 2 ]; do
# ran=`expr $RANDOM % 10 + 1`
# char=`expr substr $str_seed4 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 4 ]; do
# ran=`expr $RANDOM % 62 + 1`
# char=`expr substr $str_seed5 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 3 ]; do
# ran=`expr $RANDOM % 26 + 1`
# char=`expr substr $str_seed2 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 2 ]; do
# ran=`expr $RANDOM % 52 + 1`
# char=`expr substr $str_seed3 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done

で、これでインストールしたら、ちゃんと動いたよ! Aipo4!

詳細な環境:
Ubuntu Server 8.10
Aipo 4.0.2.0

Aipoを最新版にしなかったのは、現在別サーバで稼働中のものからデータをそのまま移したかったため。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちホームサーバカテゴリに属しているものが含まれています。

前のカテゴリはiPod / iPadです。

次のカテゴリは工人舎 SHです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ブログ内検索