Posted at

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

More than 5 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

で、結局動きました!

ただログインが...できませんでした。

テストユーザもいないようですし、中途半端ですが今回はここまで。

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