はじめに
WordPressは,PHP + MySQL (mariaDB)ベースの動的なCMSです.DSMに内蔵されたWeb Station (ApacheまたはNginx) + PHPがそれぞれ処理します.
*CMS : content management system
今回,一つのNASの上に2つ(以上)のサイトを構築する手順を解説します.
以前にAI君にその方法を問うてみると「できる」と断言されました.その詳細な方法について色々と聞いてみると「それらしい答え」を出してきました.
これまでは,ネット検索では思いついた時に,その都度調査していましたが,求めているサイト/方法/手順は見つけられませんでした.あきられて新しいIP Addressを取得(費用が必要)することも真剣に考えていところです.
しかし,1カ月前,AI君は「できる」と断言しました.その後,1カ月くらい放置して自分の頭の中で熟成させていたこの案件ですが,この土日,及び+3日を使い,更にその詳細についてAI君と共に検討した結果,1台のSynology NASの上に2つのサイトを構築し安定稼働させることができました.2つ目以降のサイトの内容はこれから作っていこうと思ています.
作業概要は,
(1) DSM->File Stationで既存wordpressフォルダー複製
(2)phpMyAdminによる既存のData Baseの移行と修正
(3) Web Stationによるportal(仮想ドメイン?)の設定,
(4) DMSでのText Editorによるwp-config.php, .htaccessの修正,
等です.
当初の検討では,Conatainer Managerを使用したwordpressのコンテナ化によるマルチドメインを検討しましたが,結局は,Web StationのVirtual Host(仮想ホスト)を使用することで一つのNASの上に複数のサイト構築が可能でした.
以下に詳細を解説します.なお,Synology NASの解説は,日本語版では冗長なのでそれを避けて用語などは英語版の表記としています.
構築後しばらくの間で稼働状況についてモニターリングし,追加の対策を実施している.具体的には,cache関係,portal severの設定関係で,トリッキーな挙動(ここに気づくのに時間かがかかった)と安定稼働には必須の設定を追加した.
構築方法
作業する前にバックアップを取ってから進めてるのが良いです.
作業前のバックアップ
hyper backupで現時点での/web以下(既存のwordpressファイルが格納されているfoler)をバックアップします.その他,以下の設定で実行しておきます.
参考 : [Synology] NAS (DS918+/DS920+)の バックアップを考える …
DDNSの取得
以下の方法により構築する2つ目のDomain Nameを用意する.
Let’s Encription証明書
証明書については,Synology NASを複数持っているので,それぞれについてSynologyからDomain Nameを取得している.
表1. Let’s Encrypt の代表的なレート制限
| 制限の種類 | 内容 |
|---|---|
| 同一FQDNでの再発行(同一証明書内容) | 1週間に5回まで |
| 同一登録ドメイン(例:example.com)に対する新規証明書発行 | 1週間に50回まで |
| 失敗した認証試行数 | 1時間に5回まで |
| アカウントごとの登録レート | 制限あり(通常の使用で問題なし) |
Web Stationでの設定
設定の前準備(Control Panelでの作業で示している)として以下のAccess Control Profileを作成しておく.これは安全装置であり、即使用するものではなく、メンテナンス時に有効化して外部からのアクセスを完全に遮断する装置となる。
Longin Portal->Advanedを開き、以下の設定を作成する.
192.168.11.0/24=Allow、All=Denyとしているのは、192.168.11.0に対してLocalからのアクセスのみを許可する設定とする。これは、IPレベルにる入口制御である。
具体的な機能は以下の通り。
表2. Access Control Profile
前準備は完了した。
web stationでは,以下の項目を設定することができる.web stationでの設定手順は,(3) Script language Settings →(2) Web Service →(1) Web Portalの順となる.
図1. Web Stationの設定画面 (Script Language Settingsを選択している状況)
Script Language Settingsでprofileを作成:
作業
Web Service の作成:
Web Serviceでは,以下の項目が表示される.
図2. Web Stationの設定画面 (Web Seviceを選択している状況)
今回の作業では,Native script language websiteを作成する.
Web Serviceは,site Aとsite Bで共用は可能だが,今回は,専用にそれぞれ作成した.
作業:
Web Portalの作成 :
web Portalでは,以下の項目が表示される.
図3. Web Portal 画面
今回の作業では,Customized Portalを以下の手順で作成する.
図4. Web Profile設定
作業: