はじめに
前編では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のパスワードを求められるため、任意のパスワードを入力します。
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のログイン画面が表示されれば、インストールは成功です。
ユーザー名とパスワードは「admin」です。
なお、現在ダウンロードできるバージョンでは、メニューを日本語表示にすることはできません。フレームワークであるOroPlatformにパッチを当てる必要があるとのことです。