Hola amigos, que alegria que se acerca la #Flisol2021 no?? yo la verdad re contra chocho…. en fin, para seguir sumando con mi granito de arena en esta oportunidad te quiero mostrar como Crear tu propia WIKIMEDIA sobre Docker ya que para muchos proyectos suele ser verdaderamente necesario y para otros simplemente se requiere para documentación. Para lo que sea que lo necesites por aca esta el paso a paso para Crear tu propia WIKIMEDIA sobre Docker y te dejo sin más con el tutorial

El logo simula casi una bandera argentina no? bueno es que la margarita amarilla como si fuera el sol en medio de tanto azul me encanta.

MediaWiki es un software para wikis libre programado en el lenguaje PHP. Es el software usado por Wikipedia y otros proyectos de la Fundación Wikimedia (Wikcionario, Wikilibros, etc). Ha tenido una gran expansión desde 2005 y existe un gran número de wikis basados en este software que no mantienen relación con dicha fundación, aunque sí comparten la idea de la generación de contenidos de manera colaborativa. Se encuentra bajo la licencia de software GNU General Public License.

MediaWiki puede ser instalado en los servidores web Apache, Internet Information Services, Cherokee (servidor web), Hiawatha, LiteSpeed Standard​ (necesita la extensión Math),​ nginx, y lighttpd y puede usar como motor de base de datos MySQL/MariaDB, PostgreSQL y SQLite.

Mira mas sobre mediawiki en https://es.wikipedia.org/wiki/MediaWiki

Ahora que ya sabemos de que va #MediaWiki, te gustaria tener una en tu compu? en tu raspberry? o en tu hosting? no se necesita grandes recursos pero como lo vamos a hacer sobre #docker vas a tener que tenerlo instalado:

Tambien vamos a necesitar docker-compose por lo cual vamos a tirar estos comandos:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Si ya tenes todo instalado podes comprobar con estos comandos:

docker --version
docker-compose --version

Ahora vamos a crearnos una carpetita, por ejemplo yo creo siempre una carpeta que se llama misdockers y dentro para este caso voy a usar una nueva carpeta que se llama wiki:

mkdir /misdockers/wiki/
cd /misdockers/wiki

a continuación voy a crear 3 archivos:

nano wiki.sql

en el interior copiamos y pegamos el siguiente contenido:

CREATE USER mediauser@'%' IDENTIFIED BY 'mediapassword';
CREATE DATABASE my_wiki;
GRANT ALL PRIVILEGES ON my_wiki.* TO mediauser@'%';
flush privileges;
quit

Lo que hicimos fue crear un script que nos creara una base de datos llamada my_wiki y que el usuario sera mediauser y la contraseña mediapassword

Ahora creamos el archivo Dockerfile y en el interior:

FROM debian
RUN apt update && apt install mariadb-server -y
RUN sed -i 's/bind-address/bind-address = 0.0.0.0 #/i' /etc/mysql/mariadb.conf.d/50-server.cnf
RUN mkdir /lazscripts
COPY wiki.sql /lazscripts/
RUN /etc/init.d/mysql start && mysql -uroot --password="" -e "source /lazscripts/wiki.sql"
CMD /etc/init.d/mysql start && tail -f /dev/null

El archivo Dockerfile lo vamos a usar para crear una imagen propia para utilizar de base de datos. Ademas van a ver que copiara el script y lo ejecutará para justamente crear lo que necesitamos.

A continuación crearemos el ultimo archivo que se llama docker-compose.yml y en su interior:

# MediaWiki en Docker
# Gracias por pasar por luiszambrana.com.ar
version: '3'
services:
 mediawiki:
  image: mediawiki
  restart: unless-stopped
  ports:
   - 8080:80
  links:
   - database
  volumes:
   - mediawiki-www:/var/www/html

 database:
  build: .
  restart: unless-stopped
  volumes:
   - mediawiki-db:/var/lib/mysql
volumes:
 mediawiki-www:
 mediawiki-db:

Al finalizar la creación de estos tres archivos solo nos queda hacer el pase magico:

docker-compose up -d

