🙆

Docker版のOmeka SでCORS対応を行う

2024/07/02に公開

概要

Docker版のOmeka Sで、以下の記事のようにCORS対応を実施した際、サーバエラーが発生しました。その備忘録を記載します。

https://zenn.dev/nakamura196/articles/b8971f470f983f

Dockerfile

以下のようなDockerfileを対象とします。

FROM php:apache

LABEL maintainer="Satoru Nakamura <na.kamura.1263@gmail.com>"

RUN a2enmod rewrite

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get -qq update && apt-get -qq -y upgrade
RUN apt-get install -y \
    zlib1g-dev \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    imagemagick \
    unzip \
    wget


# PHP extensions
RUN docker-php-ext-install -j$(nproc) iconv pdo pdo_mysql mysqli gd
RUN docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/

# Download Omeka-s
ARG version=4.1.1
RUN wget https://github.com/omeka/omeka-s/releases/download/v${version}/omeka-s-${version}.zip -O /var/www/omeka-s-${version}.zip \
&& unzip -q /var/www/omeka-s-${version}.zip -d /var/www/ \
&& rm /var/www/omeka-s-${version}.zip \
&& rm -rf /var/www/html/ \
&& mv /var/www/omeka-s/ /var/www/html/

COPY ./.htaccess /var/www/html/.htaccess

# Configure volumes and permissions
COPY ./database.ini /var/www/html/volume/config/
RUN mkdir -p /var/www/html/volume/files/ \
&& rm /var/www/html/config/database.ini \
&& ln -s /var/www/html/volume/config/database.ini /var/www/html/config/database.ini \
&& rm -Rf /var/www/html/files/ \
&& ln -s /var/www/html/volume/files/ /var/www/html/files \
&& chown -R www-data:www-data /var/www/html/ \
&& find /var/www/html/volume/ -type f -exec chmod 600 {} \;

VOLUME /var/www/html/volume/

CMD ["apache2-foreground"]

原因と対策

以下を追記する必要がありました。

RUN a2enmod headers

まとめ

同様のことでお困りの方の参考になりましたら幸いです。

Discussion