Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Archivematica から Atom への DIP アップロードについて

1. サーバ構築
I. 概要
Archivematica サーバ(MATICA で表す)から Atom サーバ(ATOM で表す)へのデー
タのアップロードを可能にする設定を行うには、各サーバの設定の順序を間違わないよう
に行わないと、面倒なことになる可能性がある。その点を留意しながら以下の設定を注意
深く実行されたい。
II. OS のインストール
OS は UBUNTU18.04 のデスクトップ版でもサーバ版でも良いが、サーバ版の方が動作
は軽い。OS に対しての操作は teraterm のような端末ソフトから行うことにする。また、
外部端末から PC へのファイル転送用のソフトも用意しておく(例えば WinSCP)

 デスクトップ版:日本語版をサポートしているサイトから ISO ファイルをダウンロー
ドして、それを用いてインストールを行う。標準的インストール終了後、
{sudo apt install ssh}
を端末から打ち込んで、外部端末から ssh 接続可能にしておく。
 サーバ版:UBUNTU サイトから ISO ファイルをダウンロードして、それを用いてイ
ンストールを行う。その際に言語は[English]にしておき、使用キーボードは[Japanese]
にして、設定で ssh を使えるようにしておく。
システムが静かになる(PC の入出力がおさまるまで。数分時間がかかる場合がある)ま
で待ち、次に進む。
III. Atom サーバのインストール
1 別途配布した”tar +gzip”したファイル[atomXXX253.gz]を ATOM へ転送(コピー)す
る。XXX は ATOM のバージョンである。
2 ATOM へ端末(teraterm)等を用いて ssh 接続する。以後コマンド入力等は端末から
行う。コメント等が表示される(日本語文字あり)

