Opalのインストールが完了しても、ただちに使える状態にはなりません。
使える状態にするためには、データベースの登録およびR言語の設定が必要になります。
Opalは、データベースのバックエンドとして、MongoDBおよびMySQL、MariaDB、PostgreSQLをサポートしています。
ここでは、MariaDBを指定する方法をお伝えします。

環境の確認

今回の作業を行う環境は、Ubuntu Server 20.04になります。


$ cat /etc/lsb-release 

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"

Opalのバージョンは3.0.2になります。


$ dpkg -l | grep opal
ii  opal                                 3.0.2                                   all          OBiBa Data integration Web application for biobanks
ii  opal-python-client                   3.0.1                                   all          OBiBa Data integration Web application for biobanks
ii  opal-rserver                         1.4.2                                   all          OBiBa Opal Rserver

問題の確認

外部パソコンのブラウザからOpalへアクセスします。
User NameおよびPasswordを入力し、Sign Inをクリックします。

Dashboardが表示されます。
右上辺りのAdministrationをクリックします。

3つの警告を解消することが今回の目的となります。

Rパッケージの登録

「リソース記述プロバイダーを特定できませんでした。 resourcer Rパッケージをインストールする必要があるかもしれません。」と警告されています。
この問題を解決するために「Administrate R packages」をクリックします。

Downloadボタンをクリックすると、R Serverのログがダウンロードされます。
このログにエラーの内容が記載されていますので、一つ一つ解決します。

上記のOpalのバージョンでは、いくつかのRのパッケージがライブラリの依存を解決できなかったため、インストールできなかったと記載されていました。
そのため、ログに記載されているRのパッケージおよび依存ライブラリをインストールするため、Opalサーバにターミナルから接続します。
まずは、依存ライブラリをインストールします。


$ sudo apt install libssl-dev libsasl2-dev libssh-dev libmariadbclient-dev libpq-dev

次に、root権限でRを実行し、Rのパッケージをインストールします。
Rserveパッケージは、通常のCRANではエラーが解消できなかったため、rforgeからダウンロードしています。


> install.packages("uuid")
> install.packages("ssh")
> install.packages("mongolite")
> install.packages("RMariaDB")
> install.packages("RPostgres")
> install.packages("unixtools")
> install.packages("resourcer")
> install.packages('Rserve',,"http://rforge.net/",type="source")

Rのパッケージのインストールが完了したら、サーバを再起動しておきます。

MariaDBを登録

ここでは、MariaDBをOpalと同一のサーバにインストールし、これを使用することにします。
まずは、サーバにMariaDBをインストールするため、ターミナルからサーバに接続します。


$ sudo apt install mariadb-server

MySQLにOpalで使用するユーザおよびデータベースを追加します。
ユーザ名およびパスワード、権限は適宜変更してください。


$ sudo mysql -u root

> CREATE USER 'administrator'@'localhost' IDENTIFIED BY 'administrator';
> GRANT ALL ON *.* TO 'administrator'@'localhost';
> FLUSH PRIVILEGES;  
> CREATE DATABASE opal_ids;
> CREATE DATABASE opal_data;

次に、上記で追加したデータベースをOpalに登録するため、外部パソコンでブラウザからOpalにアクセスします。
Sign Inした後、右上のAdministrationをクリックします。
表示された警告の「Add ID database」をクリックします。

Registerをクリックします。

今回は、MariaDBを登録するので、SQLを選択します。

Driverを「MariaDB」とし、UsernameおよびPasswordを上記のMariaDBに登録したユーザ名とパスワードを入力し、Saveボタンをクリックします。

問題がなければ、画面の上部にConnection successfulと表示されます。

続いて、Data DatabasesにMariaDBを登録します。

Registerをクリックします。

Driverを「MariaDB」とし、UsernameおよびPasswordを上記のMariaDBに登録したユーザ名とパスワードを入力し、Saveボタンをクリックします。

問題がなければ、画面の上部にConnection successfulと表示されます。

最終確認

右上のAdministrationをクリックし、警告がなくなっていれば完了です。
これで、Opalの使用準備が整いました。

関連する記事

  • R言語 CRAN Task View:臨床試験デザイン、監視、および分析R言語 CRAN Task View:臨床試験デザイン、監視、および分析 CRAN Task View:Clinical Trial Design, Monitoring, and Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: H.G. Zhang, Ed Zhang Contact: ClinicalTrials.TaskView […]
  • Python 度数分布表から乱数を生成するPython 度数分布表から乱数を生成する Pythonで与えられた度数分布に従う乱数を生成する方法をご紹介する。 さっそくだが、全コードを以下に記す。 import random import matplotlib.pyplot as plt def random_freq_index(freq_list): """ 度数分布表から乱数を生成してインデックス番号を返します […]
  • R言語 CRAN Task View:ベイズ推論R言語 CRAN Task View:ベイズ推論 CRAN Task View: Bayesian Inferenceの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Jong Hee Park Contact: jongheepark at […]
  • WindowsでHeidiSQLを使用してMariaDBをバックアップ・リストアするの方法WindowsでHeidiSQLを使用してMariaDBをバックアップ・リストアするの方法 WindowsでHeidiSQLを使用してMariaDBをバックアップおよびリストア(復元)する方法をお伝えいたします。 MariaDBのバックアップ方法はいくつかありますが、今回ご紹介する方法は、ダンプファイルの作成という方法になります。MariaDBのダンプファイルの作成は、通常、CUI(黒い文字だけの画面)でmysqldumpというコマンドラインツールを用いて行い […]
  • Googleアナリティクスとコレスポンデンス分析を用いた年齢別のユーザー像の捉え方Googleアナリティクスとコレスポンデンス分析を用いた年齢別のユーザー像の捉え方 ページビュー数やコンバージョン率を上げるためには、良質なコンテンツが大切であるとよく言われる。そして、良質なコンテンツを作成するためには、ユーザー像を具体的に思い描き、そのユーザーに向けてコンテンツを作成しなくてはならない。 ここでは、ページビュー数から年齢とページの関係性を視覚的に確認し、年齢別にユーザーがどのコンテンツに興味を抱くか、その傾向を探っていく。この傾向が […]
Ubuntu Server 20.04上のOpalのインストール後に行う設定