Synology製NASでWebサーバーを開設した

2022年3月30日

Synology製NASが便利なので、いろいろやっているとWebサーバーにもできることを知った。昔からホームページを作りたいと思っていたけど、サーバー管理料がかかるのが少しネックになっていたので、やってみよう。

Web Stationのインストール

パッケージセンターを開いて、Web Stationと検索し、出てきたアプリをインストールする。

アプリを起動する。

ブラウザのURL記入欄に「http://[NASのIPアドレス]」と打って検索すると↓のような画面が出てくる。

これでとりあえず使えるようになったので、次に設定をしていく。
共有フォルダ「web」ができている。ここに任意のフォルダを作ってHTMLファイルを置いていけばサイトを作っていける。例えば「web/mm.mar/index.html」を作ると、「http://[IPアドレス]/mm.mar/」でアクセスができるようになる。

新しいドメインを取得する

最低限の設定はできたが、このままではローカルネットワークでしかアクセスできない。Web StationからDDNSドメイン名を仮想ホストとして設定すれば、外部からでもアクセスできるようになるが、個人的に利用しているその他の便利機能と同じドメイン名をWebサーバーとして公開することになるのは少し抵抗がある。
Synologyが提供するDDNSは1つしか作れないので、別のDDNSサービスを利用する必要があるが、ここではMyDNS.JPを利用したのでそれについて記載する。

MyDNSへの登録

下記のサイトで、会員登録を済ませる必要がある。
https://www.mydns.jp/にアクセスして、「詳しく見る」を押す。

利用規約を読んで理解したら、右上にある「JOIN UP」を押す。

必要事項を記入して、確認を押す。

内容に誤りがなければ、「送信」を押す。
新規登録完了画面が表示されて、MyDNS.JPからメールが届く。
届かない場合は迷惑メールフォルダもチェックする。

再度https://www.mydns.jp/にアクセスして、「ログイン」を押す。

登録した「MasterID」と「Password」を入力し「ログイン」を押す。

「Log Info」画面が表示されるので、「DOMAIN INFO」を押す。

DOMAIN INFOが表示されるので下の方にスクロールすると、下図のような画面がある。

「Domain」のところに、「[任意のドメイン名].mydns.jp」と入力し、
「HostName」のところに、「[任意のドメイン名]」を入力する。
さらにスクロールすると「確認」ボタンがあるので押す。

DSMでDDNS設定をする

DSMに管理ユーザでログインする。

コントロールパネル → 外部アクセス と進む。

DDNS → プロバイダのカスタマイズ と進む。

「サービスプロバイダー」に「mydns.jp」
「Query URL」に「http://www.mydns.jp/directip.html?MID=USERNAME&PWD=PASSWORD&IPV4ADDR=MYIP」と入力して、「保存」を押す。

「追加」を押す。

「サービスプロバイダ」は先ほど設定したプロバイダ「*mydns.jp」を選択する
「ホスト名」はMyDNS.jpで取得したドメイン名を入力する。
「ユーザー名」と「パスワード」はMyDNS.jpのログイン用のものを入力する。
「テスト接続」を押して「正常」と出たら、「OK」を押す。

証明書をインストールする

セキュリティ → 証明書 → 追加 と進む

新しく取得したドメイン名とメールアドレスを入力して「完了」を押す。

作成した証明書をダブルクリックする。

作ったドメイン名の証明書を、作った証明書にする。

外部からアクセスできるようにする

DSMにログインし、Web Stationを開く。

下記のアドインをインストールする。他のは任意。
Apache HTTP Server 2.4
PHP 7.4
phpMyAdmin

「Web サービス ポータル」→「作成」→「サービスポータルの作成」と進む。

「仮想ホスト」を選択する。

「名前ベース」を選択し、
「ホスト名」にMyDNS.jpから取得したドメイン名
「ポート」は「80/443」、「HTTPS」にチェックを入れ「81」とする。
「ドキュメントルート」は「web/wordpress」(任意)とする。
「HTTPバックエンドサーバ」は先ほどインストールした「Apache HTTP Server2.4」を選択する。
「PHP」は「PHP7.4」を選択する。
ここまで終わったら、「保存」を押す。

ここまで完了すれば、「https://(新ドメイン名)」でindex.htmlにアクセスすることができる。

DNSサーバーを設定する

ややこしい話だが、上記の設定のみだと、サーバーが設置されているローカルネットワークに接続した状態で、「https://(新ドメイン名)」でアクセスすることができない。
つまり、自宅のWi-Fiに接続した状態で、スマホからホームページにアクセスできない状態である。これを回避するためにSynologyNASでローカルネットワーク向けにDNSサーバーを立ち上げるということをする。他に方法もあるらしいが、これしかわからなかった。

DNS Serverをインストールする

DSMにログインし、パッケージセンターから、DNS Serverを探しインストールする。

インストール出来たら、DNS Serverを開いて、「解決」を押す。

「解決機能を有効にする」にチェックを入れる。
「フォワーダーを有効にする」にチェックを入れる。
「フォワーダー1」に「8.8.8.8」と入力し、
「フォワーダー2」に「8.8.4.4」を入力する。
これはキャッシュサーバーとして、グーグルのパブリックDNSを指定した状態である。契約しているプロバイダにキャッシュサーバーがあるのであればそれを指定してやるのが良い。

