UCIDM クイックスタート - インストール
ここでは、UCIDM のインストール手順について説明します。
Docker と Docker Compose のインストール
以下コマンドで Docker と Docker Compose をインストールします。詳細については、Compose パッケージ - 初回インストールするとき をご参照ください。
# dnf install -y dnf-plugins-core
# dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
# dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
UCIDM パッケージのインストール
.tar.gz のファイルを展開してインストールコマンドを実行します。ここでは RHEL9 の 1.0.0-1 というバージョンを例にインストール作業の説明をしますが、適宜お手持ちの OS, 最新のバージョンに置き換えて作業してください。詳細については、UCIDM パッケージ - 初回インストールするとき をご参照ください。
# tar xf osstech-ucidm-1.0.0-1.el9.x86_64.tar.gz
# cd osstech-ucidm-1.0.0-1.el9.x86_64/
# ./install.sh
Reverse Proxy の設定
UCIDM API や管理画面にアクセスするときに HTTPS で通信するためのリバースプロキシを設定します。
パッケージのインストール
以下 dnf パッケージをインストールします。
# dnf install -y httpd mod_ssl
SELinux の設定
SELinux が有効な場合はリバースプロキシの振る舞いを許可する必要があります。httpd_can_network_connect を有効にします。詳細については、Reverse Proxy - SELinux の設定 をご参照ください。
# setsebool -P httpd_can_network_connect on
# getsebool httpd_can_network_connect
httpd_can_network_connect --> on
Apache の設定
Apache の UCIDM 用テンプレートファイルを配置します。
# cd /etc/httpd
# cp -a /opt/osstech/share/ucidm/httpd/* .
/etc/httpd/conf/httpd.conf のファイルについて、環境に合わせて VirtualHost の以下の点を編集します。詳細については、Reverse Proxy - Virtualhost の設定 をご参照ください。
- ServerName にホスト名を設定します。
- Location ディレクティブ 単位にアクセス制限の設定を行います。
- SSLCertificateKeyFile, SSLCertificateFile に証明書を設定します。
<VirtualHost *:443>
ServerName serverName.example.com
...
SSLEngine On
SSLCertificateKeyFile /etc/httpd/private/sample.key
SSLCertificateFile /etc/httpd/certs/sample-server.crt
<Location "/ui/user">
ProxyPass http://localhost:5030/ui/user retry=10
ProxyPassReverse http://localhost:5030/ui/user
Require all granted
</Location>
<Location "/ui/admin">
ProxyPass http://localhost:5030/ui/admin retry=10
ProxyPassReverse http://localhost:5030/ui/admin
Require all granted
</Location>
<Location "/ui">
ProxyPass http://localhost:5030/ui retry=10
ProxyPassReverse http://localhost:5030/ui
Require all granted
</Location>
<Location "/sys">
ProxyPass http://localhost:3030/sys retry=10
ProxyPassReverse http://localhost:3030/sys
Require all granted
</Location>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/ui
RewriteRule ^/$ /ui [R=301,L]
</VirtualHost>
<VirtualHost *:8443>
ServerName serverName.example.com
...
SSLEngine On
SSLCertificateKeyFile /etc/httpd/private/sample.key
SSLCertificateFile /etc/httpd/certs/sample-server.crt
<Location "/">
ProxyPass http://localhost:18080/ retry=10
ProxyPassReverse http://localhost:18080/
Require all granted
</Location>
</VirtualHost>
サービスの起動
起動および自動起動設定を行います。
# systemctl enable --now httpd
rsyslog の umask の設定
systemd から起動される rsyslog サービスの umask 設定を変更するために /etc/rsyslog.conf に設定を追加します。次のように $Umask と $FileCreateMode をグローバル設定として追加します。
# vi /etc/rsyslog.conf
...
#### GLOBAL DIRECTIVES ####
$Umask 0006
$FileCreateMode 0600
rsyslog サービスを再起動します。
# systemctl restart rsyslog
詳細については、UCIDM パッケージ - 初回インストールするとき をご参照ください。
nf_tables モジュールのロード
nf_tables モジュールがロードされているかどうかを確認します。以下 lsmod のコマンドで以下例のような出力があればロードされています。
# lsmod | grep nf_tables
nf_tables 356352 0
nfnetlink 20480 1 nf_tables
libcrc32c 12288 2 nf_tables,xfs
上記 lsmod のコマンドで出力がない場合は、以下コマンドで nf_tables モジュールのロードを行ってください。
# modprobe nf_tables
ucidm ユーザーの設定
ucidm パッケージインストール時に自動生成される ucidm ユーザーのパスワードを設定します。
# passwd ucidm
ユーザー ucidm のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
別端末にて ucidm ユーザーでログインしてから後続の手順を実施してください。
Tip
もし ucidm ユーザーで直接ログインしないときは machinectl コマンドでユーザーを切り替える ようにしてください。
Rootless Docker のインストール
以下コマンドで Rootless Docker をインストールします。
$ dockerd-rootless-setuptool.sh install
Docker Compose の設定
Docker Hub にログインします。実際に設定するパスワードは弊社のサポート担当者にご確認ください。詳細については、Compose サービスの準備 - コンテナレジストリへのアクセス設定 をご参照ください。
$ docker login --username osstech
Password: # パスワードを入力
...
Login Succeeded
Docker Compose の設定ファイルの配置
ucidm ユーザーのホームディレクトリである /var/opt/osstech/lib/ucidm に Docker Compose の設定ファイル群を配置します。
$ cd
$ cp /opt/osstech/share/ucidm/compose.yml .
$ cp /opt/osstech/share/ucidm/ucidm.env.example ucidm.env
$ ln -s "$(pwd)/ucidm.env" "$(pwd)/.env"
$ cp -a /opt/osstech/share/ucidm/{mongodb,rabbitmq,agent-data,server-data,ucidm-ui} .
コンテナイメージの取得
以下コマンドでコンテナイメージを取得します。
$ docker compose pull