gotagota日記

「面白きことは良きことなり」

Nginxで自宅サーバを構築

Nginxで自宅サーバを構築

インターンの学習課題であるNginxについてえらく時間がかかってしまったのでメモ。
あと注意事項ですが、なんせばりばりのペーペーが、最悪OS(今回はDebian)入れなおせばいいやーくらいの気持ちでやったことなので、あくまで自己責任ということでお願いします(笑)

Debian(Wheezy)に最新版のNginxをインストールしてみる

なにも考えず
$ sudo apt-get install nginx
とすると恐ろしく旧いバージョンのNginxがインストールされてしまうそうなので、ひと手間かけて最新版をインストールしてみる。

手順

  1. パッケージの公開鍵をダウンロードしてapt-keyで追加する
    $ wget "http://nginx.org/keys/nginx_signing.key"
    $ sudo apt-key add nginx_signing.key

  2. nginxのサイトをリポジトリに追加する
    $ sudo vim /etc/apt/sources.list
    でファイルを開き、vimを使って下二行を適当な場所に追加する。
    deb http://nginx.org/packages/debian/ wheezy nginx
    deb-src http://nginx.org/packages/debian/ wheezy nginx

  3. アップデートして登録を反映
    $ sudo apt-get update

  4. apt-getを使いインストール
    $ sudo apt-get install nginx

  5. バージョンを確認
    $ sudo nginx -v
    2014/2/19時点では
    nginx version: nginx/1.4.4
    と出力されました。

参照URL

Debianで最新版のnginxをapt-getでインストールする - 飲んだり寝たり

Nginxにwgetでアクセスしてみる

先ほどインストールしたNginxを起動し、確認してみる。

手順

  1. Nginxを起動し、状態を確認
    $ sudo /etc/init.d/nginx start
    $ sudo /etc/init.d/nginx status
    状態を確認。
    [ ok ] nginx is running.
    と出力されればOK。

  2. アクセスできる常態か確認
    $ wget http://localhost -O -
    でHTMLが出力されれば一応アクセスできることの証。

プライベートIPアドレスを固定化してみる

サーバを立ち上げるたびにプライベートIPアドレスがころころ変わると厄介なので固定する。

手順

  1. バックアップを取る。
    $ sudo cp /etc/network/interfaces /etc/network/interfaces.default

  2. 編集する。
    $ sudo vim /etc/network/interfaces
    vimを起動し、
    iface eth0 inet dhcp
    の部分を
    iface eth0 inet staticに書き換え、その下に例えば
    address 192.168.0.100 # ← 固定したいIPアドレスを入力
    netmask 255.255.255.0 # ← このまま入力
    gateway 192.168.0.1 # ← 各人のゲートウェイを入力
    と必要な情報を書き加え、保存して終了。

ゲートウェイがわからないというひとは以下を参照。

デフォルトゲートウェイの設定

  1. 再起動する
    設定を反映するために
    $ sudo /etc/init.d/networking restart
    と打ち、再起動する。
    ・・・・これで反映しない場合は
    $ sudo reboot
    で再起動すると反映されるはず。

ちなみに現在のIPアドレス
$ /sbin/ifconfig
で確認可能。

参照URL

リナックス LINUX 初心者の会 - IP アドレス固定 Debian

ぽこつん研究所 » 自宅サーバー構築メモ(Debian squeeze)#1 SSHと固定IP

自宅サーバ構築

ここまでは割りとさらっといけました。
しかし問題は次でした。

お名前.comで取得したドメインと紐付けても一向につながらない・・・!!

格闘すること数時間。

なにやら機器の設定に問題があるようだと判明。

「静的IPマスカレード」の設定や「ファイアウォール」の設定、「ポート開放」の設定等をいじらないといけない場合があると・・・hmhm。

そっからまたそれぞれ調べて色々いじってはみた結果、どうやらルータの設定がいかんということに気がつく。

ということで

http://192.168.1.1/

とブラウザに打ち、ルータの設定画面を開く。

あくまで自分の場合ですが、使っているルータがNTTから貸し出されている「PR-400NE」という機種で、この機種には「ワンタッチ設定」というなんともお手軽なものがあり、公開したいWebサーバのIPアドレスを登録するだけでもろもろの設定をこなしてくれました。めちゃくそラッキーです。

各人によって状況が異なると思われるので、その道のエキスパートに尋ねるか、気になる部分があれば調べる→いじってみる、調べる→いじってみるの繰り返しをおすすめします!
何か言ってるようで何も言っていない二行

Nginxの設定(バーチャルサーバの設定)

インストールし、起動したNginxに、独自ドメインを紐付けても、Nginxの設定をしていなければつながらないので、その設定手順を。
以下の手順はデフォルトのページを独自ドメインに紐付けるという一番手抜きのもの。
しっかりと専用フォルダをつくったりだとかしたい場合は

nginx連載1回目: nginxの紹介 - インフラエンジニアway - Powered by HEARTBEATS

の連載をしっかりと読むことをおすすめします。

手順

  1. バーチャルサーバ設定ファイルのパスが通っていることを確認
    $ sudo cat /etc/nginx/nginx.conf
    で、読み込ませたいファイルのパスが
    http {
    include /etc/nginx/conf.d/*.conf;
    }
    であることを確認。
    (デフォルトなのでインストールしたままいじってなければ当然ここにある)

  2. いじるべき設定ファイルを見定める
    $ sudo ls /etc/nginx/conf.d/
    で見ると、
    default.confexample_ssl.confの2つのファイルがあるはず。
    後者はSSLの設定を用いたバーチャルサーバの設定ファイルなので今回はスルー。

  3. いよいよ設定ファイルをいじる
    $ sudo vim /etc/nginx/conf.d/default.conf
    vimを立ち上げ、ファイルを開く。

server {
server_name localhost;
}

いじるべきはlocalhostの部分だけ。
ここに、例えば

server {
server_name http://example.com/;
}

のように、取得した独自ドメインを入力する。

  1. 設定を反映させるために再起動
    $ sudo /etc/init.d/nginx stop
    $ sudo /etc/init.d/nginx start
    起動してるか心配だったら
    $ sudo /etc/init.d/nginx status
    で状態を確認できる。

結語

たぶんこれでいいはず!!!(笑)

正直に言うと、自宅サーバ構築の部分の設定がいまいちチンプンカンプンであります。

小難しい設定は個々の使用状況によって変わってくるのでここは自分の脳力とgoogle先生の力の見せ所かもしれません。
あと、グローバルIPアドレスに関しても動的なものだといちいち変わってしまってやっかいなので本来であれば固定すべきものでありますが、いかんせんお金がかかるし、そこまで本格的に運用する予定はいまのところないのでやりませんでした。

バーチャルサーバの設定に関してもはじめよくわからなかったけれども、何回も読みなおして、自分の手でいじっていくことでなんとか把握出来ました。

思い出しながら書いたので、どっかしら抜けている部分もあるかもわかりませんので、指摘してくだされば幸いでございます。