Webエンジニアの備忘録

およそ自己の作業メモとして残しております。

Vagrant上でWebサーバー構築(Nginx)〜ブラウザ確認まで

前回の記事でVagrantで空っぽのサーバーを作ったところで終わっていましたが、Webサーバーとしてローカルで見られるところまでをメモがてら纏めてみようと思います。

あくまでローカルのVM構築メモなので、インターネットとつながるサーバー構築には利用しないでください。セキュリティ面の考慮がありません。

SSHでのVMアクセス

vagrant ssh でのログインしかできないのは不便なので作っておきます。 

まず、vagrant ssh でサーバーにROOTで入り、ユーザー作成とROOT権限付与をおこなう。

# adduser username

 :

Enter new UNIX password:  // パスワードを設定(ローカルなんで簡単でOK)
Retype new UNIX password:  // パスワードを再入力
passwd: password updated successfully
 :
Enter the new value, or press ENTER for the default // 全部yes
Is the information correct? [Y/n] y

<作成したユーザーのディレクトリに移動>

$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh

$ vi id_rsa.pub  // エディタが起動するので、公開鍵を保存
$ cat id_rsa.pub >> authorized_keys

$ sudo su
# visudo

ローカルのVagrantディレクトリ*1に戻り、SSHエイリアスも作っておきましょう。

$ vi ~/.ssh/config  // 以下のような感じで追記
Host debian80
  HostName 127.0.0.1
  Port 2222
  User username
  IdentityFile ~/.ssh/id_rsa

$ ssh debian80  // これでパスワードを訊かれ、ログインできればOK

ちなみに、IPアドレスやポートなどはVagrantディレクトリで次のコマンドを実行するとわかります。

$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222

 :

Nginxをインストール

インストールとserviceへの設定はこちらのコマンドでOK。

$ sudo apt-get install nginx
$ sudo service nginx start

PortをSSHに使っていたのを忘れていました…

f:id:tak_taniguchi:20150430130713p:plain

 Vagrantfileを書き換えてプライベートなIPアドレスを設定しましょう。

おそらく以下の記載行があるので、コメントを外してください。

config.vm.network :private_network, ip: "192.168.33.10"

今度は疎通できました。

f:id:tak_taniguchi:20150430131035p:plain

nginxを入れたばかりだと、/var/www/htmlディレクトリ下がこちらに表示されているかと思います。

必要に応じてnginx.confなどをいじって、環境を構築しましょう。

 

*1:Vagrantfileのあるディレクトリ