Migración

 Migrar MediaWiki a Docker con Apache, LDAP y certificados SSL implica varios pasos. Aquí hay una guía paso a paso para realizar esta tarea:


### 1. Preparación


Antes de comenzar, asegúrese de tener Docker y Docker Compose instalados en su servidor.


### 2. Crear directorios y archivos necesarios


Cree una carpeta en su servidor para almacenar sus archivos de configuración y volúmenes de datos persistentes. Por ejemplo:


```

mkdir mediawiki-docker

cd mediawiki-docker

```


### 3. Crear el archivo `docker-compose.yml`


Cree un archivo `docker-compose.yml` en el directorio `mediawiki-docker` con el siguiente contenido:


```yaml

version: '3.8'

services:

  mediawiki:

    image: mediawiki

    container_name: mediawiki

    volumes:

      - ./images:/var/www/html/images

      - ./LocalSettings.php:/var/www/html/LocalSettings.php

    depends_on:

      - database

    networks:

      - mediawiki-network


  database:

    image: mariadb

    container_name: mariadb

    volumes:

      - ./db-data:/var/lib/mysql

    environment:

      - MYSQL_DATABASE=mediawiki

      - MYSQL_USER=user

      - MYSQL_PASSWORD=password

      - MYSQL_RANDOM_ROOT_PASSWORD=yes

    networks:

      - mediawiki-network


  web:

    image: httpd

    container_name: apache

    volumes:

      - ./apache.conf:/usr/local/apache2/conf/httpd.conf

      - ./images:/usr/local/apache2/htdocs/images

      - ./ssl:/usr/local/apache2/conf/ssl

    ports:

      - "80:80"

      - "443:443"

    depends_on:

      - mediawiki

    networks:

      - mediawiki-network


networks:

  mediawiki-network:

    name: mediawiki-network

```


### 4. Crear el archivo `apache.conf`


Cree un archivo llamado `apache.conf` en el mismo directorio que su archivo `docker-compose.yml`:


```

ServerName localhost

Listen 80

Listen 443


LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

LoadModule ldap_module modules/mod_ldap.so


DocumentRoot "/usr/local/apache2/htdocs"


<Directory "/usr/local/apache2/htdocs">

    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted

</Directory>


ProxyPass / http://mediawiki:80/

ProxyPassReverse / http://mediawiki:80/


ProxyRequests Off

ProxyPreserveHost On


# SSL Configuration

SSLEngine on

SSLCertificateFile "/usr/local/apache2/conf/ssl/your_cert.crt"

SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/your_key.key"

SSLCACertificateFile "/usr/local/apache2/conf/ssl/your_ca.crt"


# LDAP Configuration

<Location />

    AuthType Basic

    AuthName "MediaWiki LDAP Authentication"

    AuthBasicProvider ldap

    AuthLDAPURL "ldap://your_ldap_server/dc=your,dc=domain?uid"

    AuthLDAPBindDN "cn=admin,dc=your,dc=domain"

    AuthLDAPBindPassword "your_bind_password"

    Require valid-user

</Location>

```


Asegúrese de reemplazar `your_cert.crt`, `your_key.key` y `your_ca.crt` con los nombres de sus archivos de certificado SSL, clave privada y certificado de la autoridad de certificación, respectivamente. También actualice la configuración de LDAP con los detalles de su servidor LDAP.


### 5. Copiar archivos de configuración y datos


Copie su archivo `LocalSettings.php` y la carpeta `images` de su instalación actual de MediaWiki a la carpeta `mediawiki-docker`.


Además, copie sus certificados SSL y la clave privada a la carpeta `./ssl`.


### 6. Crear y ejecutar los contenedores de Docker


Ejecute el siguiente comando en la carpeta `mediawiki-docker` para crear y ejecutar los contenedores de Docker:


```

docker-compose up -d

```


Una vez que haya realizado estos cambios y ejecutado el comando anterior, su instancia de MediaWiki debería estar funcionando con Apache, LDAP y certificados SSL en Docker. Asegúrese de ajustar las rutas de archivo y las configuraciones de acuerdo con su entorno específico.

Comentarios

Entradas populares de este blog

Docker alpine

Questasim