EMLauncherをCentOS8に導入する手順
この手順書はCentOS8にKLabさんのAndroid/iOSのテストアプリ配信ツールのEMLauncher
を導入する手順書となります。
※ この手順書を書く時に使ってるCentOSのバージョンは8.1.1911
です。
参考サイト
- KLab/emlauncher
- EMLauncherをCentOS8にInstall
- CentOSとPostfixを使って送信専用のメールサーバーを構築する方法
- PostfixのメールをGMail経由で送る
EmLauncherの導入
※ 以下の処理はすべてroot
ユーザでログインして実行してください。
1. Firewall setup
-
http(80)のポートを開放します。
firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld
2. Install required packages
-
EPELリポジトリを追加します。
dnf -y install epel-release
-
Remiリポジトリを追加します。
dnf -y install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
-
PHP 7.4 インストールします。
dnf -y module install php:remi-7.4
-
その他パッケージをインストールします。
dnf -y install httpd mariadb-server memcached php-gd php-mbstring php-xml php-pecl-imagick php-pecl-memcached php-pecl-zip php-pdo php-mysqlnd git
-
Composerをインストールします。
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer`
3. Deploy codes
-
GitHubからemlauncherをクローンします。
cd /var/www/html git clone https://github.com/KLab/emlauncher.git
-
サブモジュールを初期化して、更新します。
cd emlauncher git submodule init && git submodule update
-
Composerで関連パッケージをインストールします。
composer install
-
Apacheがemlauncherにアクセスできるようにパーミッションを調整します。
chown -R apache:apache /var/www/html/emlauncher
4. Apache setup
※ CentOS8ではphp-fpm
が使用されているので、.htaccess
内で記載するとエラーになるため.htaccess
内の設定をコメントアウトして/etc/php.ini
に設定する必要があります。
-
emlauncher/web/.htaccess
を編集します。vim /var/www/html/emlauncher/web/.htaccess
以下の内容をコメントアウトします。
#php_flag short_open_tag On #php_value memory_limit "4G" #php_value upload_max_filesize "4G" #php_value post_max_size "4G" #php_value max_execution_time 300 #php_value max_input_time 300
-
/etc/php.ini
を編集します。vim /etc/php.ini
.htaccess
内でコメントアウトした設定を以下のように設定します。short_open_tag = On max_execution_time = 300 max_input_time = 300 memory_limit = 4G post_max_size = 4G upload_max_filesize = 4G
-
Apacheの設定ファイル
/etc/httpd/conf/httpd.conf
を編集します。vim /etc/httpd/conf/httpd.conf
下記のように修正します。
SetEnv MFW_ENV 'ec2' <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All ...略... </Directory>
-
httpdを有効にします。
systemctl start httpd && systemctl enable httpd
5. Database setup
-
Databaseを有効にします。
systemctl start mariadb && systemctl enable mariadb
-
Databaseのユーザ名とパスワードを記載した
dbauth
ファイル作成します。echo 'emlauncher:password' > /var/www/html/dbauth
※ 上記の
password
部分を置き換えてから実行してください。 -
emlauncher/data/sql/database.sql
内のxxxxxxxx
の部分をdbauth
のパスワードに合わせて修正します。vim /var/www/html/emlauncher/data/sql/database.sql
-
emlauncherのdatabase設定をMySQLに流します。
mysql -u root < /var/www/html/emlauncher/data/sql/database.sql mysql -u root emlauncher < /var/www/html/emlauncher/data/sql/tables.sql
6. Memcache setup
-
Memcacheを有効にします。
systemctl start memcached && systemctl enable memcached
7. Setup bundletool for Android App Bundle
APKを再署名するためのキーストアは必要ないのでスキップします。
※ 必要の場合はKLab/emlauncherのREADMEを参照して設定してください。
8. Configuration
mfw_serverevn_config.php
-
config/mfw_serverenv_config_sample.php
をコピーし、$serverenv_config['ec2']['database']['authfile']
を 5で作成したdbauth
ファイルのパスに書き換えます。cd /var/www/html/emlauncher/config cp mfw_serverenv_config_sample.php mfw_serverenv_config.php vim mfw_serverenv_config.php
dbauth
ファイルパスを書き換えます。'authfile' => '/var/www/html/dbauth',
emlauncher_config.php
-
保存用ディレクトリを作成します。
mkdir /var/www/html/emlauncher-files
-
Apacheが保存用ディレクトリにアクセスできるようにパーミッションを調整します。
chown -R apache:apache /var/www/html/emlauncher-files
-
config/emlauncher_config_sample.php
をコピーし、自身の環境に合わせて書き換えます。cd /var/www/html/emlauncher/config cp emlauncher_config_sample.php emlauncher_config.php vim emlauncher_config.php
以下のように修正します。
'storage_class' => 'LocalFile', 'path' => '/var/www/html/emlauncher-files', 'url_prefix' => '../../../emlauncher-files',
9. Complete
ブラウザでEMLauncherのログインページ「 http://仮想マシンのアドレス(192.168.xxx.xxx)/emlauncher/web/login 」が表示されたらEMLauncherの導入が完了です。
ユーザ登録する方法
-
Mysqlに接続します。パスワードは
dbauth
で設定したパスワードです。mysql -u emlauncher -p emlauncher
-
ユーザのメールを
user_pass
テーブルに登録します。INSERT INTO user_pass (mail) VALUES ('hoge@hoge.jp');
※
hoge@hoge.jp
を自分のメールに置き換えて実行してください。 -
Mysqlから抜けます。
exit
-
EMLauncherのログインページの
forgot password
からパスワードをリセットします。
メール送信について
・EMLauncherはsendmailを使用するので、メールが送信できるように、postfixをインストール、設定してください。
-
postfixをインストールします。
dnf -y install postfix
-
postfixを有効にします。
systemctl start postfix && systemctl enable postfix
・メールを送る際、"mb_send_mail faild"とエラーが表示された場合SELinuxを無効にしてください。
-
SELinuxを一時的に無効にします。
setenforce 0
-
SELinuxの設定ファイルの編集で永続的に無効にします。
vim /etc/selinux/config
SELINUX
をenforcing
からdisable
に変更します。
SELINUX=disable
・メール送信したけど届かない場合
私の場合はOutbound Port 25 Blockingが原因でしたのでGmailで転送する事で解決しました。
-
Postfixから転送するために、転送用Gmailアカウントのセキュリティ設定ページで「安全性の低いアプリのアクセス」を有効にしてください。
-
postfixの設定ファイルにGmailで転送する設定を追加します。
vim /etc/postfix/main.cf
一番最後に以下の設定を追加します。
# Gmail relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain
-
転送用Gmailアカウント情報を設定します。
vim /etc/postfix/sasl_passwd
下記の内容のメールとパスワードの部分を置き換えて記入します。
[smtp.gmail.com]:587 hoge@gmail.com:password
-
Gmailアカウント情報ファイルからデータベースを作成します。
postmap hash:/etc/postfix/sasl_passwd
-
Gmailアカウントとパスワードが記載されたファイルを削除します。
rm -f /etc/postfix/sasl_passwd
-
psotfixを再起動します。
systemctl restart postfix