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に使っていたのを忘れていました…
Vagrantfileを書き換えてプライベートなIPアドレスを設定しましょう。
おそらく以下の記載行があるので、コメントを外してください。
config.vm.network :private_network, ip: "192.168.33.10"
今度は疎通できました。
nginxを入れたばかりだと、/var/www/htmlディレクトリ下がこちらに表示されているかと思います。
必要に応じてnginx.confなどをいじって、環境を構築しましょう。
*1:Vagrantfileのあるディレクトリ