Oracle CloudにMAツール「Mautic」をデプロイする (MySQL編)

こんにちは id:dhigashi です。

Cloudii のサービスサイト (只今作成中です🤔) では、PHP 製のオープンソースマーケティングオートメーションツール Mautic を導入しています。

Mautic の詳細については公式サイトを御覧ください。

www.mautic.org

今回 Mautic を検証のため Oracle Cloud 上で稼動させてみましたのでご紹介します。

Mautic について

f:id:dhigashi:20180724153822p:plain

Requirements には PHP (5.6.19 以上) と MySQL (5.5.3 以上) とあり、
それぞれ Oracle Application Container Cloud ServiceOracle 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 にコンテナを作成し、バックアップ先とします。

f:id:dhigashi:20180725172904p:plain

Storage Classic のサービスページから「コンテナを作成」を選択しコンテナ名を指定します。

f:id:dhigashi:20180725171558p:plain

今回はコンテナの名前を mautic とします。

f:id:dhigashi:20180725171601p:plain

コンテナが作成されました。

また、MySQL インスタンスの作成時に利用する RESTエンドポイント の値を控えておきます。

f:id:dhigashi:20180726095657p:plain

検証の環境では https://uscom-east-1.storage.oraclecloud.com/v1/Storage-identityDomainID となります。

MySQL インスタンスの作成

f:id:dhigashi:20180725173302p:plain

MySQL Cloud Service のサービスページから「インスタンスの作成」を選択します。

f:id:dhigashi:20180725173554p:plain

インスタンス名 (MySQL Serverデプロイの名前)、リージョン (コンピュート領域)、その他オプションを指定します。

f:id:dhigashi:20180725175107p:plain

構成MySQL構成 及び バックアップおよびリカバリ構成 を指定します。

構成

このセクションでは コンピュート・シェイプSSH公開鍵 などを指定します。

コンピュート・シェイプ では OCPU と RAM の組み合わせから計算能力を選択します。
詳しくは コンピューティング・パワー を参照して下さい。

SSH公開鍵 ではインスタンスへの接続に SSH を使用する場合に認証に使用するSSH公開鍵を指定します。

f:id:dhigashi:20180726111158p:plain

今回は新しい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
ユーザー名 指定したストレージ・コンテナへのアクセス権を持つユーザー
今回は自身のユーザー名を指定します
パスワード ユーザーのパスワード

この時、クラウド・ストレージとディスク・ストレージ両方 を選択した場合、バックアップの為に 使用可能なデータベース・ストレージ で指定したサイズと同サイズのディスクストレージが追加されます。

f:id:dhigashi:20180725183423p:plain

構成を確認し MySQL インスタンスを作成します。

f:id:dhigashi:20180725183556p:plain

暫く待つと MySQL インスタンスが作成されます。

概要を確認

f:id:dhigashi:20180725183816p:plain

インスタンスのリソースの概要やパブリック 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 でアプリケーションのデプロイを行っていきます。

cloudii.atomitech.jp

参考文献