こんにちは、nodaです。
みなさんは自宅に余っているPCはありますか?
今回は古くなったPCを自宅サーバーにして、インターネットに公開するまでのお話です。
用意するものは以下の3点です。
- 使わなくなったPC(サーバーとして復活させます。) → 以下、2軍PCと呼びます。
- 日常使っているPC(インストールメディアの作成や、ルーターの設定確認などを行います。) → 以下、1軍PCと呼びます。
- Linux OS(今回はUbuntu Serverをインストールします。)を書き込むためのCD-R
それでは早速、自宅サーバーを作って行きましょう。
①Ubuntu Serverをインストール
まずは、1軍PCで「http://www.ubuntu.com/download/server」にアクセスしてイメージファイルをダウンロードします。
ダウンロード完了後、isoファイルをCD-Rに書き込んだらインストールメディアの完成です。
次に作成したインストールメディアを2軍PCにセットしてインストーラーを実行します。
(インストーラーが起動しない場合、BIOSの設定で起動の優先順位を変更してください。)
あとはインストーラーの指示に従って、インストールを完了させるだけです。
※一番最初の言語の選択を日本語にすれば迷わないでしょう。
②Ubuntuの簡単な初期設定を行う
■画面上の文字化けを回避する設定です。
以下のコマンドを入力し、設定ファイルを編集します。
$ LANG=C nano ~/.bashrc
ファイルの末尾に次の設定を追加します。
↑
case $TERM in
linux)LANG=C ;;
*)LANG=ja_JP.utf8 ;;
esac
—————————————-
※nanoエディタの使い方
ファイルの保存…[Ctrl]+[o] → [Enter]
ファイルを閉じる…[Ctrl]+[x]
—————————————-
最後にログアウトして、再度ログインすれば設定完了です。
$exit
■Ubuntuを最新の状態に更新します。
ただし、「upgrade」コマンド実行の前に必ず「update」コマンドを実行します。
(アップデート可能なパッケージの有無を確認するためです。)
$sudo apt-get update
$sudo apt-get upgrade
サーバーの電源を消します。
$sudo shutdown -h now
③いよいよインターネットからアクセスできるようにします。
まずは2軍PCからネットワーク環境を調べます。
次に1軍PCでブロードバンドルーターの設定を調べます。
ルーターはDHCPの設定を変更し、固定IPアドレスを設定してください。
(ルーターの設定は各ルーターのマニュアルを参照してください。)
そして2軍PCのネットワーク設定ファイルを変更します。
$sudo nano /etc/network/interfaces
ネットワーク情報を下記の通り書き換えます。
address ・・・ 固定IPアドレス
network ・・・ 固定IPアドレスの末尾を「0」に置き換え
netmask ・・・ 255.255.255.0
broadcast ・・・ 固定IPアドレスの末尾を「255」に置き換え
gateway ・・・ ブロードバンドルーターのIPアドレス
dns-nameservers ・・・ ブロードバンドルーターのIPアドレス
設定ファイルを保存して終了します。
1度ネットワークを再起動させます。
$sudo /etc/init.d/networking restart
再接続したネットワーク環境を調べてみます。
設定した固定IPアドレスになっていることを確認します。
IPv6が有効になっていると、トラブルの原因になるので無効化します。
システムの設定ファイルを変更します。
$sudo nano /etc/sysctl.conf
ファイルの末尾に以下を追加します。
設定ファイルを保存して終了します。
サーバーを再起動します。
$sudo reboot
再度ネットワーク環境を調べ、IPv6のIPアドレスが非表示になっていることを確認します。
続いて、ダイナミックDNSの設定を行います。
今回は「MyDNS」を使いますので、1軍PCから「http://www.mydns.jp/」にアクセスしてユーザー登録を済ませてください。
ルーターのWAN側IPアドレスをMyDNSに通知するために「fetchmail」をインストールします。
※インストールの前に必ず更新のチェック。
$sudo apt-get update
$sudo apt-get install fetchmail
fetchmailの設定ファイルを作成します。
(ご自身のID・PASSWORD・アカウントに書き換えてください。)
設定ファイルにはパスワードが含まれているので、他人が参照できないようにする。
$sudo chmod 710 ~/.fetchmailrc
fetchmailの動作確認を行います。
$fetchmail
以下のように表示されれば成功です。
「crontab」を起動して実行スケジュールを追加する。
$crontab -e
「nano」エディタを選択し、ファイルの末尾に以下を追加します。
DNSに反映されていることを確認します。
$nslookup nodalab.server-on.net
(ご自身のホスト名に書き換えてください。)
※表示されない場合はしばらく待ってから再実行してください。
「Apache2」をインストールして、動作確認を行います。
※インストールの前に必ず更新のチェック。
$sudo apt-get update
$sudo apt-get install apache2
続いて1軍PCからブロードバンドルーターの設定を変更します。
設定する項目は、「静的IPマスカレード」や「ポートフォワーディング」、「ポート転送」などルーターによって呼び方が異なります。
ルーターのマニュアルを参照の上、「プロトコル」や「ポート」、「IPアドレス」を登録してください。
ここでいよいよインターネットから自宅サーバーにアクセスしてみます。
動作確認方法はブラウザからhttp://nodalab.server-on.net/(ご自身のホスト名に書き換えてください。)にアクセスするだけです。
しかし、サーバーを接続しているLANに接続しての検証は意味がありません。
3G回線のスマートフォンか、マンガ喫茶などに行って試してみましょう。
「It works!」と表示されれば成功です。
最後にファイアウォールを有効にします。
Ubuntu Serverには容易にファイアウォールが設定できる「ufw」というツールがあります。
下記のコマンドでファイアウォールを有効にします。
$sudo ufw enable
しかし、このままの設定だとファイアウォールが、すべてのアクセスを拒否してしまします。
(上記の動作確認を行うとエラーになります。)
以下のコマンドでWebサーバーへのアクセスを許可します。
$sudo ufw allow http
これで再度、Webサーバーにアクセスすると「It works!」と表示されるはずです。
以上で今回のお話は終わりです。
今回はインターネットから自宅サーバーにアクセスするまでのお話だったので、サーバー自体は何の利便性もありません。
次号からは便利なアプリケーションを追加し、最低限のセキュリティを施していきたいと思います。
ではでは。