Linuxの基本1WebサーバーならApacheが常識
将来ITエンジニアで生計を立てたいと思っている人はLinuxを習得することは避けて通れない道でしょう。でもCUI(Character User Interface)のLinuxを身につけるのは簡単ではないです。
この記事ではLinuxを習得したい人のために、私が初めてLinuxをいじり始めたときの経験をもとに、最も需要の多いWEBサーバーについて説明します。
Webサーバーとかhttpとかアドレスとかの仕組み
サーバー構築に必要な知識に絞って説明します。
皆さんはPCのブラウザを開くとアドレス欄にhttp://yahoo.co.jpとか書いてあるのを見たことがあると思います。yahoo.co.jpというのはアドレスです。アドレスを入力するとyahooのWebサイトを見ることができる仕組みになっています。
このWebサイトのデータはどこに置いてあるんでしょうか?これはYahooのデータセンターにあるWebサーバーというコンピュータの中に保存されています。このサーバーとはWebサービスを動かすコンピュータのことで、この他にメールサービスやFTP(ファイル交換)サービスなどがあり、普通1台のサーバーではこれら複数のサービスが動いています。
アドレスとはこの1台のサーバーを指す住所です。インターネットの住所は「182.22.59.229」のようなIPアドレスなのですが、yahoo.co.jpのようなドメイン名を入力すると、プロバイダのアドレス変換サービスみたいなサーバーでIPアドレスに変換されて宛先サーバーに届きます。
httpと書くのはこのサーバーのWebサービスに届けてください。という意味です。182.22.59.229がビル名、httpが入居している会社名みたいなもんでしょうか。
自分専用のドメインを登録する
すでにインターネットに接続されたLinuxを持っているとして話します。まだLinuxがない人は以前の記事を参考にLinuxを用意してください。
Webサーバーの醍醐味ですが自分の好きなドメイン名を登録しhttp://jibun-no-sukina-namae.jpのようなアドレスを登録することができます。
前項に出てきた「アドレス変換サービスみたいなサーバー」のことをDNS(Domain Name Service)サーバーと言います。世の中のDNSサーバーはIPアドレス←→ドメインの変換情報を共有しあっていて、中には無料で使えるDNSサーバーもあります。
私は長い間無料のMyDNSを使っています。ちょっと登録が複雑ですが、サイトの使用方法を参照して、あなたの持っているLinuxサーバーのIPアドレスと好きなドメイン名を登録をしてみてください。
DNSサーバーの設定が世界中に共有されるには時間がかかります。その間にLinuxサーバーにWebサービスを設定してしまいましょう。
Webサービスをインストール、設定する
皆さんはLinuxサーバーの管理者(root)パスワードを知っていると思います。管理者権限を持っていないのであれば管理者に相談してください。ユーザーとしてWebサイトを作ることもできると思います。
ここからは私が使っているDebian Linuxの管理者権限で話を勧めます。
まずWebサービスのインストールをします。はじめにapt-getを最新の状態にします。
# apt-get update
次にWebサービスをインストールします。Webサービスにも何通りかあるんですが、ここでは1番メジャーなapacheをインストールします
# apt-get install apache2
たくさん出力が出てきますが、これだけでWebサービスがインストールされました。http://jibun-no-sukina-namae.jpにデフォルトページが表示されます。デフォルトページが表示されればインストール成功です。デフォルトページ内に「It works!」と表示されます。
このファイルは/var/www/html/にあるindex.htmlというファイルに保存されています。html形式でこのファイルを変更してみましょう。Webサイトの内容が更新されます。
Linuxサーバーを家のネットワークで運用する
一般家庭のネットワークにつながったLinuxでも、世界に向けてWebサイトを公開することができます。
例えばNTTの光回線ではルータのネットワーク側はIPアドレスが割り振られています。ですが、このIPアドレスはルータの電源が入るたびに自動で割り振られるので、何番になるかわかりません。
このようなネットワークからサーバーを公開する場合はダイナミックDNSを利用します。ダイナミックDNSはルータのIPアドレスが変わるたびに新しいアドレスをDNSサーバーに連絡します。
ダイナミックDNSの機能は先ほどのMyDNSでも提供されています。MyDNSのHPにダイナミックDNSの説明がありますので見てください。
それと家のルータもWebサーバー公開用の設定が必要です。ルータごとに方法が違うのでルータの説明書を確認してください。
まとめ
この記事ではLinuxの勉強方法としてWebサーバーを建てる方法を紹介しました。この他にもapt-getでインストールできるサービスがたくさんあるのでとにかく勉強のネタとしてサービスをインストールしてみるのがいいと思います。