「Nginxのインストール」の版間の差分
Rin-scrooge (トーク | 投稿記録) |
Rin-scrooge (トーク | 投稿記録) (→参考サイト) |
||
(同じ利用者による、間の11版が非表示) | |||
60行目: | 60行目: | ||
<syntaxhighlight lang="bash">ip a</syntaxhighlight> | <syntaxhighlight lang="bash">ip a</syntaxhighlight> | ||
以下のように表示されるかと思います。 | 以下のように表示されるかと思います。 | ||
− | <syntaxhighlight lang="text"></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/> | [https://wiki.archlinux.jp/index.php/Nginx nginx - ArchWiki]<br/> | ||
+ | |||
+ | [[Category:ArchLinux]] | ||
+ | [[Category:Nginx]] |
2019年12月27日 (金) 11:23時点における最新版
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を接続したような感じになります。
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
実行ユーザーの変更
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