先日、Oracle CloudでCentOS8のインスタンスを作成しました。
https://minokamo.tokyo/2021/02/02/3305/
本日は、WebサーバーのNGINXをインストールします。
公式サイトのリポジトリを使用してインストールします。
https://nginx.org/en/linux_packages.html
/etc/yum.repos.dというディレクトリにnginx.repoというファイルを作成して、下記の内容を記述します。CentOS8でもyum関連のディレクトリがあります。
sudo vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
メインラインのNGINXパッケージを使用するのでコマンド入力をします。
sudo yum-config-manager --enable nginx-mainline
それではNGINXをインストールしましょう。
sudo dnf install nginx
NGINXの状態を確認します。インストール後は起動してないようです。起動して、さらに再起動後にも自動で起動するようにします。
sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl enable nginx
次にNGINXの設定ファイルを確認します。
cat /etc/nginx/nginx.conf
記述に「include /etc/nginx/conf.d/*.conf;」というものがあり、指定したディレクトリにある.confをインクルードしなさいということです。
このディレクトリに切り替えます。
cd /etc/nginx/conf.d
そこに「default.conf」というファイルがあるので中身を確認してみます。
cat default.conf
ドキュメントルートが/usr/share/nginx/htmlになっていることを確認しました。
違うリポジトリでインストールするとドキュメントルートのディレクトリは違います。以前、これによりNGINXをアップグレードしたときに設定が変わってしまい、記述しなおした覚えがあります。
今度はブラウザでサンプルページを表示するためにファイヤーウォールの設定を確認します。
まずはOracle Cloudのセキュリティリストで外部からアクセスできるようにポートの開放をします。仮想クラウドネットワークから進みます。http(80)とhttps(443)を追加して通信可能にします。
httpsについてはSSLを今後使用するかもしれないので追加しました。
CentOS自体にインストール済みであるファイアーウォール(Firewalld)で状態を確認します。こちらは特に意識していませんでしたが起動していました。どのサービスとポート番号が初期値になっているかも確認します。
sudo systemctl status firewalld
sudo firewall-cmd --zone=public --list-services
sudo firewall-cmd --zone=public --list-port
こちらでもブラウザによるアクセスを受け入れるため、httpとhttpsを許可します。
sudo firewall-cmd --add-service=http --zone=public --permanent
sudo firewall-cmd --add-service=https --zone=public --permanent
sudo firewall-cmd --reload
ここまで設定方法に間違いが無ければNGINXのサンプルページを確認できるはずです。
コメント