3 {tar xzf atomXXX253.gz} で 圧 縮 フ ァ イ ル atomXXXm253.gz を 解 凍 す る 。
[atom253XXX],[tool]ディレクトリに個々のファイルが解凍される。
4 OS がデスクトップ版の場合は、このステップを行わず次の5へ進む。
[tool]ディレクトリに移り{cd tool}、{./serverSET.sh}で端末の言語と文字セットを
[utf8-JP]に、PC は[English]のままにする設定を行う。再起動し、端末接続する。
[TimeZone]は[Asia/Tokyo]になる。
5 システムが静かになるのを待って(sudo apt upgrade を行う必要があるが、システム
が裏で処理中であり sudo がロックされていてエラーになるため)、スクリプト
{./buildAtom.sh}を実行する。
6 上記スクリプト実行時、 MYSQL の DB 作成時の DB 名
幾つか入力待ちになる。 (atom)
とユーザ名・パスワードはスクリプト内で設定されているので、{よく使うパスワード
を設定、後で使う;atom253 以前は空で応答 Enter}で応答する。【ATOM のセットア
ップ後[Enter]を押してください。】の入力待ちまで進み、ATOM のセットアップ(参
考参照)を行った後、{Enter}でスクリプトを完了させる。
6の手順において注意しておくと、atom-worker が ATOM のセットアップ時には必要
がなく、セットアップ後 atom-worker が起動していないと ATOM へ CSV インポート
等の長時間必要な処理ができないためである。
7 DIP アップロード用の slug を作成しておくために、CSV インポート等で少なくとも一
つアーカイブズ記述を作っておく。準備終了。
IV. Archivematica サーバのインストール
1 別途配布した[Matica.gz]ファイルを MATICA へ転送(コピー)する。
2 MATICA へ端末(teraterm)等を用いて ssh 接続する。以後コマンド入力等は端末か
ら行う。コメント等が表示される(日本語文字あり)
3 {tar xzf Matica.gz}で圧縮ファイル Matica.gz を解凍する。[Matica]ディレクトリにサ
ンプルデータディレクトリと設定用スクリプトが展開される。
4 OS がデスクトップ版の場合は、このステップを行わず次の5へ進む。
[Matica]ディレクトリに移り{./serverSET.sh}で端末の言語と文字セットを[utf8-JP]に、
PC は[English]のままにする設定を行う。再起動し、端末接続する。
[TimeZone]は[Asia/Tokyo]になる。
5 システムが静かになるのを待って(sudo apt upgrade を行う必要があるが、システム
が ロ ッ ク さ れ て い て 、 sudo コ マ ン ド で エ ラ ー に な る た め )、 ス ク リ プ ト
{./buildMatica.sh}を実行する。
6 MYSQL の DB のパスワードは[demo]で設定する。
メールの設定:インターネットサイト
システムメール名(例えば):gakushuin.ac.jp
Username()archivematica:これは storage-server の admin のものである。
(例えば)
irisawa
Passward:本物ではないが、適当なもの(忘れないように)
Email address:irisawa@gakushuin.ac.jp;Email アドレスの形式なら何でも良い。
7 MATICA のセットアップを行う。(参考参照)
V. DIP アップロードの設定
まず MATICA 側で必要な設定を行った後に、ATOM の設定を行い、テストを行う。
手順を説明する。順番やスクリプトの内容等を確認しながら行うこと。
1 MATICA でユーザ[archivematica]の[rsa]秘密・公開キーを作成して、ATOM へ公開
キーを ATOM(AtomIP)の[/tmp]に ATOM のユーザ(AtomUser)として[scp]する。
これを行うのが、{./dipUpLoadMatica.sh}である。配布したスクリプトでは AtomIp
と AtomUser が聞かれてくるようになっているが、スクリプト中に記述した方が間違
いを越しにくくなる。スクリプト参照。
A) 公開キー暗号の保存ディレクトリを聞いてくるので、そのまま{Enter}。
B) パスワードは無にするので、{Enter}&{Enter}
C) AtomIp と AtomUser が聞かれてくるので入力する。
D) MATICA は ATOM を[known host]となっていないので、許可するか聞いてくるの
で、{yes}で答える。
E) AtomIp の AtomUser のパスワードが聞かれてくるので、入力する。
F) 公開キーが AtomIP:/tmp/id_rsa.pub に AtomUser 所有のファイルとして存在する
ことが確認できる。
2 Web による MATICA の設定
[Administration]タグの[DIP upload]で、①Upload URL を AtomIP に変更、②Login
email を ATOM のアドミンのログイン名とパスワードを入力、③Rsync target には、
例えば[archivematica@AtomIP:/tmp]と指定し、④Rsync command には、例えば[ssh
–p 22 –l archivematica]と指定して「保存」する。
3 ATOM での設定
[id_rsa.pub]ファイルが ATOM の[/tmp]に存在することを確認して、tool ディレクトリ
にある次のスクリプトを実行する{./dipUpLoadAtoM.sh}。実行中 ATOM 側で rssh が
インストールされるが、ユーザ archivematica に rsync を許すために[/etc/rssh.conf]
が vi で開かれるので rsync についてのコメントを外して保存する必要がある。
4 MATICA から ATOM へのパスワード無でファイル転送のテスト
①MATICA で次のコマンドでデータを転送する。
{sudo -u archivematica rsync -av .profile archivematica@AtomIP:/tmp}
[.profile]ファイルはファイルであれば何でも良いので ll コマンドで存在が確認できる
ファイルで良い。MATICA のユーザ[archivematica]は ATOM を[known host]として
まだ認証していないので認証するか聞いてくるので、[yes]で答える。この時 sudo ユー
ザのパスワードは聞かれてくるが、archivematica のパスワードは聞いてこないはず。
②ATOM で[/tmp/.profile]ファイルの所有者が、archivematica であることを確認する。
5 Web による ATOM の設定
atom の[Sword]プラグインにチェックをして、ATOM サイトを再起動する。プラグイ
ン全てにチェックが入っていても問題はない。
6 DIP アップロードの例
MATICA の[~/Matica/sample]ディレクトリには画像の入った 2 つのディレクトリがあ
り、それらを MATICA で SIP、AIP、DIP を標準的に作成して ATOM へ DIP アップ
ロードを試みる。ATOM のアーカイブズ記述としては、例で良く使う AtoM サイトの
サンプルに日本語を付加した CSV ファイル[testj.csv]を atom へインポートしたものを
使用する。
例1:[pic1]ディレクトリを用いた。3 個の jpg ファイルを slug[example-fonds]へ DIP
アップロードした。[Access system ID]に slug を入力して行った。Atom では指定 slug
の下位レベルとして3つの item が出来上がり、タイトルは Transfar したファイル名
であって、記述上のファイル名はそれに多分ハッシュ値が付加されたものになってい
た。
例2:[pic2]ディレクトリを用いた。4 個の jpg ファイルを DIP アップロードした。例
2では[Access system ID]に slug を入力せずに行い、DIP アップロード時に設定した。
結果は正しく、例1と同様タイトルは元のファイル名で、記述でのファイル名はそれ
にハッシュ値が付加したものである。
2. 運用入門
I. ATOM のセットアップ
Web ブラウザで ATOM サイトへ行き、以下の処理を順次行う。
1 Check system
2 Configure database
DB 名、ユーザー名・パスワードの設定をする。
既定のスクリプトでは、DB 名は atom、ユーザ名・パスワードは atom・gcas4649 に
設定されているので、入力欄を変更する。
3 Configure search
Elasticsearch の DB 名とサーチポートを設定する。通常変更しなくてよい。
しばらく時間がかかり、4を経て 5 へ進む。
4 Load data
5 Configure site
所定の設定を行い、保存するとサーバが完成する。
新しいサイトで、言語を日本語にしておくと良い。
II. MATICA のセットアップ
1 ストレージ・サーバでの確認は MATICA の 8000 番ポートへ Web 接続する。
2 設定したユーザ名・パスワードでアドミニストレータとしてログインする。
3 Administration タグより、[Users]を選び、登録されているユーザを[Edit]する。
4 [API key]をコピーしておく。次のダッシュボードの設定で必要になる。[log out]して
よい。
5 MATICA の 80 番ポートへ Web 接続する。なお、ブラウザとして IE を用いると8で
の確認がうまくいかないように見える場合があるので、[FireFox]を使った結果である。
6 各設定を行って、次へ進む。
7 ストレージ・サーバのアドミンユーザを変更して、4でコピーした[API key]を張り付
けて、[Register]する。ここでユーザを間違えると、うまくいかない。
8 [Administration]タグ、[Transfer source location]の[path]に[/home]があれば設定が成
功したと考えられる。[Transfer]タグで、[Browse]ボタンで MATICA の[/home]ディレ
クトリが表示される。
serverSET.sh(UBUNTU18.04.4 サーバでの teraterm 端末で日本語文字が使えるための
設定スクリプト)
OS を最新にする。
#!/bin/bash 時刻を日本時間にする。
sudo apt update && sudo apt upgrade -y 日本語言語パッケージを
sudo timedatectl set-timezone 'Asia/Tokyo' インストール。
sudo apt install -y language-pack-ja 使用文字コードを日本語
sudo localectl set-locale 'LANG=ja_JP.utf8' UTF-8 にする。
sudo apt install -y manpages-ja manpages-ja-dev Bash 使用時環境変数 term
echo -e "case ¥$TERM in¥n linux) LANG=C ;;¥n が linux ならば、LANG を
*) LANG=ja_JP.UTF-8;;¥nesac">> ~/.bashrc C(英語)にし、それ以外は日
echo [enter] reboot 本語 UTF-8 にする。
read OK 再起動する(この 3 行は入
sudo reboot now
れなくてよい)。

