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.
ローカルで動かすために必要なもの
- 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をゴリゴリに使うタイプとも聞いてますので、この辺りも冬休みなどを使って深掘りしてみようと思います。