きっかけ
アプリを作る機会は全くありませんが、仕事で「インフラ」を扱っているので、
様々な環境の構築知識は取得しておきたい。
ということで、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知識がない私ではどうにもならなかったので、ログインできるよう修正。)
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
で、結局動きました!
ただログインが...できませんでした。
テストユーザもいないようですし、中途半端ですが今回はここまで。
エラーに対してはなんとか対応できるけど、新たに作り上げる力を養わなければ!