Mediawiki
Entiendo que deseas un enfoque más integrado utilizando `docker-compose` y que las extensiones provienen de la misma fuente que MediaWiki. Aquí tienes una solución actualizada para lograr esto:
**Paso 1: Crear el archivo docker-compose.yml**
Crea un archivo llamado `docker-compose.yml` en un nuevo directorio vacío. Agrega el siguiente contenido al archivo:
```yaml
version: '3.7'
services:
mediawiki:
build:
context: .
args:
MEDIAWIKI_VERSION: 1.35.2
ports:
- 8080:80
volumes:
- ./mediawiki-images:/var/www/html/images
- ./LocalSettings.php:/var/www/html/LocalSettings.php
depends_on:
- database
database:
image: mysql:5.7
environment:
MYSQL_DATABASE: mediawiki
MYSQL_USER: mediawiki_user
MYSQL_PASSWORD: mediawiki_password
MYSQL_ROOT_PASSWORD: root_password
volumes:
- ./mysql-data:/var/lib/mysql
```
No olvides cambiar las contraseñas en las variables de entorno.
**Paso 2: Crear el archivo Dockerfile**
Crea un archivo llamado `Dockerfile` en el mismo directorio que el archivo `docker-compose.yml`. Agrega el siguiente contenido al archivo:
```Dockerfile
FROM php:7.4-apache
# Instalar dependencias y extensiones necesarias para MediaWiki
RUN apt-get update && apt-get install -y \
libicu-dev \
libzip-dev \
unzip \
&& docker-php-ext-install -j$(nproc) intl mysqli opcache zip
# Habilitar mod_rewrite
RUN a2enmod rewrite
# Copiar el archivo de configuración personalizado de Apache
COPY ./000-default.conf /etc/apache2/sites-available/000-default.conf
# Instalar MediaWiki
ARG MEDIAWIKI_VERSION=1.35.2
RUN curl -L https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_VERSION%.*}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz | tar xz \
&& mv mediawiki-${MEDIAWIKI_VERSION} /var/www/html
# Configurar los permisos de los directorios
RUN chown -R www-data:www-data /var/www/html
# Instalar extensiones de MediaWiki
COPY ./extensions /var/www/html/extensions
RUN chmod -R 755 /var/www/html/extensions
```
**Paso 3: Crear el archivo de configuración de Apache**
Crea un archivo llamado `000-default.conf` en el mismo directorio que el `Dockerfile`. Agrega el siguiente contenido al archivo:
```apache
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```
**Paso 4: Descargar extensiones de MediaWiki**
Descarga las extensiones que deseas instalar desde la página oficial del repositorio de extensiones de MediaWiki en formato `.tar.gz` y colócalas dentro de un nuevo directorio llamado `extensions` en el mismo directorio que el `Dockerfile`.
Descomprime las extensiones con el siguiente comando (reemplaza el nombre de la extensión según corresponda):
```bash
tar -xzf example_extension.tar.gz -C extensions/
```
**Paso 5: Copiar el archivo LocalSettings.php**
Copia tu archivo `LocalSettings.php` de tu instalación actual de MediaWiki al directorio principal que contiene el `Dockerfile` y el `docker-compose.yml`.
**Paso 6: Construir e iniciar los contenedores**
Ejecuta el siguiente comando en el directorio donde se encuentra el archivo `docker-compose.yml` para construir e iniciar los contenedores:
```bash
docker-compose up -d
```
Una vez que los contenedores estén en ejecución, tu instancia de MediaWiki debería estar disponible en `http://localhost:8080`. Asegúrate de actualizar la configuración de la base de datos en `LocalSettings.php` para que coincida con las variables de entorno que configuraste en el archivo `docker-compose.yml`.
Con estos pasos, tendrás una solución integrada utilizando `docker-compose` para migrar tu instancia actual de MediaWiki a Docker con Apache, MySQL y las extensiones requeridas.
Comentarios
Publicar un comentario