PHP

EMLauncherをVagrant/CentOS環境で試してみる(未完成)

More than 3 years have passed since last update.

きっかけ

アプリを作る機会は全くありませんが、仕事で「インフラ」を扱っているので、
様々な環境の構築知識は取得しておきたい。

ということで、KLab様が公開されているAndroid/iOS向けテストアプリ配信ツール「EMLauncher」を構築してみる。

EMLauncherとは...?

Android/iOS向けテストアプリ配信ツール。
PHP製、MIT Licenseのオープンソース・ソフトウェアで、アップロードAPIも完備とのこと。

ネタ元:MOBILE TOUCH / EMLauncher - 速攻レビュー!Testflight代替なiOS/Androidアプリ配信プラットフォーム

・KLab様プレスリリース / KLab、Android/iOS向けテストアプリ配信ツール「EMLauncher」のソースコードを公開
・Githubレポジトリ / KLab/emlauncher

インストール

テスト用アプリもないので、GithubのREADMEを見ながら構築のみ確認します。
環境:Mac OSX 10.9.2 / Vagrant 1.5.4 / CentOS release 6.5

1.各種パッケージのインストール

$ sudo yum install php php-pdo php-mysql httpd memcached php-pecl-memcache php-mbstring php-pecl-imagick git

// READMEでは、mysql55-serverと記載されていますが、
// CentOS6.5では入らないので、epelとremiレポジトリを追加。
$ sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo yum install mysql-server --enablerepo=remi

$ sudo git clone https://github.com/KLab/emlauncher.git
$ cd emlauncher/

2.設定

// registered for pathと出てくるけど、大丈夫っぽい?
$ sudo git submodule init
Submodule 'libs/CFPropertyList' (https://github.com/rodneyrehm/CFPropertyList.git) registered for path 'libs/CFPropertyList'
Submodule 'mfw' (https://github.com/makiuchi-d/mfw.git) registered for path 'mfw'

$ sudo git submodule update

// Apacheがファイルにアクセスできるようにパーミッションを変更。
// (これで合ってるか不安w)
$ sudo chown -R apache:apache emlauncher/
$ sudo chmod -R 755 emlauncher/

今回は/var/www/html/emlauncher/と置いたので、Apacheの設定は省略。

(...すると、PHP知識がない私ではどうにもならなかったので、ログインできるよう修正。)

httpd.conf
DocumentRoot "/path/to/emlauncher/web"
SetEnv MFW_ENV 'ec2'
<Directory "/path/to/emlauncher/web">
  AllowOverride All
</Directory>
$ sudo service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
$ sudo chkconfig httpd on

メッセージが出てくるけど、Vagrantでは毎回出てくる内容でテストに影響がないはずなので、省略。

DBの設定だけど、パーミッションを変更したからrootになっておく。

// まずdbauthというファイルを作成し、DBのユーザ名、パスワードを記述しておく。
// 今回は動くことを第一に。セキュリティはテストなので考えない。
# echo 'emlauncher:password' > /var/www/html/dbauth

// /path/to/emlauncher/data/sql/database.sql にあるパスワードを修正。
# vi data/sql/database.sql
# service mysqld start
# chkconfig mysqld on

// DB設定をMySQLに流し込む。
# mysql -uroot < /path/to/emlauncher/data/sql/database.sql
# mysql -uroot emlauncher < /path/to/emlauncher/data/sql/tables.sql

そして、Memcacheを立ち上げておく。

# service memcached start
# chkconfig memcached on

PHPのDBアクセス等を設定。
って(やっぱり?)EC2仕様だw ここまでやってきてローカルで動くかな...

# cp config/mfw_serverenv_config_sample.php config/mfw_serverenv_config.php
// /** DBの ユーザ名:パスワード が書かれたファイル */の箇所を修正。
# vi mfw_serverenv_config.php

# cp config/emlauncher_config_sample.php config/emlauncher_config.php

で、結局動きました!

ただログインが...できませんでした。
テストユーザもいないようですし、中途半端ですが今回はここまで。

エラーに対してはなんとか対応できるけど、新たに作り上げる力を養わなければ!