システム要件
Omeka Sを動作させるには、以下のソフトウェアが必要です。
| 項目 | 要件 |
|---|---|
| PHP | 7.4以上(8.0〜8.2推奨) |
| MySQL | 5.7.9以上 / MariaDB 10.2.6以上 |
| Webサーバ | Apache(mod_rewrite有効)またはNginx |
| PHP拡張 | PDO, pdo_mysql, fileinfo, mbstring, intl, xml, json |
| ImageMagick | サムネイル生成に必要 |
PHP 8.3以降については、Omeka Sのバージョンによって対応状況が異なるため、公式リリースノートを確認してください。
Dockerを使ったインストール
最も手軽にOmeka Sを試す方法は、Docker Composeを利用する方法です。筆者は以前、Docker版Omeka Sの構築について詳しく紹介しました。詳細はOmeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューションをご覧ください。
docker-compose.yml
以下のファイルを用意するだけで、Omeka S、MySQL、phpMyAdminがまとめて起動します。
version: "3.9"
services:
omeka-s:
image: dodeeric/omeka-s:latest
ports:
- "8080:80"
volumes:
- omeka-files:/var/www/html/files
- omeka-modules:/var/www/html/modules
- omeka-themes:/var/www/html/themes
- omeka-config:/var/www/html/config
- omeka-logs:/var/www/html/logs
depends_on:
- mysql
restart: unless-stopped
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: omeka_s
MYSQL_USER: omeka
MYSQL_PASSWORD: omeka_password
volumes:
- mysql-data:/var/lib/mysql
restart: unless-stopped
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8081:80"
environment:
PMA_HOST: mysql
PMA_USER: root
PMA_PASSWORD: rootpassword
depends_on:
- mysql
restart: unless-stopped
volumes:
omeka-files:
omeka-modules:
omeka-themes:
omeka-config:
omeka-logs:
mysql-data:
起動手順
# ディレクトリを作成して移動
mkdir omeka-s-docker && cd omeka-s-docker
# docker-compose.ymlを配置した後、起動
docker compose up -d
# ログの確認
docker compose logs -f omeka-s
起動が完了したら、ブラウザで http://localhost:8080 にアクセスします。初回アクセス時にはインストール画面が表示されます。
Docker環境でのCORS対応
Docker版のOmeka Sで外部のIIIFビューアやJavaScriptアプリケーションからアクセスする場合、CORS(Cross-Origin Resource Sharing)の設定が必要になることがあります。筆者はこの問題についてDocker版のOmeka SでCORS対応を行うで詳しく解説しています。
Docker環境の移行
Docker環境を別のサーバに移行する場合の完全な手順についてはOmeka-S Docker環境を別サーバーに移行する完全ガイドをご覧ください。ボリュームのバックアップからリストアまで、具体的な手順を解説しています。
Amazon Lightsailを使ったインストール
クラウド環境でOmeka Sを運用したい場合、Amazon Lightsailは手軽な選択肢です。筆者は、Lightsailを使った構築手順を詳しく解説しています。
Omeka Sの場合はAmazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)をご覧ください。独自ドメインの設定やLet’s EncryptによるSSL化の手順も含まれています。
初期設定を自動化するスクリプトも公開しています。Amazon LightsailでOmeka Sの初期設定を行うscriptや、Easy Adminモジュールの追加を含む拡張版のAmazon LightsailでOmeka Sの初期設定を行うscript(Easy Adminモジュールの追加)を使うことで、セットアップの手間を大幅に削減できます。
Omeka Classicの場合はAmazon Lightsailを用いたOmeka Classicサイトの構築(独自ドメイン+SSL化を含む)およびAmazon LightsailでOmeka Classicの初期設定を行うscriptを参考にしてください。
さくらレンタルサーバへのインストール
共有レンタルサーバにインストールする場合、ImageMagickのパス指定など、環境固有の設定が必要になることがあります。筆者はさくらレンタルサーバでの設定についてさくらレンタルサーバにOmeka Sをインストールする際のimagemagickのパス指定で解説しています。
初期設定
インストールが完了したら、管理画面から以下の初期設定を行います。
グローバル設定
管理画面の右上の歯車アイコンから「Settings」にアクセスします。
一般設定
- Administrator Email: 管理者通知用メールアドレス
- Installation Title: インストール名(管理画面のタイトルバーに表示)
- Time Zone:
Asia/Tokyoを選択 - Locale: 日本語を選択
APPLICATION_ENVの設定
Omeka Sには production と development の2つのアプリケーション環境があります。筆者はこの違いについてOmeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違いで解説しています。本番環境では必ず production を設定してください。
ファイルアップロード設定
大きなファイルをアップロードする場合、PHPの設定変更が必要です。筆者はOmeka Sにサイズが大きいファイルをアップロードするでこの問題を詳しく解説しています。
; php.iniの設定例
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
memory_limit = 512M
メタデータの言語属性の設定
メタデータの言語タグ(@language)の設定方法については、【Omeka S Tips】メタデータの言語属性の設定方法で詳しく解説しています。日本語のコレクションでは、デフォルトの言語タグとして ja を設定しておくと便利です。
日本語検索の注意点
MySQLのデフォルトの全文検索エンジンは、日本語のようにスペースで区切らない言語に対して十分な対応ができない場合があります。筆者はこの問題について多くの調査と対策を行ってきました。
まず、基本的な問題と対策についてはOmeka Sの日本語による全文検索の注意点とMroonga searchモジュールで解説しています。
具体的な解決策として、筆者はFixCjkSearchモジュールを開発しました。詳細は【Omeka S モジュール開発】FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正をご覧ください。また、このモジュールのv4.1.0リリースについてはOmeka-S-module-FixCjkSearchのv4.1.0をリリースしました。で紹介しています。
さらに、MroongaSearchモジュールを使った日本語全文検索の実現方法としてOmeka-SのMroongaSearchモジュールで日本語全文検索を実現するも参考になります。部分一致検索時のアクセントの区別についてはOmeka Sの部分一致検索時のアクセントの区別で解説しています。
メール送信設定
Amazon Lightsail上のOmeka SからAmazon SESを使ってメールを送信する設定についてはAmazon Lightsail上に立てたOmeka SからAmazon SESでメールを送信するで解説しています。
バックアップ
運用開始後のバックアップ体制も重要です。Omeka Sでバックアップすべきデータは以下の3つです。
- データベース: すべてのメタデータ、設定、ユーザ情報
- filesディレクトリ: アップロードされたメディアファイル
- config/database.ini: データベース接続設定
筆者はgdriveを用いた簡易バックアップの方法を紹介しています(gdriveを用いたOmeka Sの簡易バックアップ)。また、AWS Copilotを使った定期的なバックアップについてはAWS Copilotを用いたOmeka Sデータの定期バックアップをご覧ください。
オブジェクトストレージの利用
ファイルストレージにオブジェクトストレージを使用することも可能です。筆者は、mdx.jpのオブジェクトストレージを使った構成についてOmeka Sのファイルをmdx.jpのオブジェクトストレージに保存するで解説しています。オブジェクトストレージへのIPアドレス制限についてはMDX.jpのオブジェクトストレージに対するIPアドレス制限の実装方法も参考にしてください。
よくあるエラーと対処法
インストールや初期設定時に遭遇しやすいエラーについても紹介しておきます。
session.nameエラー: PHPのセッション設定に起因するエラーです。対処法は‘session.name’ is not a valid sessions-related ini settingをご覧くださいService with name "Omeka\Acl" could not be created: アクセス制御関連のエラーです。Service with name “Omeka\Acl” could not be createdで対処法を解説しています- CSRFエラー: フォーム送信時に発生することがあります。Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応を参照してください
まとめ
本章では、Omeka Sのインストール方法として、Docker環境、Amazon Lightsail、レンタルサーバの3つの方法を解説しました。開発や検証用途にはDocker環境が手軽であり、本番運用にはクラウド環境がお勧めです。
初期設定として、言語設定、ファイルアップロード、日本語検索対策、バックアップ体制の整備を行いました。次章からは、Omeka Sの核となるデータ管理機能について解説していきます。
関連記事
- Omeka S Docker の紹介:デジタルコレクションのための最新かつセキュアなソリューション
- Docker版のOmeka SでCORS対応を行う
- Omeka-S Docker環境を別サーバーに移行する完全ガイド
- Amazon Lightsailを用いたOmeka Sサイトの構築(独自ドメイン+SSL化を含む)
- Amazon LightsailでOmeka Sの初期設定を行うscript
- Amazon LightsailでOmeka Sの初期設定を行うscript(Easy Adminモジュールの追加)
- さくらレンタルサーバにOmeka Sをインストールする際のimagemagickのパス指定
- Omeka Sにサイズが大きいファイルをアップロードする
- Omeka SのSetEnv APPLICATION_ENVのproductionとdevelopmentの違い
- 【Omeka S Tips】メタデータの言語属性の設定方法
- Omeka Sの日本語による全文検索の注意点とMroonga searchモジュール
- 【Omeka S モジュール開発】FixCjkSearch: Omeka Sの日本語による全文検索の不具合修正
- Omeka-S-module-FixCjkSearchのv4.1.0をリリースしました。
- Omeka-SのMroongaSearchモジュールで日本語全文検索を実現する
- gdriveを用いたOmeka Sの簡易バックアップ
- AWS Copilotを用いたOmeka Sデータの定期バックアップ
- Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する
- Amazon Lightsail上に立てたOmeka SからAmazon SESでメールを送信する
- ‘session.name’ is not a valid sessions-related ini setting
- Service with name “Omeka\Acl” could not be created
- Omeka SでのCSRF: Value is required and can’t be emptyエラーへの対応