🙆
Docker版のOmeka SでCORS対応を行う
概要
Docker版のOmeka Sで、以下の記事のようにCORS対応を実施した際、サーバエラーが発生しました。その備忘録を記載します。
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