クラウド上でeLabFTWを実行して、どこからでもアクセスできるようにしましょう。まずはeLabFTWを動かすためのクラウドサービスと契約する必要がありますが、ここではコストパフォーマンスと信頼性のバランスに優れたDigitalOceanを使ってみます。
DigitalOceanはeLabFTWのマニュアルでも推奨されていて、1カ月あたり約500円程度の予算でクラウドサーバーを運用することができます。なお、SSL化するために独自ドメインの契約も推奨されています(別途独自ドメインの登録料が必要です)。
なお、「クラウドでeLabFTWを使い始めて途中からローカル環境に移行する」など柔軟な運用の仕方も可能です。詳細は以下の記事をご覧ください。
動作確認環境
- eLabFTW 3.5.4
※ eLabFTWは頻繁にアップデートされているため、最新のバージョンとはインストール手順が異なっている可能性があります。その際はコメント欄からお知らせください。
[toc]クラウドサーバーでDocker環境を構築する
eLabFTWはDocker環境にコンテナとしてインストールするので、まずはDocker環境を構築できるクラウドサーバーを用意する必要があります。公式ドキュメントではDigitalOceanが推奨されているので、ここではDigitalOceanを使ったインストール方法を説明していきます。
DigitalOceanは以下の紹介リンクからアカウント作成すると$100(2カ月間有効)のクーポンがつくので是非ご活用ください。
- DigitalOcean (紹介リンク):https://m.do.co/c/a37b3fbf3595
DigitalOceanでのDocker環境の構築方法は以下の記事をご覧ください。eLabFTWを運用するだけなら最初は1カ月当たり$5の一番安いプランで十分です。
もちろんDigitalOcean以外でも、ConoHa VPSなど好みのクラウドサーバーを選択することが可能です。
独自ドメイン取得し、設定する
eLabFTWは独自ドメインを取得しなくてもIPアドレスから接続して使用することができますが、通信をSSL化し安全性を高めるためには独自ドメインが必要になります。独自ドメインとは、例えばこのサイトでいえば「biotech-lab.org」のようなものです。
独自ドメインを取得する
まずは好みのドメインプロバイダーでドメインを登録します。ドメインプロバイダーとしては以下のようなところが有名ですが、料金的にはどこも大きくは変わらないので好みのところで登録してかまいません。
なおドメインの料金は、例えばお名前ドットコムの場合は以下の通りです。
1年目の登録料と2年目以降の更新料との値段の差に注意してください。
独自ドメインを設定する
独自ドメインを取得したらDNSの設定をする必要があります。
DigitalOceanの設定
DigitalOceanの管理画面の「Networking」を開きます。
- 管理画面(Networking):https://cloud.digitalocean.com/networking/
取得したドメイン名を左側に入力して、Add Domainをクリックします。
ここでは例として「elabftw-test.com」としてみます。
ドメインを追加すると次のようなドメインの設定画面になるので、レコードの登録の部分でAレコードが選択されていることを確認して、HOSTNAMEに「@」もしくは「好みのサブドメイン」を入力して、WILL DIRECT TOで今回作成したDroplet「eLabFTW-test」を選択して、Create Recordをクリックします。これでAレコードの登録ができました。
例えば、複数のDropletを運用している場合は、サブドメインを作成することでそれぞれのDropletにドメインを割り当てることができます。
ドメインプロバイダーの設定
続いてドメインプロバイダー(お名前ドットコムやエックスドメインなど)の管理画面を開きます。デフォルトでは自前のネームサーバーが登録されているので、カスタムネームサーバーを登録しましょう。
上のキャプチャはエックスドメインの管理画面ですが、このように先ほどのネームサーバーのリストに表示されていた値を入力します。
以上の設定で、取得した独自ドメイン「elabftw-test.com」と作成したDropletが次のようにつながりました。
- elabftw-test.com に接続すると、まずドメインプロバイダーに接続される
- ドメインプロバイダーに設定されたネームサーバーに従って、DigitalOceanに転送される
- DigitalOceanに登録したAレコードに従って、Droplet「eLabFTW-test」に転送される
eLabFTWのインストールを行う
Dropletのコンソールにログインする
DigitalOceanの管理画面から先ほど作成したDropletを開き、「Console」をクリックしてコンソールを立ち上げます。
ここで、出てくる下のコンソール画面が今回作成したDropletの管理画面(Ubuntuのコンソール)です。それでは、以下のように入力してログインしましょう。
- (Droplet名) login → root
- Password → 先ほど決めたパスワード
パスワードの入力画面では、文字を入力しても画面に反映されませんがLinuxの仕様なので問題ありません。
なお、今説明したブラウザのコンソールからの接続よりも、PC上のコンソールからSSHを利用した接続の方がより安全なので、DigitalOceanではSSH接続が推奨されています。SSH接続を行う場合は以下の記事をご覧ください。
予め必要なアプリケーションをインストールする
コンソール画面からeLabFTWに必要なアプリケーションをインストールします。マニュアルによるとcurl, docker, docker-compose, dialog, git, zipのインストールが必要とのことですが、DigtalOceanのインスタンスでは、このうちdialogとzipのみが含まれていなかったので、以下のコマンドでインストールを行います。
apt install dialog
apt install zip
※ 1行ずつコピーして実行してください(以下のコマンドでも同様)
eLabFTWをインストールする
マニュアルに従って以下のコマンドを実行します。
# get the program (a bash script)
curl -sL https://get.elabftw.net -o elabctl && chmod +x elabctl
# add it to a directory in your $PATH
sudo mv elabctl /usr/local/bin/
elabctl install
このコマンドを順番に実行すると、以下のようなGUIライクな画面になります。
キーボードでEnterを押して進んでいきましょう。(マウスは使えません)
基本的にデフォルト設定のままで進んでいきます。
ここもYesを選択して、ドメイン名(elabftw-test.com)を入力します。この後もデフォルト設定まま進めていきましょう。
ここもデフォルトのままで設定し、後ほどLet’s Encryptの設定をします。
これでインストール完了です。Enterを押して終わりましょう。
Let’s Encrypt の認証を取得する
続いて、Let’s Encryptの認証を取得します。以下のコマンドを順番に実行していきます。
apt install certbot
sudo certbot certonly
「1. Spin up a temporary webserver (standalone)」を選びましょう。「1」を入力して、Enterを押します。
ここで、自分のEメールアドレスを入力します。ブラウザ上のコンソールからだとメールアドレスのアットマーク「@」が入力できないバグがあるようですので、その場合はメールアドレスをメモ帳などに打ち込んでからコピー&ペーストで貼り付けてください。
サービス利用規約に同意するかどうかを聞かれますので、問題なければ同意を選んでください。「A」と入力してEnterを押します。
ここはお好みですが、Noでもいいと思います。その場合は「N」と入力してEnterを押します。
最後にドメイン名(elabftw-test.com)を入力します。
この画面が出たら成功です。
※参考:https://github.com/elabftw/elabftw/issues/1114
eLabFTW を起動する
それでは、早速サーバー上でeLabFTWを起動してみましょう。以下のコマンドを順番に実行します。
elabctl start
docker exec -it elabftw bin/install start
続いて、以下のURLでeLabFTWの自分のアカウントを作成し、ログインします。
- アカウント作成:https://(設定したドメイン)/register.php
- ログイン:https://(設定したドメイン)/login.php
例えば、ドメインがelabftw-test.comなら、https://elabftw-test.com/register.phpとなります。ログイン用のURLをブラウザのブックマークに登録しておきましょう。
追加設定
これでeLabFTWが起動し、実際に使うことができるようになりました。以下の設定を行うことが推奨されています。
メール送信サーバーの設定
eLabFTWの一番下のSYSADMIN PANELからシステム管理者用設定画面を開くと下のような警告が表示される場合は、メール送信サーバーの設定が完了していません。
この場合はパスワードのリセットなどができなくなる場合があるようです。早めに以下の記事を参考にしてメール送信サーバーの設定を行っておいてください。
タイムゾーンの変更
デフォルトではタイムゾーンが「Europe/Paris」になっています。タイムスタンプなどに不都合を生じる可能性がありますので、「Asia/Tokyo」に直しておきましょう。以下の記事を参考にタイムゾーンの変更も行っておいてください。
コメント