メインメニューを開く

差分

Nginxのインストール

8,174 バイト追加, 2019年12月27日 (金) 11:23
== サイトにアクセスして確認 ==
ひとまず、サイトにアクセスして確認するのですが…<br/>
VirtualBoxのネットワーク設定をNATにしていると少々ややこしいので、一旦OSをシャットダウンしてVirtualBoxにNATを追加します。VirtualBoxのネットワーク設定をNATにしていると少々ややこしいので、一旦OSをシャットダウンしてVirtualBoxにNICを追加します。
=== VirtualBoxの設定変更 ===
まずは以下のコマンドでVMシャットダウンしてください。
<syntaxhighlight lang="bash">shutdown -h now</syntaxhighlight>
 
シャットダウンが確認できたら、VirtualBoxの設定を変更していきます。<br/>
 
 
まずは、設定を変更したいVMを選んだ状態で、「設定」ボタンをクリックします。<br/>
[[ファイル:Nginx-001.png|400px]]<br/>
「設定」画面が表示されます。
 
 
次に、左側の「ネットワーク」をクリックします。<br/>
[[ファイル:Nginx-002.png|400px]]<br/>
右側がネットワークの設定画面に切り替わります。
 
 
NICを追加したいので、「アダプター2」のタブをクリックします。<br/>
[[ファイル:Nginx-003.png|400px]]<br/>
二枚目のNICの設定をここでします。
 
 
二枚目のNICを有効にしたいので、「ネットワークアダプターを有効化」にチェックを入れます。<br/>
[[ファイル:Nginx-004.png|400px]]<br/>
一先ず、二枚目のNICが有効になります。
 
 
割り当てを「ホストオンリーアダプター」に変更します。<br/>
[[ファイル:Nginx-005.png|400px]]<br/>
これを選択することにより、なんというか…クロスケーブルでVMとPCを接続したような感じになります。
 
 
最後に「OK」ボタンをクリックします。<br/>
[[ファイル:Nginx-006.png|400px]]<br/>
 
 
VirtualBoxの設定を変更したら、VMを起動してください。<br/>
 
=== NICの設定 ===
VMの再起動が完了したら、以下のコマンドでNICが追加されたことを確認します。
<syntaxhighlight lang="bash">ip a</syntaxhighlight>
以下のように表示されるかと思います。
<syntaxhighlight lang="text">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:06:6c:b6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 85088sec preferred_lft 85088sec
inet6 fe80::a00:27ff:fe06:6cb6/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:35:44:66 brd ff:ff:ff:ff:ff:ff</syntaxhighlight>
 
「enp0s8」が追加されたNICになります。
 
 
次にVirtualBox側の、DHCPサービスの設定を見てみます。<br/>
 
 
VirtualBoxのメニューから「ファイル→ホストネットワークマネージャー」をクリックします。<br/>
[[ファイル:Nginx-008.png|400px]]<br/>
すると、「ホストネットワークマネージャー」のウインドウが表示されます。
 
 
下の様な画面が表示されるはずですが、「DHCPサーバー」タブが表示されていない場合は「プロパティ」をクリックしてください。<br/>
「DHCPサーバー」のタブをクリックします。<br/>
[[ファイル:Nginx-009.png|400px]]<br/>
ウインドウ下半分にDHCPサーバーの情報が表示されます。
 
 
「アドレス下限」と「アドレス上限」に注目してください。<br/>
この範囲のアドレスが、DHCPサーバーにより自動で割り振られるIPアドレスになります。<br/>
今回は固定IPアドレスにしたいので、この範囲外の任意のアドレスを選択します。<br/>
(と言っても、「192.168.56.1」はホストのアドレスに設定されているのでNGですが…)<br/>
[[ファイル:Nginx-010.png|400px]]<br/>
 
 
今回は「192.168.56.11」に設定していきたいと思います。
 
 
 
設定するIPアドレスが決まったので、具体的に設定をしていきます。<br/>
以下のコマンドでネットワーク定義ファイルを新規作成します。<br/>
<syntaxhighlight lang="bash">nano /etc/systemd/network/enp0s8.network</syntaxhighlight>
 
内容は以下のとおりです。
<syntaxhighlight lang="text">[Match]
Name=enp0s8
 
[Network]
Address=192.168.56.11/24</syntaxhighlight>
 
 
ファイルを作成したら、以下のコマンドでサービスを再起動します。
<syntaxhighlight lang="bash">systemctl restart systemd-networkd</syntaxhighlight>
 
 
また、以下のコマンドで「enp0s8」に指定したIPアドレスが設定されていることを確認します。
<syntaxhighlight lang="bash">ip a</syntaxhighlight>
<syntaxhighlight lang="bash">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:06:6c:b6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 86396sec preferred_lft 86396sec
inet6 fe80::a00:27ff:fe06:6cb6/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:35:44:66 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.11/24 brd 192.168.56.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe35:4466/64 scope link
valid_lft forever preferred_lft forever</syntaxhighlight>
 
=== Nginxの確認 ===
やっと、Nginxが正常に起動しているかの確認です。<br/>
ホストマシンのブラウザで以下のURLを参照します。
<syntaxhighlight lang="bash">http://192.168.56.11</syntaxhighlight>
 
 
以下の様な画面が表示されればOKです。<br/>
[[ファイル:Nginx-011.png|400px]]
 
== 実行ユーザーの変更 ==
Nginxを起動するユーザーを変更して、セキュリティの向上を図ります。<br/>
まずは以下のコマンドで、ユーザーを追加します。
<syntaxhighlight lang="bash">useradd -m [userid]</syntaxhighlight>
一応、ユーザーディレクトリを作成していますが、不要であれば「-m」を削除して実行してください。
 
 
次にNginxの設定ファイルを変更します。<br/>
以下のコマンドで、設定ファイルを開きます。<br/>
<syntaxhighlight lang="bash">nano /etc/nginx/nginx.conf</syntaxhighlight>
 
 
一番最初の行を以下のように変更します。
 
 
【変更前】
<syntaxhighlight lang="text">#user html;</syntaxhighlight>
 
 
【変更後】
<syntaxhighlight lang="text">user [userid];</syntaxhighlight>
 
 
変更したら以下のコマンドでnginxを再起動します。
<syntaxhighlight lang="bash">systemctl restart nginx</syntaxhighlight>
 
== ルートディレクトリの変更 ==
次にルートディレクトリの変更を行います。<br/>
今回は仮に「/share/www」ディレクトリに変更すると仮定して、手順を挙げます。<br/>
 
 
以下のコマンドを実行して、nginxの設定ファイルを開きます。
<syntaxhighlight lang="bash">nano /etc/nginx/nginx.conf</syntaxhighlight>
 
 
ファイル内のルートディレクトリの設定をしている個所を、以下のように修正します。
 
 
【修正前】
<syntaxhighlight lang="text" highlight="2">location / {
root /usr/share/nginx/html;
index index.html index.htm;
}</syntaxhighlight>
 
 
【修正後】
<syntaxhighlight lang="text" highlight="2">location / {
root /share/www;
index index.html index.htm;
}</syntaxhighlight>
 
 
変更したら以下のコマンドでnginxを再起動します。
<syntaxhighlight lang="bash">systemctl restart nginx</syntaxhighlight>
== 参考サイト ==
[https://wiki.archlinux.jp/index.php/Nginx nginx - ArchWiki]<br/>
 
[[Category:ArchLinux]]
[[Category:Nginx]]