Samba, TV headend, Transmission, BitTorrent Sync, SoftEther VPN server, CUPS, scanner + buttons + OCR, Postfix, Dovecot, Apache2,
PHP, Mysql + phpMyAdmin, ISPConfig
以前からARMの省電力ファンレスのデスクトップのマシンはホームサーバーに向いているといわれてきました。本コラムでもLAMP(Linux Apache,MySQL,PHP)サーバー構築をインストールする話をしました。それぞれのアプリの設定やカスタマイズ、などは別の記事にするとして、今回は基本のものに付け加えてたくさんのアプリの万能サーバーを目指します。その豪華さを下の図でご御覧ください。
インストールが趣味という方ももちろんいらっしゃいますが、それでも何度もやるのは面倒です。一つのアプリだけじゃなくいくつも入れなくてはなりません。何かインストールする順番とか設定を間違うと次のアプリでまた面倒なことが起こったりします。そんな経験をした人はいっぱいいるでしょう、というかそういう経験を経て育ってきたことでしょう。でも、新しくサーバーをまた作る必要があったら、やっぱり面倒です。こんなものはいかがでしょうか。いっぺんにこれだけをまとめてインストールしてくれます。
元ネタは、
https://github.com/igorpecovnik/Debian-micro-home-server
にあります。解説らしいことは一切ありません。readmeだけです。ここでやることは極めてシンプルです。Debian Wheezy 7.5をインストールして、サーバーの<固定IP>を決めてから、以下のようにインストーラーをgitしてきて走らせるだけです。途中、アプリのIDやパスワードの設定、固定IPアドレスなどを聞かれます。インストールが好きな人は、スクロールしていくコンソールメッセージを見ているだけで幸せになれます。もし、あらかじめ不要と分かっているアプリがあれば、スクリプトで選択をするところでチェックをいれないでおくだけです。
インストール
1. Debian Wheezy 7.5のインストール
Debian Wheezy 7.5のイメージをダウンロードしてきてそれをSDに書き込みます。
http://cubie.nobrainz.de/downloads/Cubox-i_Debian_2.1_wheezy.zip
2. SDカードをPCへ挿入して書き込みをします
$ chmod +x make-sdcard
$ ./make-sdcard
<location-of-your-SDcard> ArchLinuxARM-imx6-cubox-latest.tar.gz |
*<location-of-your-SDcard>はmountなどでSDがどこにマウントサれているかを確認する。/deb/sdb1 /deb/sdb3 などであれば、ここでは/deb/sdb とします。
できたSDをCuBox-i/HummingBoardpに挿入して立ち上げます。シリアル接続されたコンソールもしくはHDMI接続された画面を使うことができます。ログインプロンプトが表示されたら準備完了。
なお、(1)(2)については、”ignition” を使ってインストールすることができます。ignitionについては、コラムの(16) CuBox-i/HummingBoardの簡単インストーラー Ignition が登場 http://goo.gl/Sm0hJK を参照ください。ignitionでの書き込みの場合だと約7分程度でした。(しかしながら執筆時2014年12月上旬時点では正常に書き込みが終了したようにみえるSDでは、実は正常に起動せずIgnitionに戻りました。いずれ修正されることでしょう。)
3. SDカードをCuBox-i/HBへ挿入して立ち上げます。(ignitionを使った場合はリブートをします)
最初にログインするのは id=root, password=1234 ですが、最初の起動(First Run)後すぐに変更を求められます。
以下のサーバーのインストールに進むには、2点行うことがあります。
-Debianではデフォルトでramlogが走っているので、一旦これをとめます。
$ service ramlog stop |
-IPアドレスを固定にします。interfacesファイルを変更して固定アドレスにします。
$ vi /etc/network/interfaces |
例:
auto eth0
iface eth0 inet static
address 192.168.a.b
gateway 192.168.c.d
-サービスをリスタートさせます。
$ /etc/init.d/networking restart |
さていよいよ、micro home serverのインストールをします。
$ sudo apt-get -y install git $ cd ~ $ git clone https://github.com/igorpecovnik/Debian-micro-home-server $ chmod +x ./Debian-micro-home-server/install.sh $ cd ./Debian-micro-home-server $ sudo ./install.sh |
小一時間ほどでインストールは終了します。全自動インストーラーではあるのですが、そこはLinuxサーバーの世界で、素人向きにはなってはいません。何が行われているのかを理解するのはユーザー責任です。各アプリの設定や、IDパスワードの管理もユーザー責任です。
「全自動」インストールのつもりで検証をしたところ、12月初旬ごろでは途中でエラーが生じてストップしてしまいました。一つ解決してもまた次で止まるようなことが続きました。
https://github.com/igorpecovnik/Debian-micro-home-server/archive/next.zip
の中にあるシェルスクリプトinstall.shと、実際のファンクションのインストール部のfunctions.shを参照してエラーの出る部分の対処をするなどが必要で、その対応を整理していたのですが、12月末になってみるとエラーが無く通るようになっていました。来月になるとその状況がまた変わるかもしれませんが、とりあえずはうまくいっています。
さて、無事にインストールが終了した時点でもただプロンプトが返ってくるだけです。
きちんと説明をいれようとすると、どの一つをとっても何ページも必要になるアプリばかりです。それぞれのアプリの使い方や設定詳細はリンク情報からそれぞれのアプリのマニュアルを参照ください。実に豪華なラインアップです。これが全部できたらすごいサーバーですよね。
でも、自分の環境にあわない(たとえばTVとかスキャナーだとか)こともあります。そこで自分流にカスタマイズするのもまたLinux使いの醍醐味です。それらは次の課題として、今回はまず、ありのままのMicro-Home-Serverをまず構築してみます。install.shを走らせると選択したものだけをインストールしてくれます。
では、何がインストールされるのかを見ていきましょう。
実際にどのように設定していくか、どのように使うかについてはまた別途記事にする予定です。
4. インストールされるサーバーアプリ
Apache2, PHP, Mysql + phpMyAdmin
http://httpd.apache.org/docs/2.2/ja/
または
NGINX
http://nginx.org/ja/
まずは、Webサーバーです。おなじみのApacheもしくは数多くの人気サイトでサーバーとして、もしくはプロキシとして利用されているNGINXが選べます。NGINXではperl CGI を動作させるfcgiwrapも同時にインストールされます。
http://<固定IP>:80/ (例 http://192.168.11.100:80 ) にアクセスします。
Samba
http://www.samba.gr.jp/
ファイル共有サーバーの定番です。CuBox-i4であればeSATAの外部記憶装置を増設すると効果的です。CuBox-i1,i2,i2eXの場合では、USB2.0のディスクを増設するか、もしくはSDを奮発して大容量にします。
TV headend
https://tvheadend.org/
TVストリーミングサーバーです。DVB-S,DVB-S2,DVB-C,ATSC,IPTV,Analog videoV4L(PAL)の入力が可能ですが、ほとんどの入力は日本では扱わない方式で有り難みがあまりありません。TV番組表(EPG)を使ってSTBからの入力から録画したり、XMBCのクライアントに対して出力するものとなっています。UIはWebインタフェースとなっている。
http://localhost:9981 からアクセスする
Transmission
https://www.transmissionbt.com/
BitTorrentのクライアントで、ファイルのダウンロード・アップロードをインターネットから行うものです。Macのお馴染みのツールで、いくつものファイルを同時にダウンロード時、棒インジケータが並んでいるのを見ていることでしょう。サーバーにコンテンツをたくさん置いている場合には必須のツールです。
BitTorrent Sync
http://www.bittorrent.com/intl/ja/sync
クライアント間でコンテンツの同期をとるためのツールです。
フォルダをSyncに追加すると、R/Wキーが作成され他のデバイスと共有することができます。キーを表すHTTPS リンクをメールまたはチャットで送信できます。 Syncにフォルダが追加されると、直ちに同じキーを持つフォルダのある他のデバイスを検索し、複数のデバイスが、同期すべき同じフォルダがあることを確認すると、フォルダのコンテンツが全てのピア間で比較され各デバイスは自らのフォルダに更新をします。
クラウドセンターなどはなく、クライアント間で直接シンクをとるというのがBitTorrentの最大の特徴です。サーバー内のフォルダにシンクをかけて共有したりバックアップしたりと使い道は多い。
VPNサーバー
SoftEther VPN server
https://ja.softether.org/3-screens/1.vpnserver
SoftEther VPN はホームユーザーにとっても便利なソフトウェアです。あなたは、自宅に大企業クラスの VPN と同等の VPN システムを構築し、それを自慢することができるようになります。
リモートアクセス
外出先から、自宅にあるサーバーやデジタル機器に、インターネットを経由してアクセスできるようになります。
CUPS
Linuxでの定番のプリンタサーバーです。
http://www10.atwiki.jp/gleaning/pages/23.html
CUPS(Common UNIX Printing System)
Linuxで広く利用されてきた lpd と呼ばれる印刷デーモンがあり、機能的には現在でも充分役に立つが、プリンタごとの詳細な設定がやりにくいといった問題がある。他にも多くの同じような目的のアプリケーションは存在しているが、大勢は「lpdからCUPSへ」という流れにある。
http://<固定IP>:631/printers/
scanner + buttons + OCR
スキャナとOCRのサーバーscanbuttond、pdfocrです。
scanbuttond を利用すれば、スキャナ本体のボタンのプッシュ・リリースを検知し、 好みのアクションを実行できる。手持ちのスキャナがサポートされていなくともネットを当たればパッチの当てかたが色々と出ている。OCRは文字読み取りのアプリです。
Postfix
http://kajuhome.com/postfix.shtml
メールサーバーpostfixはSMTPの機能を持っています。
Dovecot
http://www.server-world.info/query?os=CentOS_6&p=mail&f=2
POPサーバ(受信メールサーバ)を構築するにはメールサーバ(POP/IMAP)Dovecotを使います。
これらは、自分のメールを扱うこともできるが、外部からメールを経由してサーバーのステータスを管理することに使うことでも便利だ。
ISPConfig
Web経由でサーバーを管理するツール。
http://www.ispconfig.org/page/home.html
サービスの管理(デーモンのon/off)や、ステータス監視、Webサイト管理、データベース管理などをここから一括してできるツール。信頼性も高く便利なツール。マニュアルが有料で配布されている。
コメントをお書きください