メインメニューを開く

Nginxのインストール

2019年12月27日 (金) 11:23時点におけるRin-scrooge (トーク | 投稿記録)による版 (→‎参考サイト)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

MariaDB同様にVirtualBoxベースであげていきます。
一応、Nginxのインストールだけではなく、ルートディレクトリの変更及びユーザーの変更を行います。

普通にインストール

pacmanコマンドを使用して普通にNginxを入れていきます。
ただ…安定版と最新版の2種類があるのでお好きな方を選択してください。
今回は、最新版をインストールしていきます。

pacman -S nginx-mainline


インストールが完了したら、サービスを起動します。

systemctl start nginx
systemctl enable nginx


サイトにアクセスして確認

ひとまず、サイトにアクセスして確認するのですが…
VirtualBoxのネットワーク設定をNATにしていると少々ややこしいので、一旦OSをシャットダウンしてVirtualBoxにNICを追加します。

VirtualBoxの設定変更

まずは以下のコマンドでVMシャットダウンしてください。

shutdown -h now

シャットダウンが確認できたら、VirtualBoxの設定を変更していきます。


まずは、設定を変更したいVMを選んだ状態で、「設定」ボタンをクリックします。
 
「設定」画面が表示されます。


次に、左側の「ネットワーク」をクリックします。
 
右側がネットワークの設定画面に切り替わります。


NICを追加したいので、「アダプター2」のタブをクリックします。
 
二枚目のNICの設定をここでします。


二枚目のNICを有効にしたいので、「ネットワークアダプターを有効化」にチェックを入れます。
 
一先ず、二枚目のNICが有効になります。


割り当てを「ホストオンリーアダプター」に変更します。
 
これを選択することにより、なんというか…クロスケーブルでVMとPCを接続したような感じになります。


最後に「OK」ボタンをクリックします。
 


VirtualBoxの設定を変更したら、VMを起動してください。

NICの設定

VMの再起動が完了したら、以下のコマンドでNICが追加されたことを確認します。

ip a

以下のように表示されるかと思います。

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

「enp0s8」が追加されたNICになります。


次にVirtualBox側の、DHCPサービスの設定を見てみます。


VirtualBoxのメニューから「ファイル→ホストネットワークマネージャー」をクリックします。
 
すると、「ホストネットワークマネージャー」のウインドウが表示されます。


下の様な画面が表示されるはずですが、「DHCPサーバー」タブが表示されていない場合は「プロパティ」をクリックしてください。
「DHCPサーバー」のタブをクリックします。
 
ウインドウ下半分にDHCPサーバーの情報が表示されます。


「アドレス下限」と「アドレス上限」に注目してください。
この範囲のアドレスが、DHCPサーバーにより自動で割り振られるIPアドレスになります。
今回は固定IPアドレスにしたいので、この範囲外の任意のアドレスを選択します。
(と言っても、「192.168.56.1」はホストのアドレスに設定されているのでNGですが…)
 


今回は「192.168.56.11」に設定していきたいと思います。


設定するIPアドレスが決まったので、具体的に設定をしていきます。
以下のコマンドでネットワーク定義ファイルを新規作成します。

nano /etc/systemd/network/enp0s8.network

内容は以下のとおりです。

[Match]
Name=enp0s8

[Network]
Address=192.168.56.11/24


ファイルを作成したら、以下のコマンドでサービスを再起動します。

systemctl restart systemd-networkd


また、以下のコマンドで「enp0s8」に指定したIPアドレスが設定されていることを確認します。

ip a
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

Nginxの確認

やっと、Nginxが正常に起動しているかの確認です。
ホストマシンのブラウザで以下のURLを参照します。

http://192.168.56.11


以下の様な画面が表示されればOKです。
 

実行ユーザーの変更

Nginxを起動するユーザーを変更して、セキュリティの向上を図ります。
まずは以下のコマンドで、ユーザーを追加します。

useradd -m [userid]

一応、ユーザーディレクトリを作成していますが、不要であれば「-m」を削除して実行してください。


次にNginxの設定ファイルを変更します。
以下のコマンドで、設定ファイルを開きます。

nano /etc/nginx/nginx.conf


一番最初の行を以下のように変更します。


【変更前】

#user html;


【変更後】

user [userid];


変更したら以下のコマンドでnginxを再起動します。

systemctl restart nginx

ルートディレクトリの変更

次にルートディレクトリの変更を行います。
今回は仮に「/share/www」ディレクトリに変更すると仮定して、手順を挙げます。


以下のコマンドを実行して、nginxの設定ファイルを開きます。

nano /etc/nginx/nginx.conf


ファイル内のルートディレクトリの設定をしている個所を、以下のように修正します。


【修正前】

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
}


【修正後】

location / {
    root   /share/www;
    index  index.html index.htm;
}


変更したら以下のコマンドでnginxを再起動します。

systemctl restart nginx

参考サイト