mediawiki/Dockerfile

75 lines
5.5 KiB
Docker

# Rx3-Docker/MediaWiki Dockerfile
#-------------------------------------------------------------------------------
ARG IMG_FROM_URL="rx3-docker/php-apache:latest"
FROM ${IMG_FROM_URL}
ARG IMG_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}ARG MEDIAWIKI_VERSION=1.43.5
ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d
ARG MEDIAWIKI_CORE_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/70-mediawiki-core.conf
ARG MEDIAWIKI_SURL_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/65-mediawiki-short_url.conf
#---------------------------------------------------------------------------------------------------
ARG MEDIAWIKI='#!/bin/bash \n\
\n\
chown -R apache:apache /var/www/mediawiki /etc/mediawiki \n\
chmod -R a-x,a+X /var/www/mediawiki /etc/mediawiki \n\
chmod o-rwx /var/www/mediawiki /etc/mediawiki \n\
chmod -R u+rwX /var/www/mediawiki \n\
\n\
cp -f '${MEDIAWIKI_CORE_CONFIG_FILE}.ref' '${MEDIAWIKI_CORE_CONFIG_FILE}' \n\
cp -f '${MEDIAWIKI_SURL_CONFIG_FILE}.ref' '${MEDIAWIKI_SURL_CONFIG_FILE}' \n\
\n\
if [[ "${MEDIAWIKI_CONFIG}" == "TRUE" ]] \n\
then \n\
sed -i "s/MEDIAWIKI_CONFIG_AUTH/all granted/" '${MEDIAWIKI_CORE_CONFIG_FILE}' \n\
else \n\
sed -i "s/MEDIAWIKI_CONFIG_AUTH/local/" '${MEDIAWIKI_CORE_CONFIG_FILE}' \n\
fi \n\
\n\
sed -i -e "s%MEDIAWIKI_URL%${MEDIAWIKI_URL}%g" '${MEDIAWIKI_CORE_CONFIG_FILE}' \n\
sed -i -e "s%MEDIAWIKI_URL%${MEDIAWIKI_URL}%g" '${MEDIAWIKI_SURL_CONFIG_FILE}' \n\
\n\
sed -i -e "s%mailhub=mail%mailhub=${SMTP_SERVER}%" /etc/ssmtp/ssmtp.conf'
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
ARG MEDIAWIKI_SURL_CONFIG='# mediawiki short url configuration \n\
\n\
# Eval the subquery \n\
RewriteCond %{REQUEST_URI} ^MEDIAWIKI_URL(.*)$ \n\
RewriteRule ^ - [E=SUBREQUEST_URI:%1] \n\
\n\
# Skip local file or dir \n\
RewriteCond /usr/share/mediawiki%{ENV:SUBREQUEST_URI} !-f \n\
RewriteCond /usr/share/mediawiki%{ENV:SUBREQUEST_URI} !-d \n\
\n\
# Rewite \n\
RewriteRule "^/?MEDIAWIKI_URL(/.*)?$" "/usr/share/mediawiki/index.php" [L,QSA] \n\
'
#---------------------------------------------------------------------------------------------------
RUN urpmi.update -a \
&& urpmi --force wget ssmtp php-iconv php-fileinfo php-dom php-apcu php-gd php-xmlreader git mediawiki mediawiki-pgsql \
&& mv /etc/httpd/conf/sites.d/mediawiki.conf ${MEDIAWIKI_CORE_CONFIG_FILE}.ref \
&& sed -i -e "s%Alias /mediawiki%Alias MEDIAWIKI_URL%" -e "s/Require local/Require MEDIAWIKI_CONFIG_AUTH/" ${MEDIAWIKI_CORE_CONFIG_FILE}.ref \
&& echo -e "${MEDIAWIKI_SURL_CONFIG}" | sed -e "s/\`/'/g" -e 's/ *$//' > ${MEDIAWIKI_SURL_CONFIG_FILE}.ref \
&& echo -e "${MEDIAWIKI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/mediawiki \
&& chmod a+x /etc/init.d/mediawiki \
&& ln -s /etc/init.d/mediawiki /etc/rcD.d/S40mediawiki