# 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