Hateburo: kazeburo hatenablog

Operations Engineer / 運用系小姑 / Perl Monger

さくらインターネットの新PaaSの「Hacobune」で phpMyAdmin と WordPress を動かす

昨日オープンベータが開始されたさくらインターネットの新しいPaaS、DockerイメージやGitHubとの連携することで、インフラにとらわれることなく、アプリケーションのデプロイができるようになっています。データベースや永続ボリュームがすでにサポートされ、今後、WebサービスSaaSの基盤として、またチームでの開発に適した機能が拡充されていく予定です。

www.sakura.ad.jp

さっそく試していただき、記事を書いていただいています。ありがとうございます。

qiita.com

qiita.com

この記事ではサンプルのアプリケーションとして、MySQLアドオンを使い phpMyAdminWordPress を立ち上げてみます。

プロジェクトの作成

さくらのクラウドのホームからHacobuneのコンソールへ移動し、新しいプロジェクトを作ります。

f:id:kazeburo:20210813170556p:plain

ここでは名前は hacopress としました。

MySQL アドオンの作成

phpMyAdminWordPressに必要なMySQLアドオンを作成します。プロジェクト一覧からプロジェクトをクリック、アドオンタブに移動し、新規作成ボタンを押します。

f:id:kazeburo:20210813170419p:plain

アドオン名が、今後接続に使うホスト名になります。 タイプで、MySQLを選択し、パスワードとサイズ(ここでは10GB)を指定し、作成します。

しばらく経つと、MySQLが起動します。

f:id:kazeburo:20210813170758p:plain

phpMyAdmin の起動

次に、phpMyAdminを起動します。phpMyAdminは公式のDockerイメージがあるので、そちらを利用します。

hub.docker.com

今度は、アプリケーションタブから、新規作成ボタンを押します。

f:id:kazeburo:20210813171053p:plain

アプリケーション名に任意の名前、デプロイ方法としてDockerを選択し、Dockerイメージ名に「phpmyadmin/phpmyadmin」と指定します。

そして、環境変数の設定をします。

f:id:kazeburo:20210813171223p:plain

PMA_ARBITRARY: 1
PMA_HOST: hacodb # MySQL アドオン名
PMA_USER: root
PMA_PASSWORD: xxx #アドオン作成時に指定したパスワード

この4つを指定しました。

次に、外部公開を有効にして、外部からphpMyAdminにアクセスする際のURLを指定します。

f:id:kazeburo:20210813171503p:plain

また、外部からすぐにアクセスができないよう、Basic認証も付けました。IPアドレスによる制限もかけられるので、任意の公開範囲のサービスやテスト環境の作成もできそうです。

f:id:kazeburo:20210813171629p:plain

これで最後の「作成」ボタンを押すことで、アプリケーションがビルドされて、アクセス可能な状態となります。

f:id:kazeburo:20210813172034p:plain

URLをクリックし、Basic認証のアカウントを入力後、phpMyAdminにアクセスができます。

f:id:kazeburo:20210813172317p:plain

どうやら、MySQLは5.7のようですね。これでphpMyAdminの起動は完了です。次にWordPressの立ち上げをしていきます。

WordPress の構築

まず、WordPress用のDBとユーザをphpMyAdminから作成します。

f:id:kazeburo:20210813172723p:plain

ユーザアカウントタブから、「ユーザアカウントを追加する」のリンクを辿り、必要な項目を入力します。ここでは「同名のデータベースを作成してすべての権限を与える」のcheckboxを有効にし、データベースも同時に作ってます。

ここからはまたHacobuneのコンソールに戻ります。

f:id:kazeburo:20210813173027p:plain

アプリケーションタブの新規作成ボタンを押し、wordpressのDockerイメージを指定します。

hub.docker.com

そして、環境変数をいくつか指定していきます。

f:id:kazeburo:20210813173155p:plain

WORDPRESS_DB_HOST: hacodb # MySQL アドオン名
WORDPRESS_DB_USER: wpdb # WordPress用につくったユーザ名
WORDPRESS_DB_PASSWORD: xxx  # WordPress用につくったユーザのパスワード
WORDPRESS_DB_NAME: wpdb # WordPress用につくったDB名
WORDPRESS_TABLE_PREFIX: wp_ # 任意

外部からアクセスを有効にして、URLの指定

f:id:kazeburo:20210813171503p:plain

さらにもう一つ、WordPressのファイルを永続化するためのボリューム(ディスク)を作成・指定します。「永続化」の項目で新規作成をクリックし、

f:id:kazeburo:20210813173633p:plain

名前とサイズを指定し、ボリュームを作ります。ここでは10GBとしました。

これを、「マウント」のところから利用します。内容を表示ボタンをクリックし、「追加」します。

f:id:kazeburo:20210813173851p:plain

出てきたフォームに /var/www/html を入力、プルダウンで作成したボリュームを選びます。

これで全ての設定が完了しました。最後の「作成」ボタンを押すことで、WordPressアプリケーションがビルドされて、アクセス可能な状態となります。

f:id:kazeburo:20210813174022p:plain

URLをクリックすることで、WordPress の初期画面がでてくるようになりました。

f:id:kazeburo:20210813174259p:plain

あとは、WordPressの初期設定・アカウント作成を行えば、利用可能な状態となります。

試しに記事を作成したり、WordPressの管理画面から画像をアップロードし、その後Hacobuneのコンソールからアプリケーションの再起動などを試してみましたが、データがなくなることはありませんでした。

まとめ

Hacobuneで、MySQLアドオンを作成し、それを利用するアプリケーションを2つ構築することができました。ここまで黒い画面やコマンドを打つをことはありませんでしたネ。

Hacobuneはオープンベータとなり、無料で利用できます。今後、ロードマップにある機能の拡張が行われる予定です。ぜひ利用していただいて、フィードバックいただけると嬉しいです!よろしくお願いします。