今回は、Linuxでは基本のLAMP(Linux,Apache,MySQL,PHP)サーバー構築について話題にしてみます。もちろん、プラグコンピュータやCuBoxといった小型コンピュータ上でのLinuxです。具体的なコマンドやステップについては、専門書、マニュアルを参照いただきたいのですが、日々新しいバージョンに変わっていくのがLinuxの世界です。実際に構築するときには最新の情報で進めていきましょう。このコラムでは、サーバーを立てるということがどういうことなのか、それによって何ができるのか、そしてそれが何の役に立つのかなど、超小型コンピュータを使いこなすためのアイデアを提供します。個人でサーバーを立てるといっても、職業的に利用せず,実際に動作させる頻度が少ない場合、専用のデスクトップ機をずっと動作させておくのは無駄であるし、非効率でしょう。そういった条件では、超小型のLinuxを使うのがちょうどいいわけです。サーバーを立てる目的は種々あります。いや、ありました、というほうが正確かもしれません。と、言うのも、今では無料でブログを開設できるサービスプロバイダーも多く、しかもサーバー自体を管理したりすることもないので、本当にワープロで書き入れていくだけですみます。90年代後半のインターネット黎明期では自分のサイトを作って運営する唯一の方法でした。当時は、自分のファイルを自分のサーバーにおいておき、外からアクセスできるようにするというサーバー構築の目的もありました。これも、dropboxや同様のファイルサービスが無料でしかも大きなスペースを利用できるようになり役目を終えつつあります。しかも、モバイル機器からも簡単にアクセスできるようになりました。メンテナンスの失敗によるファイル喪失や、ネットからの攻撃を受ける脅威を考えるとパーソナルサーバーはあまり実用的とはいえなくなっています。それでもあえて自分で個人のパーソナルサーバーを立てようという目的には何があるのでしょうか。まずは、自分でこれぐらいのことはやれるんだ、という自身のスキル確認。IT関連の仕組みを実体験するというモチベーションがあります。また、あくまで自分のデータを他人には任せられないということもあるでしょう。ハードウェア構成を自由に組んだり、自作のサーバーソフトを動かすという行為は、パーソナルサーバーでしか実現できません。
それでは、LAMPサーバーに戻って話を続けましょう。まず、LAMPサーバーという言い方ですが、専門用語というよりはただの造語です。データベースがPostgreSQLにするならばLAPPになります。一番標準的な表現なのでLAMPというのがイタについたようです。LAMPサーバーのインストールに関しては、これをまとめて一気にやってくれるスクリプトを使う方法もあれば、一つずつ自分で最新のものをダウンロードしてきてソースからコンパイルしてインストールする方法まで数々あります。LAMPを立ち上げてそれぞれのサーバー設定すると、とりあえずWebサーバーとして機能します。ホームディレクトリにindex.htmlを作るとWebページとしてブラウザから表示できているのが確認できます。初めてサーバーを立てた人は、ここで一度感動を味わえます。次に一番サーバーらしく見えるサーバーソフトSambaでファイルサーバーを動かしましょう。まずは、自分だけのファイルサーバーから始めます。LAN環境からのアクセスが可能になりました。ここまでは、DNSの設定をしていないので、外部からアクセスすることはできません。その次はインターネット経由で外部からアクセスしてみましょう。このステップを越えることで一気にネットワークに関する知識がつきます。「NAT越え」ができるようになればある意味プロの仲間入りです(NATについてはそれだけで専門書が一冊書けてしまいます。ひとことではつくせません)。ここでは、多機能ルーターの設定を使いましょう。外部からアクセスするためには固定IPが必要となります。こんなときは、DDNSという無料のダイナミックDNSサービスが使えます。自分の好きなURLとはなりませんが、まずは実験してみるには最適です。ルーターの設定で、LAN内のどのIPの機器と接続するのかを設定することになります。この設定はルーターごとに違っているのでマニュアル熟読が不可欠です。サーバーにうまく設定できるとDDNSのアドレスを使ってインターネットから先のWebページを見ることができるようになります。初めての作業であればここで2度めの感激に浸れます。FTPサーバーをインストールするとインターネット越しにWebサーバーを運用できます。
ここまでが基礎。さて、この仕組みを何のアプリケーションに使うのかという話になります。まず考えられる一つは、ちゃんとしたパーソナルWebサイトをつくること。むろんこれだけだけが目的だとすると最初に述べたとおりで最適な解だといえるものではないかもしれません。LAMPサーバーが構築できていると、その上にWordPressやXOOPS、DrupalなどのCMS(ContentsManagementSystem)が、簡易インストール用に配布されるスクリプトを利用して簡単にインストールできます。CMSを使う場合は、それぞれのユーザやデータベースの作成以外には具体的なテーブルの作成やコーディングなどは不要なのでMySQLやPerlやPHPをほとんど意識することもありません。データベースを直接管理したいとか、特殊な設定をするためにはMySQLやPerlやPHPの知識が必須です。必要に迫られるときにマスターすればいいことですが、やりだせばどんどんやることが広がるのがこの世界です。何か仕様を想定して会員制サイトを作ってみたり、ショッピングカートを設定することができます。一般の共有サーバーではできない、PHPでプログラミングをしてWebアプリを走らせることもできます。Webアプリでサービスが可能になれば、もうそこはプライベートクラウドの完成です。自分で何でもできる完全な世界です。
さて、次に何をしましょうか?アイデアはどんどん広がります。次回は、もうちょっとソフトウェアのサンプルをもとに深堀りしてみましょう。