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の使用準備が整いました。

関連する記事

  • Python 度数分布表から乱数を生成するPython 度数分布表から乱数を生成する Pythonで与えられた度数分布に従う乱数を生成する方法をご紹介する。 さっそくだが、全コードを以下に記す。 import random import matplotlib.pyplot as plt def random_freq_index(freq_list): """ 度数分布表から乱数を生成してインデックス番号を返します […]
  • R dplyrパッケージのgroup_by_関数で複数の文字列を指定する方法R dplyrパッケージのgroup_by_関数で複数の文字列を指定する方法 Rのdplyrパッケージのgroup_by関数は指定した列をグルーピングできるので便利ですが、文字列を指定できません。 このパッケージのgroup_by_関数は文字列を指定できますが、複数の文字列を指定する場合には少し工夫が必要になります。 ここでは、異なるダイエットの雛の体重と年齢が収められているChickWeightをサンプルデータとします。 > […]
  • R言語 CRAN Task View:社会科学の統計R言語 CRAN Task View:社会科学の統計 CRAN Task View: Statistics for the Social Sciencesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: John Fox Contact: jfox at […]
  • R実装と解説 母平均の検定(母分散未知) [latexpage] 母分散が未知の場合の母平均の検定とは、母集団が正規分布に従い、母分散が未知のときに母平均が標本平均と「異なる」または「大きい」、「小さい」かどうかを、検定統計量がt分布に従うことを利用して検定します。 統計的検定の流れ 検定の大まかな流れを確認しておきます。 帰無仮説H0と対立仮設H1をたてます […]
  • Opal ユーザーを登録する方法Opal ユーザーを登録する方法 OBiBaのOpalサーバにユーザーを登録する方法をお伝えします。 ユーザー登録はAdministratorが行うことができる機能になります。 そのため、administratorでサインインします。 表示された画面の右上にあるAdministrationをクリックします。 Administration機能一覧から、Users and […]
Ubuntu Server 20.04上のOpalのインストール後に行う設定