こんにちは id:dhigashi です。
Cloudii のサービスサイト (只今作成中です🤔) では、PHP 製のオープンソースマーケティングオートメーションツール Mautic を導入しています。
Mautic の詳細については公式サイトを御覧ください。
今回 Mautic を検証のため Oracle Cloud 上で稼動させてみましたのでご紹介します。
Mautic について
Requirements には PHP (5.6.19 以上) と MySQL (5.5.3 以上) とあり、
それぞれ Oracle Application Container Cloud Service と Oracle MySQL Cloud Service を利用して構築します。
※ 今回検証に利用する Mautic のバージョンは 2.13.1 です。
Oracle MySQL Cloud Service
Oracle MySQL Cloud Service を利用すると、 全ての機能と操作にアクセスできる MySQL Enterprise Edition Server を Oracle Cloud 上にデプロイできます。
また、Oracle によって提供されるツールにより、バックアップ、リカバリおよびパッチ適用の操作を簡素化することができます。
ストレージコンテナの作成
MySQL インスタンスを作成する前に、まずデータベースのバックアップの為にストレージコンテナを作成します。
今回は Storage Classic にコンテナを作成し、バックアップ先とします。
Storage Classic のサービスページから「コンテナを作成」を選択しコンテナ名を指定します。
今回はコンテナの名前を mautic
とします。
コンテナが作成されました。
また、MySQL インスタンスの作成時に利用する RESTエンドポイント
の値を控えておきます。
検証の環境では https://uscom-east-1.storage.oraclecloud.com/v1/Storage-identityDomainID
となります。
MySQL インスタンスの作成
MySQL Cloud Service のサービスページから「インスタンスの作成」を選択します。
インスタンス名 (MySQL Serverデプロイの名前)、リージョン (コンピュート領域)、その他オプションを指定します。
構成、MySQL構成 及び バックアップおよびリカバリ構成 を指定します。
構成
このセクションでは コンピュート・シェイプ
、SSH公開鍵
などを指定します。
コンピュート・シェイプ
では OCPU と RAM の組み合わせから計算能力を選択します。
詳しくは コンピューティング・パワー を参照して下さい。
SSH公開鍵
ではインスタンスへの接続に SSH を使用する場合に認証に使用するSSH公開鍵を指定します。
今回は新しいSSH鍵ペアを生成し利用する事とします。
高パフォーマンス・ストレージの使用
を有効にすると、SSD による高性能ストレージを使用する事ができます。(今回は無効)
MySQL構成
このセクションでは、データベース・ストレージ
、管理者ユーザー
などを指定します。
MySQL Enterprise Monitorの構成
を有効にすると、インスタンスに MySQL Enterprise Monitor がインストールされます。(今回は無効)
バックアップおよびリカバリ構成
このセクションではバックアップ・オプションを選択します。
今回 バックアップの保存先
は クラウド・ストレージのみ
とし、以下のように指定します。
Key | Value |
---|---|
クラウド・ストレージ・コンテナ | <Storage Classic の RESTエンドポイント>/コンテナ名 https://uscom-east-1.storage.oraclecloud.com/v1/Storage-identityDomainID/mautic |
ユーザー名 | 指定したストレージ・コンテナへのアクセス権を持つユーザー 今回は自身のユーザー名を指定します |
パスワード | ユーザーのパスワード |
この時、クラウド・ストレージとディスク・ストレージ両方
を選択した場合、バックアップの為に 使用可能なデータベース・ストレージ
で指定したサイズと同サイズのディスクストレージが追加されます。
構成を確認し MySQL インスタンスを作成します。
暫く待つと MySQL インスタンスが作成されます。
概要を確認
インスタンスのリソースの概要やパブリック IP アドレスなどが確認できます。
また、ここからパッチの適用やスケールアップなどの操作を行うことができます。
接続の確認
概要で確認したインスタンスのパブリック IP に対して SSH で接続を行います。
今回は MySQL インスタンス作成時に生成した秘密鍵を使用します。
$ ssh -i privateKey opc@xxx.xxx.xxx.xxx ******************************************************************************** * Welcome to * * MySQL Cloud Service * * by * * Oracle * * If you are an unauthorised user please disconnect IMMEDIATELY * ******************************************************************************** ******************************* MySQL Information ****************************** * Status: RUNNING * * Version: 5.7.21 * ******************************************************************************** ************************** Storage Volume Information ************************** * Volume Used Use% Available Size Mounted on * * MySQLlog 6.1G ---- 11% 50G 59G /u01/translog * * bin 2.6G ------- 28% 6.7G 9.8G /u01/bin * * data 216M -- 1% 24G 25G /u01/data * ******************************************************************************** [opc@mauticdb-mysql-1 ~]$
インスタンスに接続できたので、MySQL サーバへ接続します。
この時 opc
ユーザでは接続できない為、oracle
ユーザにスイッチします。
[opc@mauticdb-mysql-1 ~]$ mysql -u root -p Please switch to "oracle" user to use mysql client [opc@mauticdb-mysql-1 ~]$ [opc@mauticdb-mysql-1 ~]$ sudo su - oracle [oracle@mauticdb-mysql-1 ~]$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 38658 Server version: 5.7.21-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mydatabase | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec)
MySQL サーバに接続できる事を確認しました。
続いて Application Container でアプリケーションのデプロイを行っていきます。