dipUpLoadMatica.sh(MATICA での設定)

#!/bin/bash ATOM サーバの IP アドレス


#AtomIP="192.168.11.46" と ATOM のユーザ指定であ
#AtomUser="irisawa" るが、設定しておくと間違い
sudo -u archivematica ssh-keygen が少なくなる(#を消す)。
echo 公 開 鍵 作 成 後 ATOM サ ー バ の /tmp へ
[id_rsa.pub]をコピーします。 ユーザ archivematica で rsa
if [$AtomIP = ""]; then 暗号を作成。Password が聞
echo -n ATOM サーバの IP アドレス?: かれてくるが無で応答する。
read AtomIP
fi
AtomIP や AtomUser の指定
if [$AtomUser = ""]; then
が無効になっていれば、聞か
echo -n ATOM サーバでのユーザ名?:
れてくるので指定する。
read AtomUser
fi
scp で MATICA で作成され
echo IP アドレス $AtomIP User 名 $AtomUser
た公開キーを ATOM の/tmp
sudo scp /var/lib/archivematica/.ssh/id_rsa.pub
$AtomUser@$AtomIP:/tmp/. ディレクトリにコピーする。
echo 公開鍵を $AtomUser@$AtomIP/tmp に転送し ATOM のユーザのパスワー
ました。 ドが要求されるので答える。

dipUpLoadAtoM.sh(ATOM での設定)
#!/bin/bash このスクリプトを実行するには
echo このスクリプトを実行する前に MATICA サーバで MATICA サーバで作成した公
[dipUpLoadMatica.sh]を 開キーが ATOM の/tmp になけ
echo 行っていなければなりません。 ればいけないので左記のスクリ
echo -n 実行済みならば[enter]を押してください。 プトを MATICA で実行してお
read data くこと。
sudo apt-get install -y rssh リモートシェル rssh のインスト
sudo useradd -d /home/archivematica -m -s /usr/bin/rssh archivematica
ール。
sudo passwd -l archivematica
ATOM にユーザ archivematica
echo -n rssh.conf ファイルを開きます。[rsync]を許可し
を作成し、シェルとして rssh に
てください。[enter]
read data しておく。rssh で実行できるコ
sudo vi /etc/rssh.conf マンドとして rsync を許可する
sudo mkdir /home/archivematica/.ssh ために rssh.conf ファイルを編
sudo chmod 700 /home/archivematica/.ssh 集。#allowrsync の#を削除。
sudo cp /tmp/id_rsa.pub /home/archivematica/.ssh/authorized_keys
sudo chown -R archivematica:archivematica /home/archivematica /tmp にある公開キーid_rsa.pub
echo ATOM サーバ側の設定は終了しました。 を/home/archivematica/.ssh の
echo MATICA サーバで ATOM サーバへ[rsync]でデータ authorized_keys ファイルにコ
を転送テストしてください。 ピーする。複数の MATICA サー
バから DIP アップロードする場
合は追加(CAT して>>で追加)す
る。
MATICA サーバから ATOM へ
ユーザ archivematica で rsync
のテストを行っておくこと。
buildAtoM.sh(ATOM の構築用スクリプト)
#!/bin/bash ATOM255.2.3 の構築
sudo apt-get update OS のアップグレード。
sudo apt -y upgrade Mysql5.7 のインストール。
sudo apt install -y mysql-server-5.7
sudo add-apt-repository ppa:openjdk-r/ppa Elasticsearch のための java ラ
sudo apt-get update イブラリのインストール。
sudo apt install -y openjdk-11-jre-headless software-properties-common
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | Elasticsearch5.x のインストー
sudo apt-key add - ルのための依存データを読む。
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable 6.x では ATOM はエラーにな
main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
る。
sudo apt update
Elasticsearch のインストール。
sudo apt install elasticsearch
sudo systemctl enable elasticsearch OS 起動時に elasticsearch が起
sudo systemctl start elasticsearch 動するように設定。
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin Elasticsearch 黒文字用プラグ
install analysis-kuromoji インをインストール。
sudo systemctl restart elasticsearch
sudo apt install -y nginx Web サーバ Nginx のインストー
sudo touch /etc/nginx/sites-available/atom ル。
sudo ln -sf /etc/nginx/sites-available/atom /etc/nginx/sites-enabled/atom Nginx の起動環境空ファイル
sudo rm /etc/nginx/sites-enabled/default atom を available ディレクトリ
#echo -n atom sites-available ファイルの作成[Enter]を に作成し、enabled ディレクト
押してください。 リにリンクを張っておく。
#read DATA
#sudo vi /etc/nginx/sites-available/atom
sudo cp ~/tool/data/sites-avalable /etc/nginx/sites-available/atom
tool/data にある設定ファイル
sudo systemctl enable nginx sites-avalable を nginx の所定
sudo systemctl reload nginx のディレクトリにコピー。
sudo apt install -y php7.2-cli php7.2-curl php7.2-json php7.2-ldap
php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml php7.2-fpm Php7.2 に必要なライブラリの
php7.2-mbstring php7.2-xsl php7.2-zip php-apcu
インストール。Php 用キャシュ
sudo apt-get install -y php-memcache
sudo cp ~/tool/data/atom.conf /etc/php/7.2/fpm/pool.d/atom.conf メモリー用ソフトインストール
sudo cp ~/tool/data/fpm-php.ini /etc/php/7.2/fpm/php.ini Php 用の設定ファイルを所定の
sudo cp ~/tool/data/cli-php.ini /etc/php/7.2/cli/php.ini 位置へコピー。Php の設定ファ
sudo systemctl enable php7.2-fpm イルで Php がタイムアウトしな
sudo systemctl start php7.2-fpm よう変更したものをコピー。OS
sudo php-fpm7.2 --test 起動時に Php が起動しているよ
#echo -n テスト php-fpm うにする。
#read DATA
sudo rm /etc/php/7.2/fpm/pool.d/www.conf Php7.2-fpm の再起動。
sudo systemctl restart php7.2-fpm
sudo apt install -y gearman-job-server Gearman-job-server の イ ン ス
#echo -n gearman-jobsever の 設 定 変 更 トール。
PARAMS="--listen=* port=4730"[Enter]
#read DATA 左記パラメータの変更した
#sudo vi /etc/default/gearman-job-server
gearman-job-server ファイルを
sudo cp ~/tool/data/gearman-job-server
所定の位置へコピー。
/etc/default/gearman-job-server
#echo -n atom-worker 設定ファイルの作成[Enter]
Atom-worker の起動前に Mysql
#read DATA
が起動してないとエラーになる
#sudo vi /usr/lib/systemd/system/atom-worker.service
sudo cp ~/tool/data/atom-worker.service ので、変更済みのファイルを所
/usr/lib/systemd/system/atom-worker.service 定の位置にコピーする。
sudo systemctl daemon-reload
sudo systemctl enable atom-worker Atom-worker を OS 起動時に事
sudo systemctl start atom-worker 項実行するように設定。
sudo apt install -y --no-install-recommends fop libsaxon-java
sudo apt install -y imagemagick ghostscript poppler-utils ffmpeg
#echo -n imagemagic の policy 変更 PDF 項目の none Imagemagic の policy で PDF の
を変更 [Enter] サムネルが作成されないので、
#read DATA それを変更した policy.xml ファ
#sudo vi /etc/ImageMagick-6/policy.xml イ ルを所定 の位置に コピー す
sudo cp ~/tool/data/policy.xml /etc/ImageMagick-6/policy.xml
echo MYSQL の設定 password は[enter]で返答 る。
echo DB 名:atom user: atom pass: gcas4649
Mysql でデータベース atom を
sudo mysql -h localhost -u root -p -e "CREATE
DATABASE atom CHARACTER SET utf8 COLLATE 作成している。データベース名
utf8_unicode_ci;" を変更するならここを変更。
sudo mysql -h localhost -u root -p -e "GRANT ALL ON データベース atom の処理全権
atom.* TO 'atom'@'localhost' IDENTIFIED BY を持ったユーザ atom とそのパ
'gcas4649';" スワード gcas4649 を変更する
sudo cp ~/tool/data/mysqld.cnf /etc/mysql/conf.d/. 場合はここを変更。
sudo systemctl restart mysql
sudo cp -r ~/atom253 /usr/share/nginx/atom 道場版 ATOM-2.5.3 を所定の位
sudo chown -R www-data:www-data /usr/share/nginx/atom 置へコピーする。用語や文章の
echo -n ATOMのセットアップ後[Enter]を押してくだ 日本語化が十分されている。ま
さい。 た、黒文字関連の設定ファイル
read DATA も入っているので、kuromoji の
sudo php /usr/share/nginx/atom/symfony cc
インストールをしておく必要が
sudo php /usr/share/nginx/atom/symfony search:populate
sudo systemctl restart php7.2-fpm ある。ATOM をここでセットア
sudo systemctl restart memcached ップするために一旦停止。
sudo systemctl restart atom-worker
Atom-worker が動作していない
と CSV インポートできない。
buildMatica.sh(archivematica 構築用スクリプト)
#!/bin/bash Archivematica1.10.1 の構築
#upgrade
sudo apt-get update OS のグレードアップ。
sudo apt-get -y upgrade
#1packages Archivematica( 以 下 MATICA)
sudo wget -O - 1.10.x をインストールするため
https://packages.archivematica.org/1.10.x/key.asc | のパッケージリスト等の取得。
sudo apt-key add -
1.10.x を 1.9.x にすると以前の
sudo sh -c 'echo "deb [arch=amd64]
バ ー ジョ ン を構 築で きる が 、
http://packages.archivematica.org/1.10.x/ubuntu
ATOM2.5.3 へ DIP アップロー
bionic main" >> /etc/apt/sources.list'
sudo sh -c 'echo "deb [arch=amd64] ドがうまくいくためには、1.10.x
http://packages.archivematica.org/1.10.x/ubuntu-exter にする必要がある。
nals bionic main" >> /etc/apt/sources.list'
#2elasticsearch
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo Elasticsearch のインストール
apt-key add - 用依存関係等を取得。
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" |
sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list ATOM と共存できるようにする
#3 には、6.x を 5.x にする必要があ
sudo apt-get update る。
sudo apt-get -y upgrade
#4
sudo apt-get install -y htop ntp apt-transport-https unzip Java のランタイムライブラリ
openjdk-8-jre-headless
のインストールであるが、
#5
sudo apt-get install -y elasticsearch ATOM との共存には 8 を 11 に
#6storage するとよい。
sudo apt-get install -y archivematica-storage-service Elasticsearch のインストール。
#7 MATICA のストレージ・サーバ
sudo rm -f /etc/nginx/sites-enabled/default のインストール。Web サーバ
sudo ln -sf /etc/nginx/sites-available/storage Nginx もインストールされ、そ
/etc/nginx/sites-enabled/storage の設定ファイルを有効にする。
sudo sh -c 'echo "SS_GUNICORN_WORKER_CLASS=sync" >>
/etc/default/archivematica-storage-service'
#8
wget -O - https://bootstrap.pypa.io/get-pip.py | sudo python -
#9
sudo apt-get install -y archivematica-mcp-server Mcp-server インストール中に
sudo apt-get install -y archivematica-dashboard Mysql のデータベースのパスワ
sudo apt-get install -y archivematica-mcp-client ードが聞かれてくるが「demo」
#10 で答える必要がある。
#11
sudo ln -sf /etc/nginx/sites-available/dashboard.conf Web サイト dashboard の設定を
/etc/nginx/sites-enabled/dashboard.conf 有効にする。
#12start elasticsearch
sudo systemctl daemon-reload 各種バックグラウンドで実行さ
sudo service elasticsearch restart せておく処理を OS 起動時に行
sudo systemctl enable elasticsearch わせるべき設定と、実際に実行
#1313.Start the remaining services させる。
sudo service clamav-freshclam restart 2 分待ち状態にする。
sleep 120s
sudo service clamav-daemon start
sudo service gearman-job-server restart
sudo service archivematica-mcp-server start
sudo service archivematica-mcp-client restart
sudo service archivematica-storage-service start
sudo service archivematica-dashboard restart
sudo service nginx restart
sudo systemctl enable fits-nailgun
sudo service fits-nailgun start
sudo service gearman-job-server restart
sudo service clamav-daemon restart
#14
sudo ufw status
sudo ufw allow 22/tcp
必要な tcp ポートを許可してお
sudo ufw allow 80/tcp く。
sudo ufw allow 8000/tcp
sudo ufw reload
sudo -u archivematica bash -c " ¥
set -a -e -x
source /etc/default/archivematica-storage-service || ¥
source /etc/sysconfig/archivematica-storage-service ¥
|| (echo 'Environment file not found'; exit 1)
cd /usr/lib/archivematica/storage-service
MATICA のストレージ・サーバ
/usr/share/archivematica/virtualenvs/archivematica-storage-service/bin の ユ ーザ 名 とパ スワ ード を 設
/python manage.py createsuperuser
";
定。

You might also like