Omeka Sは、デジタルコレクションを管理・公開するためのオープンソースのウェブアプリケーションです。本章では、Omeka Sのインストール方法について、Docker環境を利用した方法と手動インストールの2つの方法を解説します。
システム要件
Omeka Sを動作させるためには、以下の環境が必要です。
- Linux(Ubuntu 20.04以降を推奨)
- Apache(mod_rewriteが有効であること)
- MySQL 5.7.9以降 または MariaDB 10.2.6以降
- PHP 7.4以降(8.0以降を推奨)
- PHP拡張モジュール: PDO、pdo_mysql、xml、mbstring、intl、fileinfo、gd または imagick
また、画像のサムネイル生成のために ImageMagick が必要です。さくらレンタルサーバなどの環境では、ImageMagickのパスを明示的に指定する必要がある場合があります。
Dockerを使ったインストール(推奨)
Dockerを使用すると、環境構築が容易になり、再現性の高いインストールが可能です。詳細については、Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューションを参照してください。
docker-compose.ymlの準備
以下は、Omeka Sを動作させるためのdocker-compose.ymlの基本的な例です。
version: '3'
services:
omeka-s:
image: ghcr.io/nakamura196/omeka-s-docker:latest
ports:
- "80:80"
volumes:
- omeka-files:/var/www/html/files
- omeka-modules:/var/www/html/modules
- omeka-themes:/var/www/html/themes
environment:
OMEKA_DB_HOST: mariadb
OMEKA_DB_NAME: omeka
OMEKA_DB_USER: omeka
OMEKA_DB_PASSWORD: omeka
depends_on:
- mariadb
mariadb:
image: mariadb:10.11
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: omeka
MYSQL_USER: omeka
MYSQL_PASSWORD: omeka
volumes:
omeka-files:
omeka-modules:
omeka-themes:
db-data:
起動手順
# docker-compose.ymlのあるディレクトリで実行
docker-compose up -d
# ログの確認
docker-compose logs -f omeka-s
起動後、ブラウザで http://localhost にアクセスすると、Omeka Sの初期設定画面が表示されます。
CORS対応
Docker環境でIIIF対応のビューアなど、外部からAPIにアクセスする場合は、CORS(Cross-Origin Resource Sharing)の設定が必要になることがあります。詳しくは、Docker版のOmeka SでCORS対応を行うを参照してください。
Apacheの設定ファイルに以下を追加します。
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type"
手動インストール
Docker環境を使用せず、直接サーバーにインストールする場合の手順を説明します。
1. ファイルの配置
Omeka Sの公式サイトからZIPファイルをダウンロードし、ウェブサーバーのドキュメントルートに展開します。
# ダウンロードと展開
wget https://github.com/omeka/omeka-s/releases/download/v4.1.1/omeka-s-4.1.1.zip
unzip omeka-s-4.1.1.zip -d /var/www/html/
# 権限の設定
chown -R www-data:www-data /var/www/html/omeka-s/
chmod -R 755 /var/www/html/omeka-s/files/
2. データベースの作成
MySQLまたはMariaDBにデータベースとユーザーを作成します。
CREATE DATABASE omeka CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'omeka'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON omeka.* TO 'omeka'@'localhost';
FLUSH PRIVILEGES;
utf8mb4を使用することで、日本語を含むマルチバイト文字を正しく扱えるようになります。
3. database.iniの設定
config/database.iniファイルを編集し、データベースの接続情報を設定します。
user = "omeka"
password = "your_password"
dbname = "omeka"
host = "localhost"
4. Apacheの設定
.htaccessが正しく動作するように、Apacheの設定でmod_rewriteを有効にし、AllowOverride Allを設定します。
<Directory /var/www/html/omeka-s>
AllowOverride All
Require all granted
</Directory>
5. ウェブインストーラーの実行
ブラウザでOmeka Sの配置先にアクセスすると、初期設定画面が表示されます。管理者のメールアドレス、パスワード、サイト名などを入力して、インストールを完了します。
日本語検索の不具合修正(FixCjkSearch)
Omeka Sのデフォルトの全文検索機能は、MySQLのFULLTEXT INDEXを使用しています。しかし、MySQLのデフォルトのパーサー(InnoDB ft_default_parser)は、日本語・中国語・韓国語(CJK文字)の分かち書きに対応していないため、日本語での全文検索が正しく動作しません。
この問題を解決するために、FixCjkSearchモジュールを開発しました。詳しくは、FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正を参照してください。
FixCjkSearchのインストール
cd /var/www/html/omeka-s/modules/
git clone https://github.com/nakamura196/Omeka-S-module-FixCjkSearch.git FixCjkSearch
モジュールをダウンロードしたら、Omeka Sの管理画面から「モジュール」ページにアクセスし、FixCjkSearchを有効にします。
仕組み
FixCjkSearchは、CJK文字の各文字間にスペースを挿入することで、MySQLのFULLTEXT INDEXがN-gram的な検索を行えるようにします。これにより、分かち書きに依存せずに日本語の全文検索が可能になります。
バージョン4.1.0では、さらなる改善が行われています。詳しくは、Omeka-S-module-FixCjkSearchのv4.1.0をリリースしました。を参照してください。
また、全文検索のもう一つの選択肢として、MroongaSearchモジュールがあります。こちらはMySQL/MariaDBのMroongaストレージエンジンを使用して、日本語の全文検索を実現します。詳しくは、Omeka-SのMroongaSearchモジュールで日本語全文検索を実現するを参照してください。
Amazon Lightsailへのデプロイ
AWS上にOmeka Sを構築する場合、Amazon Lightsailを利用すると比較的低コストで環境を構築できます。初期設定スクリプトを用いた手順については、Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)を参照してください。
環境設定
Omeka Sでは、.htaccessファイルでアプリケーションの実行環境を指定できます。
SetEnv APPLICATION_ENV "production"
productionとdevelopmentの違いについては、Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違いで解説しています。開発時はdevelopmentに設定するとエラーの詳細が表示されますが、本番環境では必ずproductionを使用してください。
関連記事
- Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューション
- Docker版のOmeka SでCORS対応を行う
- FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正
- Omeka-S-module-FixCjkSearchのv4.1.0をリリースしました。
- Omeka-SのMroongaSearchモジュールで日本語全文検索を実現する
- Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)
- Amazon LightsailでOmeka Sの初期設定を行うscript
- Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い
- さくらレンタルサーバにOmeka Sをインストールする際のimagemagickのパス指定