Altisを使って、ローカルでWordPressサイトを起動させてみた

この記事は、「CMS(WordPressやヘッドレスCMS) Advent Calendar 2022」4日目飛び込み参加の記事です。 WordPress開発のエージェンシーとして世界的に有名な会社の1つ「Human M […]

広告ここから
広告ここまで

目次

    この記事は、「CMS(WordPressやヘッドレスCMS) Advent Calendar 2022」4日目飛び込み参加の記事です。

    WordPress開発のエージェンシーとして世界的に有名な会社の1つ「Human Made」、この会社が公開しているWordPresホスティングサービスのAltisを、ローカルで動かしてみました。

    Next-generation enterprise WordPress hosting.
    Secure, scalable, and flexible. Serving over 38 billion requests every year.

    https://www.altis-dxp.com/

    ローカルで動かすために必要なもの

    • php: composerを動かすために必要です。
    • composer: composerでAltisプロジェクトをセットアップします。
    • Docker: ローカル環境そのものは、Dockerで立ち上がります。
    • Homebrew / yumなど: mkcertなど、いくつかのライブラリを追加で入れる必要がある場合があります。

    ローカルでAltisプロジェクトをセットアップ

    Altisで利用するWordPressは、Composerでセットアップできます。

    $ composer create-project altis/skeleton first-altis
      - Installing altis/analytics-integration-segment (0.2.0): Extracting archive
      - Installing altis/analytics (13.0.0): Extracting archive
      - Installing altis/altis (13.0.0)

    DLが始まります。

    48 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Generating autoload files
    59 packages you are using are looking for funding.
    Use the `composer fund` command to find out more!
    No security vulnerability advisories found

    のように、完了メッセージが出ればOKです。

    プロジェクト構成をみてみる

    とりあえずどんなファイルができたかみてみましょう。

     % tree -I vendor -L 2
    .
    ├── composer.json
    ├── composer.lock
    ├── content
    │   ├── plugins
    │   └── themes
    ├── index.php
    ├── wordpress
    │   ├── composer.json
    │   ├── index.php
    │   ├── license.txt
    │   ├── readme.html
    │   ├── wp-activate.php
    │   ├── wp-admin
    │   ├── wp-blog-header.php
    │   ├── wp-comments-post.php
    │   ├── wp-config-sample.php
    │   ├── wp-content
    │   ├── wp-cron.php
    │   ├── wp-includes
    │   ├── wp-links-opml.php
    │   ├── wp-load.php
    │   ├── wp-login.php
    │   ├── wp-mail.php
    │   ├── wp-settings.php
    │   ├── wp-signup.php
    │   ├── wp-trackback.php
    │   └── xmlrpc.php
    └── wp-config.php
    
    7 directories, 21 files

    なんとなく勘付かれた方もいらっしゃるかもですが、WordPressコアをAltis側で持っています。

    サイトにも説明されていますが、プラグインやテーマをcontentディレクトリ配下に配置するなど、通常のWordPressとはファイル・ディレクトリ構成が変わることに注意が必要です。

    ローカルでAltisのWordPressを起動する

    せっかくなので、このまま起動させてみましょう。

    $ composer server

    途中、ローカル証明書の作成を求められます。

    mkcert root CA was installed and accepted successfully.
    Note: the local CA is not installed in the Firefox trust store.
    Run "mkcert -install" for certificates to be trusted automatically ⚠️
    
    Created a new certificate valid for the following names 📜
     - "*.altis.dev"
     - "*.first-altis.altis.dev"

    その後、Docker ImageのDLが走りますので、少し待ちましょう。

    最後に、立ち上がったWordPressのログイン情報などが表示されます。

    Setting up ElasticPress...
    
    ElasticPress configured.
    Installed database.
    WP Username:    admin
    WP Password:    password
    Startup completed.
    To access your site visit: https://first-altis.altis.dev/

    サイトにアクセスすると、デフォルト画面が表示されます。

    SSL証明書エラーが発生する場合

    composer serveを実行する際に、内部で利用しているコマンドが不足していると、ローカル証明書の作成に失敗することがあります。

    自分の場合は、以下のコマンドで不足ライブラリの追加と、証明書インストールし直しで解決しました。

    $ brew install mkcert nss
    $ mkcert -install 
    The local CA is already installed in the system trust store! 👍
    The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊

    管理画面を見てみる

    /wp-admin/で管理画面にログインできます。

    管理画面はかなりカスタマイズされていて、TOPページで「過去7・30・90日のPV」が見れます。

    パッと見て面白いなと思った機能3選

    ドキュメントなどの事前知識なしに、ダッシュボードのメニューをざっと開いて「おっ」と思った機能を3つほど紹介してみます。

    Workflowで、記事への編集コメントやステータス変更の通知などのワークフローを構築

    特定のステータスで、メールやSlackメッセージなどを送信できるワークフロー機能がデフォルトで用意されています。

    社内ワークフローだけでなく、読者向けの配信もできそうなUIでしたので、使いこなせると面白そうです。

    Audience機能で、訪問者をUTMトラッキングコードやユーザー属性でカテゴライズ

    [Audience]として、訪問者をグループ分けできる機能がありました。

    Experimentalですが、Audienceを使ったパーソナライズコンテンツブロックなどがある様子です。

    監査ログでユーザー操作を記録

    管理画面上での操作を記録・確認できる機能も、デフォルトで用意されています。

    誰がどこで何をしたかが一覧で見れますので、「この設定だれが変えたの?」みたいな複数チームで運用する時にありがちなことも解決しやすそうです。

    おわりに

    WordCampの実行委員をやっていた頃から、「エンタープライズWordPress」に興味がありました。「やりたい」というよりは、「どんな機能・要件を提供しているのか」とかの技術的な興味の方ですが・・・

    AWSをゴリゴリに使うタイプとも聞いてますので、この辺りも冬休みなどを使って深掘りしてみようと思います。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark