EC2のAmazonLinux2でEMLauncherを動かす手順です。
インスタンスを立ち上げたらセキュリティグループの設定でHTTP(80)を許可しておきます。
t1.microの場合はメモリが足りなくなることがあるので、swapファイルを用意します。
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c "echo '/swapfile swap swap defaults 0 0' >> /etc/fstab"
sudo amazon-linux-extras install lamp-mariadb10.2-php7.2
sudo amazon-linux-extras install memcached1.5
sudo yum install mariadb-server httpd php-gd php-mbstring php-xml php-pecl-imagick php-pecl-memcached php-pecl-zip git
curl -sS https://getcomposer.org/installer | php
sudo cp composer.phar /usr/local/bin/composer
git clone https://github.com/KLab/emlauncher.git
cd emlauncher
git submodule init
git submodule update
composer install
Apacheがファイルにアクセスできるようにパーミッションを調整してください。
/etc/httpd/conf/httpd.confを編集します。
DocumentRoot "/path/to/emlauncher/web"
SetEnv MFW_ENV 'ec2'
<Directory "/path/to/emlauncher/web">
AllowOverride All
...略...
</Directory>
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb
DBのユーザ名、パスワードを書いたファイルを作成します。
例:
echo 'emlauncher:password' > $HOME/dbauth
data/sql/database.sqlのパスワードを合わせて修正し、MySQLに流します。
mysql -uroot < /path/to/emlauncher/data/sql/database.sql
mysql -uroot emlauncher < /path/to/emlauncher/data/sql/tables.sql
sudo systemctl start memcached
sudo systemctl enable memcached
sudo yum install java-1.8.0-openjdk-headless
curl -sLO https://github.com/google/bundletool/releases/download/0.10.0/bundletool-all-0.10.0.jar
APKを再署名するためのキーストアも用意します。
ここで設定するパスワード、キーストアファイル名、エイリアス名はこの後設定ファイルemlauncher_config.php
に記載します。
keytool -genkey -keystore {emlauncher-keystore.jks} -keyalg RSA -keysize 2048 -validity 10000 -alias {key-alias}
AARCH64(ARM64)アーキテクチャのプラットホームで動作させる場合にはbundletoolに内包のaapt2がAMD64(x86_64)アーキテクチャ向けでそのままでは動作しないのでARM64アーキテクチャー用のaapt2をgithubからダウンロードします。
curl -sLO https://github.com/JonForShort/android-tools/raw/master/build/android-9.0.0_r33/aapt2/arm64-v8a/bin/aapt2
config/mfw_serverenv_config_sample.php
をコピーし、$serverenv_config['ec2']['database']['authfile']
を
5で作成したdbauthファイルのパスに書き換えます。
config/emlauncher_config_sample.php
をコピーし、自身の環境に合わせて書き換えます。
S3のbucket名に指定するbucketは予め作成しておきます。
APKファイルの設定のaapt2に(6.)でダウンロードしたARM64向けaapt2実行ファイルのパスを指定します。
ブラウザでインスタンスにHTTPでアクセスします。 EMLauncherのログインページが表示されたら完了です。