COLUMN

コラム

オープンソース「Akeneo PIM」のインストール(後編)

POSTED ON:
2015年09月20日
Author:
松井 忠司

akeneo(後編)

はじめに

前編ではAkeneo PIMをインストールするUbuntu Serverを用意しました。後編ではいよいよAkeneo PIMそのものをインストールします。

SSHでのアクセス

Macintoshの[ターミナル]からSSHでアクセスします。sshコマンドでサーバーにログインします


$ ssh -l akeneo 172.16.204.197

パスワードを入力すると、ログインできました。

ログイン

必要に応じて画面サイズを広げておきます。

インストールの準備

akeneoのインストール方法については、Akeneo社のサイトに公式ドキュメントが用意してあるため、それを参考にします。

最初に、apt-getでアップデートしておきます。


$ sudo apt-get update

ダウンロードサイトからアーカイブファイルをダウンロードします。任意のブラウザでダウンロードサイトにアクセスして[Archive File]のリンク先のURLをコピーしておきます。

[ターミナル]に戻り、wgetでそのアーカイブファイルをダウンロードしておきます。


$ wget http://download.akeneo.com/pim-community-standard-v1.3-latest-icecat.tar.gz

必要なソフトウェアのインストール

サーバーのインストール

MySQLサーバーをインストールします。


$ sudo apt-get install mysql-server

Apacheをインストールします。


$ sudo apt-get install apache2

rootのパスワードを求められるため、任意のパスワードを入力します。

MySQLのパスワード入力

PHPをインストールします。


$ sudo apt-get install libapache2-mod-php5 php5-cli
$ sudo apt-get install php5-mysql php5-intl php5-curl php5-gd php5-mcrypt
$ sudo php5enmod mcrypt
$ sudo apt-get install php5-apcu

MySQLのデータベースの用意

MySQLにakeneo用のデータベースとアカウントを用意します。公式文書ではSQL文の予約語は大文字になっていますが、大文字と小文字は区別されません。


$ mysql -u root -p
Enter password:(パスワード入力)
mysql> create database akeneo_pim;
mysql> grant all privileges on akeneo_pim.* to akeneo_pim@localhost identified by 'akeneo_pim';
mysql> quit

PHPの調整

PHPの設定を調整します。viなどでphp.iniを開きます。


$ sudo vi /etc/php5/apache2/php.ini

以下の通り設定します。


memory_limit = 512M

今回、この行は406行目にありました。


date.timezone = Asia/Tokyo

今回、この879行目にコメントアウトされていたため、先頭のセミコロンも除きます。

PHPCLIの設定を調整します。


$ sudo vi /etc/php5/cli/php.ini

memory_limit = 768M

今回、こちらも406行目にありました。


date.timezone = Asia/Tokyo

こちらも879行目にコメントアウトされていたため、先頭のセミコロンも除きます。

Apacheの設定

Apacheの設定をします。念のため、現在のユーザーとグループを確認します。


$ id
uid=1000(akeneo) gid=1000(akeneo) groups=1000(akeneo),...

Apacheを停止します。


$ sudo service apache2 stop

viなどでenvvarsを開きます。


$ sudo vi /etc/apache2/envvars

以下のようにApacheのユーザーとグループを、確認しておいた現在のユーザーとグループにします。


export APACHE_RUN_USER=akeneo
export APACHE_RUN_GROUP=akeneo

16~17行目にありました。

apache2のオーナーを現在のユーザーに変更します。


$ sudo chown -R akeneo /var/lock/apache2

Apacheのサービスを開始します。


$ sudo service apache2 start

Akeneo PIMのインストール

Akeneo PIMをインストールします。今回はわかりやすいように、現在のakeneoユーザーのホームフォルダに配置します。


$ tar -xvzf pim-community-standard-v1.3-latest-icecat.tar.gz

解凍されたフォルダ名はpim-community-standard-v1.3.24-icecatです。ホームフォルダにはcomposer.pharも解凍されています。
作業しやすいようにシンボリックリンクを作成しておきます。


$ ln -s pim-community-standard-v1.3.24-icecat pim

composerを取得してインストールします。


$ cd pim
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

MongoDBのインストール

