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通信(サーバ証明書)の設定 を参照してください。