今回は、Webサーバーのことについて書いていきます。
前回、設定を諸々しましたが、
現在の状態ではまだWebサーバーとして使用できません。
Webサーバーとして使用するために、
ドメインの取得や、
必要なソフトのインストールと設定についてやっていきます。
- ドメインの取得
- ドメインの設定
- Webサーバーソフトの選択
- Webサーバーソフトのインストール
- Webサーバーソフトの設定
まず、ドメインの取得から始めましょう。
実際は、ドメインがなくても動作はしますが、
WebサイトやWebサービスを公開したいのであれば、
必要だと思うので取得しましょう。
ドメインの取得については、どこのドメイン管理会社でもかまいません。
VPSを借りたところと同じところで取得すれば、管理がやりやすいかもしれません。
今回は、エックスドメインで取得したものがあったのでそれを使用することにしました。
今のままだと、ドメインのネームサーバーが違うのでうまくいきません。
VPSのネームサーバーに切り替えてやります。
まず、VPSのDNS設定からです。
DNSというところをクリックして、
ドメインを追加するボタンをクリック。
使用するドメイン名を入力して保存。
登録したドメインをクリックすると、
タイプがNSのレコードがあると思います。
3つあると思うので全部コピーしておきます。
続いて、ドメインのネームサーバーを変更します。
どこのドメイン管理会社を使用しているかによって変わると思いますが、
基本的には、DNS設定というようなところを変更すれば良いです。
やり方は、ネームサーバー設定のところで、
先程コピーした3つのNSレコードを設定してあげれば良いです。
切り替わるまで、時間がかかるので待ちましょう。
続いて、Webサーバーとして使用するために、
Webサーバーソフトをインストールします。
Webサーバーソフトは、有名なものでNGINXとApacheがあります。
どちらを選ぶかはご自身の判断にお任せします。
今回は、Apacheを選択しました。
理由は特にありません。
それでは、Apacheをインストールしていきます。
//SSH接続した状態で以下のコマンド
sudo dnf -y install httpd
インストールが完了したら、起動します。
sudo systemctl start httpd
//自動実行をするように設定
sudo systemctl enable httpd
これで、サーバーのIPをリクエストして、
Apacheの画面が表示されたらOKです。
続いて、設定を行っていきます。
ここで行うのは、
- マルチドメインの設定
- SSL対応
です。
先程取得したドメイン以外でも同じサーバーを使用したいことがあります。
そのため、マルチドメインで使用できるように設定していきます。
SSH接続をして、以下の通り進みます。
//SSH接続した状態で以下のコマンド
//httpd.confを編集します
sudo vi /etc/httpd/conf/httpd.conf
//Listen80と書かれている下に記述
//example.comの部分は実際のドメイン名に置き換えてください。
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName example.com
<Directory /var/www/html/example.com>
Allow from All
AllowOverride All
</Directory>
</VirtualHost>
設定が完了したら、httpdを再起動しましょう。
sudo systemctl restart httpd
続いて、SSL対応をしていきます。
mod_sslというものを使用します。
sudo dnf install mod_ssl
sudo dnf install python3-certbot-apache -y
sudo certbot --apache -d example.com
//諸々聞かれますが、適宜選択してください
ここまででSSL対応は完了していますが、証明書の自動更新がされるようにしていきます。
cronを使用します。
sudo vi /etc/crontab
//以下の内容を一番下に記載
0 0 * * * root /usr/bin/certbot renew
設定が終わったら、httpdを再起動します。
sudo systemctl restart httpd
これでドメインを検索して、SSL対応で表示されていれば設定完了です。
沢山やることがあって大変です。
次の記事では、DBサーバーの設定について書いていきたいと思います。