公式ドキュメントではオプション扱いになっていますが、MongoDBをインストールしておきます。この手順が面倒なので、省略してAkeno PIMのインストールを行うこともできます。


$ sudo apt-get install mongodb-server
$ sudo apt-get install php5-mongo

AkeneoでのMongoDBのサポートを有効にします。現在、アプリケーションルートがカレントになっていることを確認して実行します。


$ pwd
/home/akeneo/pim

$ php ../composer.phar --prefer-dist require doctrine/mongodb-odm v1.0.0-beta10@dev

ここではGithubからライブラリをダウンロードしますが、匿名モードではダウンロードの上限を超えてしまい、アクセストークンを求めてきます。


Could not fetch https://api.github.com/repos/akeneo/pim-community-dev/contents/composer.json?ref=97d1dad46aaa33e4622dd2f2e12b731e1565ae82, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+Akeneo+(日時文字列)
to retrieve a token. It will be stored in "/home/akeneo/.composer/auth.json" for future use by Composer.
Token (hidden):

任意のブラウザでGithubにログインします。
ログイン後、上記のコンソールに表示されたURLにアクセスします。


https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+Akeneo+(日時文字列)

アクセストークンの作成画面が表示されるため、[Generate token]をクリックします。切り替わった画面にアクセストークンが表示されるためコピーして、コンソールの[Token (hidden):]にペーストします。

処理が進みますが、エラーが表示されました。


PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 134217728 bytes) in phar:///home/akeneo/composer.phar/src/Composer/DependencyResolver/Solver.php on line 183

メモリが不足しているようです。オプションを付けて再度実行してみます。


php -d memory_limit=1536M ../composer.phar --prefer-dist require doctrine/mongodb-odm v1.0.0-beta10@dev

今度は成功しました。同様に以下を実行します。


$ php -d memory_limit=1536M ../composer.phar --prefer-dist require doctrine/mongodb-odm-bundle v3.0.0-BETA6@dev

AppKernel.phpのMongoDBについての以下のコメントアウトを解除します。


$ vi app/AppKernel.php

new Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle(),

126行目にありました。

MongoDBの設定ファイルの最後に追記します。


$ vi app/config/pim_parameters.yml

pim_catalog_product_storage_driver: doctrine/mongodb-odm

mongodb_server: 'mongodb://localhost:27017'
mongodb_database: your_mongo_database

Akeneo PIMの初期設定

Akeneoを初期設定します。


$ cd ~/pim
$ php app/console cache:clear --env=prod
$ php app/console pim:install --env=prod

Akeneoのインストールが実行されます。問題なければ最後に以下が表示されます。


Akeneo PIM Application has been successfully installed.

最後にキャッシュをクリアします。


$ php app/console cache:clear --no-warmup

バーチャルホストの設定

Akeneoをホームフォルダにインストールしたため、バーチャルホストを設定します。公式ドキュメントに合わせて、名前で参照させます。


$ sudo a2enmod rewrite
$ sudo vi /etc/apache2/sites-available/akeneo.conf

<VirtualHost *:80>
    ServerName akeneo

    DocumentRoot /home/akeneo/pim/web/
    <Directory /home/akeneo/pim/web/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/akeneo_error.log

    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/akeneo_access.log combined
</VirtualHost>

$ sudo a2ensite akeneo
$ sudo apache2ctl -t
$ sudo service apache2 restart

アクセスするクライアントマシンのhostsにホスト名を追記します。Macintoshの場合、ターミナルから行います。


$ sudo vi /etc/hosts

172.16.204.197  akeneo

クライアントマシンの任意のブラウザから http://akeneo/ にアクセスします。

Akeneoへのログイン

akeneoのログイン画面が表示されれば、インストールは成功です。
ユーザー名とパスワードは「admin」です。

Akenoのダッシュボード

なお、現在ダウンロードできるバージョンでは、メニューを日本語表示にすることはできません。フレームワークであるOroPlatformにパッチを当てる必要があるとのことです。

松井 忠司

松井 忠司

技術者にはゼネラリストでもなくスペシャリストでもない、バーサタイリストという道があります。バーサタイリストとして、お客様にPIMを用いた業務ソリューションをご提供したいと心がけています。



Member