さて、今回でWEBサーバー構築は最終回です。
残りのモジュールをインストールして、独自ドメインでサーバーを公開します。
独自ドメインはさくらインターネットを前提にしているのでDNSの設定もさくら独自の設定方法で書きますが、他のところで取得していても基本的な設定内容は変わらないはずです。
また、公開のためのDNS設定ではメールサーバのみレンタルサーバーに処理を任せて、それ以外のアクセスを自宅サーバーへ向けるような設定をします。
参考URLのナナワライネットさんにど真ん中の内容があって大変参考になりました。
【追加モジュールのインストール】
php5-mysql(PHPからMySQLを操作)とphp-apc(PHPの高速化)の2つのモジュールをインストールします。
sudo apt-get install php5-mysql php-apc
【ポート開放とポートマッピング設定】
ルーターのポートを開放して外部からポート80へアクセスがあった時にRaspberry Piへ転送するように設定します。
私の環境であるAterm BL190HWを例に書きます。
さて、ではポート開放とポートマッピングの設定です。
Atermにブラウザでアクセスします。
http://に続いてAtermのローカルIPアドレス(デフォルトは192.168.0.1)を入力すると認証画面が出るのでIDとパスを入力。(デフォルトID:adm、デフォルトパス:admin)
①ポート開放
画面が開いたら詳細設定→パケットフィルタ設定へ
優先度18番まではデフォルト設定になっています。
右下の追加ボタンを押すと入力画面が表示されるので以下のように入力します。(変更箇所のみ)
プロトコル:TCP (TCP FLAGは”指定なし”のまま)
宛先ポート番号:anyのチェックを外し、80 – 80と入力
優先度:19
設定を押して確定し、前のページへ戻るボタンで戻ります。
確認のため、右下の”11~20″のリンクをクリック
以下のように行が追加されていればOKです。
もしwell knownポートを閉じていないなら閉じておきましょう。
本ブログの”02 Windowsソフト の準備とルーター設定“を参考にしてください。
一度左上の保存ボタンを押して設定を保存しておきましょう。
②ポートマッピングの設定
開放した80番ポートにアクセスがあった時にRaspberry Piへ転送するよう設定します。
詳細設定→ポートマッピング設定へ進み、右下の追加ボタンを押します。
設定を以下のように入力します。
LAN側ホスト:Raspberry PiのローカルIPアドレス
プロトコル:TCP
ポート番号:80 – 80
優先度:1
設定ボタンを押して確定します。左上の保存ボタンで保存。
この状態でアクセスできるか確認します。
まだDNSの設定をしていないのでグローバルIPアドレスでアクセスします。
※LAN内からグローバルIPアドレスを使ってLAN内のサーバーへアクセスすることはできないので別回線でアクセスしてください。(これが分からずずいぶん調べた(汗
スマホがあるならWiFiを切って公衆回線を使ってアクセスするのが一番簡単な方法です。
あとは面倒ですがネットカフェからアクセスするか、友人や親戚に頼むか、外部のプロクシ経由でアクセスするとか。
とにかくサーバーを置いた回線とは別回線でグローバルIPアドレスでアクセスします。グローバルIPアドレスが分からない場合は、確認くんへ(http://www.ugtop.com/spill.shtml)
確認自体はブラウザのURLに
http://グローバルIPアドレス/
と入力してGO!するだけです。
インデックスページが正常に表示されてれば確認終了。
【DNSの設定】
DNSの設定をしてWEBサーバーに独自ドメインでアクセスできるようにします。
疲れていたせいかてきとーな例で説明してるので分からなかったら参考URLを見るべし(人任せ。。)
そもそもDNSが何をしてくれるのか卑近な例で超いい加減に言うと
人の家(ドメイン名)を聞くと住所(IPアドレス)を教えてくれます。
また、家の住所だけじゃなく、そこの家族(ホスト)やポスト(メールサーバ)の場所も教えてくれます。
それではさくらのDNSの設定を見てみましょう。
会員メニューにログインして、
契約情報→ドメインメニューに進み、独自ドメインのゾーン編集ボタンを押します。
すると、こんな感じの情報が出てきます。
【wings2fly.jp家の情報(住所変更前)】
上から見ていきます。それぞれの列の意味は、
エントリ名:誰(どのホスト)についての情報を言っているかを表しています。
タイプ:その後に続くデータの種類です。
データ:情報の内容
まず、@エントリ。@はお家(ドメイン)自体の情報を表します。
NSは誰に情報を聞けばいいか(DNSサーバ名)を教えてくれてます。
Aは住所(IPアドレス)。今はさくらさん家の住所になってます。
MXはポスト(メールサーバー)の場所です。@なのでお家にあります。(10はスルー)
TXTは”チラシお断り!”みたいなことが書いてあります。(主になりすましメール送信防止)
下には家族(ホスト)の情報が書いてあります。
www, mail, ftpの3名とも記載内容は同じですね。
CNAMEはここ見てねってことです。全部@を見れとなってます。
つまり全員お家にいます。
なので、まとめると
wings2fly.jp
www.wings2fly.jp
mail.wings2fly.jp
ftp.wings2fly.jp
のどれでアクセスしても全部同じさくらのIPアドレスへアクセスすることになります。
また、○○○@wings2fly.jpへメールしても、同じくさくらのIPアドレスへ届きます。
さて、最初に書いた通りやりたいのは
・お家全体はRaspberry Piへ引っ越し
・ポストだけはさくらさん家に残す(この時いっしょにmail.wings2fly.jpもさくらに残してポストを管理してもらう)
ではどうするか?
まず、@エントリでAを自分のIPアドレスに変えます。これでお家全体の住所変更ができます。
次にMXを@からmailに変更。→ポストはmail子ちゃんとこにあることにします。
最後にmailエントリにAでさくらさん家の住所(IPアドレス)を指定してやります。
これで、@wings2fly.jp宛のメールはmail.wings2fly.jp=49.212.243.24宛に届くようになります。
家全体は自分のIPへ住所変更したので
wings2fly.jp
www.wings2fly.jp
fte.wings2fly.jp
へのアクセスはすべて自分のIPアドレスへのアクセスになります。
以下、完成形の図
【wings2fly.jp家の情報(住所変更後)】
んじゃ設定してみましょう。
左のほうにある変更ボタンを押します。
まずは@のAを自分のグローバルIPアドレスへ変換。(調べれば簡単にばれるので公開。いたずらしないでね)
(値のところは自分自身のIPに変えてください。)
間違って新規登録を押すと元のAが残ってしまうので、そういう場合は削除ボタンで削除。変更ボタンで登録すれば元のデータは自動で削除されるはず。
つぎに、MXレコードを”10 mail”へ変更。
(スルーしてた10は優先度なのでそのまま残しておいてください。)
最後にmailエントリでAを”49.212.243.24″で登録
元のデータがちゃんと削除されてることを確認してからデータ送信をクリック。
【Postfixの設定変更】
(2014年4月30日追記)
DNSサーバーの情報を変更したため、メールの送受信設定をそれに合わせて変更します。
いままで、メールサーバー名=独自ドメイン名で設定してましたが、DNSの設定でメールサーバー名は独自ドメインの頭にmail.をつけたサブドメインになります。
postfixの設定とメールソフトの設定を変更する必要がありますが、メールソフトの設定は割愛。postfixの設定を変更します。
【postfixの設定変更箇所】
設定ファイルは/etc/postfix/main.cfです。
最後に追加したリレー部分の設定を変更します。
sudo vi /etc/postfix/main.cf
671行目付近
relayhost=[wings2fly.jp]:587
↓ 変更
relayhost[mail.wings2fly.jp]:587
ここでテストメールを送付するがうまく送信できません。
キューの状態を確認
mailq
うまく送信できずリトライを繰り返しているようです。
いったんキューを全削除します。
sudo postsuper -d ALL
再確認
mailq
Mail queue is empty
メールのログを確認します。リトライを繰り返していたせいでひどい量のログをはいてます。
ログは/var/log/mail.logです。
さくらのメールサーバー曰く
530 5.7.0 Authentication required (in reply to MAIL FROM command))
認証に失敗しているようです。
認証用のファイルを修正します。
一旦書き込み権限をつけて編集
sudo chmod 600 /etc/postfix/relay_password
sudo vi /etc/postfix/relay_password
このファイルのサーバ名が元のままになってたので頭にmail.を付けたサブドメインにして保存
読み取り専用に戻します。
sudo chmod 400 /etc/postfix/relay_password
修正したファイルからhashを作成します。
sudo postmap hash:/etc/postfix/relay_password
追記ここまで
これで設定は終了です。
DNSの情報反映は暫くかかるので、あとで独自ドメインにブラウザでアクセスして確認します。
※ここでもLAN内からのアクセスできない。スマホなどの別回線で試してください。
今回でWEBサーバーの構築は終了です。
うっしゃ、これでRaspberry Piが世界とつながった!Hello World!
2014年4月29日作成
2014年4月30日追記
2014年5月5日草稿公開
2018年6月10日リンク修正