正引きゾーン(Aレコード)の設定

DNS Server → 「ゾーン」 → 「作成」 → 「Master ゾーン」と進みます。

「ドメインタイプ」 → 正引きゾーン
「ドメイン名」 → 新ドメイン名
「マスターDNSサーバー」 → ローカルのIPアドレス
「ゾーン転送を制限」 → チェックを外す
「ゾーンアップデートの制限」 → チェックを外す

下記の状態になればOK。

作成したゾーンを選択 → 「編集」 → 「リソースレコード」 と進む。

「作成」 → 「A type」 と進む。

「TTL」 → 「60」 ※できるだけ早くキャッシュがクリアされるようにするため
「IPアドレス」 → ローカルのIPアドレス 
と入力して、「OK」を押す。

下図の「86400」についても「60」に変更する。終わったら「終了」を押す。

逆引きゾーン(PTRレコード)の設定

もう一度DNS Serverに戻り、「作成」 → 「Masterゾーン」と進む。

「ドメインタイプ」 → 逆引きゾーン
「ドメイン名」 → IPアドレスの逆引き記述 ※「192.168.100.12」なら「12.100.168.192」と記入
「ネームサーバー」 → ns.新ドメイン を指定(先ほど作ったやつなので、リストにある)
「ゾーン転送を制限」 → チェックを外す
「ゾーンアップデートの制限」 → チェックを外す

先ほどと同様に、作ったゾーンを選択 → 「編集」 → 「リソースレコードと進む。

「作成」 → 「PTRタイプ」と進む。

先ほどと同様に
「TTL」 → 「60」
「ホスト/ドメイン」 → ns.[新ドメイン]
と入力し、「保存」を押す。

既に作られている方のTTLも60とする。「終了」を押す。

以上でLAN内のDNSキャッシュサーバの設定が完了した。

DNSキャッシュ動作確認

Windowsボタン → cmd+Enter → nslookup+Enter と進む。
「nslookup [ドメイン名] [IPアドレス]」+Enter
何か出てきたら、
「nslookup google-public-dns-a.google.com [IPアドレス]」 +Enter

1個目は下記のように表示されていればOK
サーバー:ns.[新ドメイン名]
Address:[IPアドレス]
名前:[新ドメイン名]
Address:[IPアドレス]

2個目は下記のように表示されていればOK
サーバー:ns.[新ドメイン名]
Address:[IPアドレス]
権限のない回答:
名前:google-public-dns-a.google.com
Address:2001:4860:4860::8888
8.8.8.8

参照DNSサーバーを変更する

ここまでの設定で、ローカルネットワーク内のすべての端末の名前解決を、NASが担ってくれるようになった。次にすべての端末が、参照するDNSサーバーをNASのDNSサーバーに変更する。ローカルネットワーク内でドメイン名を指定してアクセスすれば、自動的にNASに接続できる状態にするということである。
代替のルーターは、ルータが持つIPアドレスに指定されるようだ。

NASの設定

DSMにログイン → コントロールパネル → ネットワーク → ネットワークインターフェース → LAN1 → 編集 と進む。

「DNSサーバー」を「NASのIPアドレス」に変更して、「OK」を押す。

ルータの設定

私の環境は、eo光のeo-RT100という多機能ルータを利用していた。しかし、調べたところDNSやDHCPのアドレスを変更する項目がないことがわかった。無線ルータとして利用しているTP-Link製のAX20であれば設定できることがわかったので、こちらをルータとして利用することにする。
取説を確認すると、eo-RT100のルーターモードを無効にして、AX20のルーターモードをONにすればよい。ただ、この構成にする場合は、AX20側でeo光に接続するための設定が必要になる。

eo光多機能ルータの取説から抜粋

先にAX20のルーターモードをONにする。TP-Linkの場合は、URLに「http://tplinkwifi.net/」と入力すれば設定画面に入れる。
システム → 動作モード で「WiFiルータモード」をONにする。この状態で2重ルータ状態になる。

次に、eo-RT100をAPモードにする。URLにルータのIPアドレスを入力すると設定画面に入れる。
トップページあるルーターモードのチェックを外して、保存する。

もう一度、TP-Linkルータの設定画面「http://tplinkwifi.net/」に入ると、インターネットに接続する設定画面が現れる。eo光の場合は、PPPOEで接続するが、その時に求められるID,PASSは、eo光登録証にある認証ID,認証PASSである。契約した時に送られてくる書類にあるはず。
インターネットにつながったら、「詳細設定」 → 「ネットワーク」 → 「DHCPサーバー」と進み、プライマリDNSの欄に、NASのIPアドレスを入力して保存する。

eo-RT100で設定していた、ポートマッピングの設定は、「NAT転送」 → 「ポート転送」という項目として存在するので、ここに設定しておく。

以上で設定完了!!!
スマホから、新ドメインでアクセスできるかどうか確認する。
めちゃくちゃ大変な作業だった。

PC_Soft

Posted by T.T.mar.PC