3.2. クイックスタート (RHEL 7/8, CentOS 7)¶
ここでは、BaaS APIサーバ/コンソールサーバ を RHEL 7/8, CentOS 7 にインストール・起動する手順を説明します。
なお、Ansible を使って自動デプロイするための Playbook を別途提供していますので、こちらをお使いいただくことを推奨します。 Ansible Playbook は こちら から入手できます。
以下は Ansible Playbook を使わず手動でインストールする場合の手順となります。
3.2.1. ulimit の設定¶
/etc/security/limits.d/99-mongodb-nproc.conf に以下の内容の設定ファイルを新規作成してください。
* soft nproc 64000
* hard nproc 64000
* soft nofile 64000
* hard nofile 64000
3.2.2. SELinux の無効化¶
SELinux を無効化しておきます。/etc/selinux/config の SELINUX= の指定を permissive または disabled に変更し、再起動を行って下さい。
3.2.3. JDK のインストール¶
OpenJDK 17 をインストールしてください。
OpenJDK を使用する場合¶
以下手順で OpenJDK をインストールしてください。
# RHEL 7 / CentOS 7
$ sudo yum install java-17-openjdk-headless
# RHEL 8
$ sudo dnf install java-17-openjdk-headless
Oracle Java SE Development Kit を使用する場合¶
Oracle の Java SE Downloads から Oracle JDK の RPM ファイルをダウンロードしてください。
インストール手順は以下の通りです。 (Java のアップデートがされている場合は、バージョンの値は適宜修正してください)
$ sudo yum localinstall jdk-8u301-linux-x64.rpm
3.2.4. Tomcat のインストール¶
Tomcat 10 をインストールします。
Tomcat を実行するユーザを作成します。
$ sudo useradd --no-create-home -s /bin/bash tomcat
下記のコマンドでTomcatのバイナリを取得し、/opt/tomcat にインストールしてください。 Tomcat のバージョン番号は適宜読み替えてください。
$ curl -O http://archive.apache.org/dist/tomcat/tomcat-10/v10.1.9/bin/apache-tomcat-10.1.9.tar.gz
$ tar -xzvf ./apache-tomcat-10.1.9.tar.gz
$ sudo mv ./apache-tomcat-10.1.9 /opt/apache-tomcat-10.1.9
$ sudo chown -R tomcat:tomcat /opt/apache-tomcat-10.1.9
$ sudo ln -s /opt/apache-tomcat-10.1.9 /opt/tomcat
起動設定¶
Tomcat を起動するための systemd 用の Unit ファイルを作成します。
/etc/systemd/system/ ディレクトリに 'tomcat.service' という名前のファイルを作成してください。 例を以下に示します。
[Unit]
Description=Tomcat application server
After=network.target
[Service]
Environment="JAVA_HOME=/etc/alternatives/jre"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="JAVA_OPTS=-Xmx2048m -Xms1024m"
User=tomcat
Group=tomcat
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
JAVA_OPTS に適切なオプションを設定するようにしてください。 ヒープサイズを指定するため -Xmx の設定が必須です。
以下手順で Tomcat を起動します。
$ sudo systemctl daemon-reload
$ sudo systemctl enable tomcat.service
$ sudo systemctl start tomcat.service
server.xml の設定¶
環境に合わせて、/opt/tomcat/conf/server.xml を編集してください。 (特に Connector 設定)
3.2.5. MongoDB のインストール¶
MongoDB 4.0 以上をインストールします。
Install MongoDB on Red Hat の手順に従い、インストールを行ってください。
詳細な手順は以下のとおりです。 まず、/etc/yum.repos.d/ ディレクトリに mongodb-org-(MongoDBバージョン).repo ファイルを作成します。 以下の例は MongoDB 4.4 の場合の例です。
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
ついで、MongoDB をインストールします。
$ sudo yum install -y mongodb-org
注意
MongoDB をアップグレードする場合はいくつか注意事項があります。 詳細は MongoDBをアップグレードする際の注意 を参照してください。
3.2.6. ファイヤウォール設定¶
必要に応じて、ファイヤウォールで TCP 8080 ポートの通信を許可します。
$ sudo firewall-cmd --add-port 8080/tcp --permanent
$ sudo firewall-cmd --reload
3.2.7. BaaS サーバのデプロイ¶
BaaS サーバのバイナリ(WAR ファイル)を Tomcat にデプロイします。
バイナリは api.war と console.war の2つがあります。前者は REST API サーバ、 後者はデベロッパコンソールサーバの実装になります。
$ sudo /bin/rm -rf /opt/tomcat/webapps/console /opt/tomcat/webapps/api
$ sudo cp api.war /opt/tomcat/webapps
$ sudo cp console.war /opt/tomcat/webapps
Tomcat をリブートします。
$ sudo systemctl restart tomcat
3.2.8. 動作確認¶
ブラウザを開き、 http://[hostname:8080]/console
(hostname はBaaSサーバを起動したサーバ名)
にアクセスし、正常にコンソールページが表示されることを確認してください。
また、 http://[hostname:8080]/api/
にアクセスし、以下の JSON 応答が
表示されれば API サーバは正常稼働しています。
{"error":"Not Found"}
3.2.9. 補足事項¶
本手順では、HTTP 8080 番ポートでサーバを起動しています。
実運用時は HTTPS 443 番ポートでリクエストを受け付けるようするか、前段にロードバランサやリバースプロキシ を入れて HTTPS で通信するようにしてください。 具体的な手順は ロードバランサ/リバースプロキシとHTTP通信(サーバ証明書)の設定 を参照してください。