Akeneo PIM

商品情報を管理する(Product Information Management、以下PIM)専用のアプリケーションであるAkeneo PIMをインストールしてみましょう。
初期バージョンでは環境構築が少し難しい面がありましたが、現在の4系ではかなり簡単になっています。

簡単に試すならDockerで

公式サイトのインストールガイドには、Dockerをベースにした手順が示されています。

今回はこの手順に沿ってお試し環境を作ってみましょう。

環境構築で使用した環境

環境が変わると手順やハマる箇所が変わります。
私が試した環境は以下のとおりです。

  • MacOS 10.15.5
  • Docker desktop 2.3.0.3
  • PHP 7.3.19
  • NodeJS 14.5.0

Linuxの場合は概ね近い環境を構築しやすいはずですが、Windowsの場合はDockerではなくVirtualBoxなどを使ったほうが簡単かもしれません。

インストールを始める前に

「簡単に試すなら」と言っておきながら、私が試した環境は普段いろいろな開発に使用している環境なので、色々と事前準備を省略しています。
インストールを始める前には公式サイトの環境要件のうち、

  • PHP7.3
  • composer
  • NodeJS(yarnも)

をインストールしておいてください。Xcodeやhomebrewも使える状態にしておく必要があります。
(要は開発者用のMacOSの構成でないとだめ、ということです)

composerで必要なファイルを取得

では、インストールを始めていきましょう。
適当なディレクトリに移動し、以下のコマンドを実行します。

php -d memory_limit=4G /usr/local/bin/composer create-project --prefer-dist \
akeneo/pim-community-standard ./pim "4.0.*@stable"

このとき注意していただきたいのですが、公式の手順では、

php -d memory_limit=4G /usr/local/bin/composer create-project --prefer-dist \
akeneo/pim-community-standard /srv/pim "4.0.*@stable"

となっています。
これでは少し困った場所にAkeneo PIMのファイルが作成されてしまいます。そのため、最初に紹介したコマンドではパスを変えています。

hostsファイルとdocker-compose.ymlを編集

公式の手順には書かれていませんが、Mac用のDockerはLinux用と少し動きが異なります(MacでDockerを使われている方はよくご存知だと思います)。
インストールでハマらないために、

  • /etc/hosts
  • docker-compose.yml

を調整してしまいます。
(docker-compose.ymlについてはdocker-compose.override.ymlを作成しても良いでしょう)

hostsファイルの編集

127.0.0.1に対して、mysqlとelasticsearchというホスト名を設定しておきます。
これを忘れるとインストールが上手くできなかったり、インストール後にアプリケーションが動かなかったりします。

docker-compose.ymlの編集

次に、MySQLとElasticsearchのポート番号を変更しておきます。
標準の構成では、

  • MySQLが33006番
  • Elasticsearchが9210番

になっているので、それぞれ3306番と9200番に変えておきます。

Docker環境を起動

ファイルの編集ができたら、docker環境を起動します。

docker-compose up -d

で起動します。

makeコマンドを実行

Dockerが起動したら、いよいよAkeneo PIMのインストールです。

NO_DOCKER=true make dev

をcomposerが作成したディレクトリで実行してください。
途中で実行が止まった場合は、エラーの内容をよく確認して対応しましょう。

ブラウザで動作確認

無事にインストールができると、以下のURLでAkeneo PIMにアクセスできると思います。

http://127.0.0.1:8080/

Akeneo PIMログイン画面