Este proceso demora un poquito por que crea la imagen y descarga contenidos de docker hub. Finalizado todo veremos algo asi:

archivos creados
archivos creados
contenedores creados
Contenedores Creados

y por ultimo podriamos ejecutar el comando docker ps para ver como esta todo:

contenedores funcionando
contenedores funcionando

Ahora vamos a nuestro navegador y ponemos localhost:8080

localhost 8080 mediawiki

Como se ve en la imagen anterior no encontro el archivo de configuración LocalSettings.php y es por que lo estamos por crear. Vamos a hacer clic sobre set up the wiki

idioma lenguaje mediawiki

Luego de dar continuar se comprueba el entorno pero seguramente estará todo bien por que para eso es la imagen que utilizamos:

comprobacion de entorno mediawiki

A continuación procederemos a conectar mediawiki con nuestro servidor de base de datos. ¿Donde estan los datos necesarios? si recordamos un poco en los tres archios que creamos esta el docker-compose.yml que es para crear nuestros contenedores. Dentro veran:

Nombre de servidor: database

Usuario: mediauser

Contraseña: mediapassword

Estos datos pueden cambiarse antes del inicio de la creación de los contenedores para mayor seguridad y no tener datos por defecto.

configuramos mariadb y conectamos
actualizacion

Esta ultima imagen puede que no te salga por que yo ya tenia la wiki instalada con anterioridad. Seguramente aca te de un archivo para descargar que luego tendrias que insertar en los archivos de configuración dentro de los contenedores. Recorda que en docker-compose.yml tenemos volumenes configurados para que la instalación sea persistente. Al dar continuar veriamos:

regenerar localsetting

Como ven en la imagen anterior yo ya tenia todo configurado pero para que veas el paso a paso voy a dar clic en Regenerar LocalSetting.php para que veas todo lo que pide:

configuraciones de mediawiki
datos de la wiki creada

Como siempre nos va a pedir un par de datos. Una wiki puede ser algo publico o privado. En mi caso yo uso las wiki para documentar cosas y solo las tengo para mi en mi maquina. Pero tambien pueden estar productivas y publicas sin problemas.

opciones

Luego mediawiki te va a dar muchas opciones las cuales considero que deberias ver bien. Si es la primera vez debajo de esto que se ve en la imagen anterior vas a tener cantidad de opciones que si las tildas todas no pasa nada y esta bueno para tener una instalación completa (aunque haya cosas como la api etc que no son necesarias).

opciones mediawiki

Por ultimo te va a dar el archivo LocalSettings.php para que lo descargues:

descargando archivo de configuracion localsettings.php de mediawiki

Este archivo lo vamos a poner en el mismo lugar donde estan los otros 3 archivos creados al principio. En mi caso me pare donde lo habia descargado y con la terminal lo copie a la carpeta:

sudo mv LocalSettings.php /home/luiz/misdockers/wiki/

Ya casi estamos! Presta atencion en adelante por que es necesario para que funcione correctamente. Lo primero que vamos a hacer es ir a la carpeta donde estan los archivos creados (4 con localsettings)

cd /home/luiz/misdockers/wiki/

Ahora vamos a stopear y borrar todo lo que hicimos (pero no te asustes por que estamos con volumenes persistentes asi que no se pierde del todo)

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Luego vamos a editar el archivo de docker-compose.yml

nano docker-compose.yml
nueva condfiguración con docker compose

Mira bien! Adentro de volumes de mediawiki agregamos:

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

Este volumen mapea el archivo que creamos al contenedor.

Luego cerramos guardando los cambios y por ultimo:

docker-compose up -d

Si todo salio bien entraran a localhost:8080 y veran:

iniciando mediawiki

Luego accederan y empezaran a construir su propia wiki.

Si seguis el paso a paso vas a ver que no vas a tener problema. Si necesitas hacer algo y no sabes el comando a utilizar mira:

Como siempre gracias por pasar y espero que hayas podido Crear tu propia WIKIMEDIA sobre Docker con este tutorial.

Print Friendly, PDF & Email
Share:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *