Instal·lació de MediaWiki amb dockers

De binefa.com
Salta a la navegació Salta a la cerca

Creació del directori

jordi@asix2:~/bin$ mkdir mediawiki-docker
jordi@asix2:~/bin$ cd mediawiki-docker/

docker-compose.yml

jordi@asix2:~/bin/mediawiki-docker$ nano docker-compose.yml

Contingut de docker-compose.yml:

version: '3.1'

services:

 mediawiki:
   image: mediawiki:1.33.0
   container_name: mediawiki
   ports:
     - "8083:80"
   environment:
     MEDIAWIKI_DB_HOST: db
     MEDIAWIKI_DB_USER: mediawiki
     MEDIAWIKI_DB_PASSWORD: clotfje
     MEDIAWIKI_DB_NAME: mediawiki
   depends_on:
     - db
   volumes:
     - ./mediawiki_data:/var/www/html/images
#      - ./mediawiki_extensions:/var/www/html/extensions
 db:
   image: mysql:5.6.48
   container_name: mediawiki_db
   environment:
     MYSQL_ROOT_PASSWORD: fjeclot
     MYSQL_DATABASE: mediawiki
     MYSQL_USER: mediawiki
     MYSQL_PASSWORD: clotfje
   volumes:
     - ./db_data:/var/lib/mysql

Si hi ha problema de concurrència de moltes peticions podeu canviar

image: mediawiki:1.33.0
image: mysql:5.6.48

per

image: public.ecr.aws/docker/library/mediawiki:1.33.0
image: public.ecr.aws/docker/library/mysql:5.6.48

Engegada dels contenidors

jordi@asix2:~/bin/mediawiki-docker$ docker-compose up -d

Verifiqueu la creació de la imatge mediawiki

[+] Running 3/3
 ⠿ Network mediawiki-docker_default  Created     0.2s
 ⠿ Container mediawiki_db            Started      1.1s
 ⠿ Container mediawiki               Started      1.3s
jordi@asix2:~/bin/mediawiki-docker$ docker images
REPOSITORY                             TAG         IMAGE ID       CREATED         SIZE
mediawiki                              latest      2930462e49ca   4 days ago      1.01GB

Verifiqueu que els contenidors són en marxa

jordi@asix2:~/bin/mediawiki-docker$ docker ps -a
CONTAINER ID   IMAGE                COMMAND                  CREATED         STATUS            PORTS                                       NAMES
2e142d2bb974   mediawiki:latest    "docker-php-entrypoi…"   5 minutes ago   Up 5 minutes      0.0.0.0:8083->80/tcp, [::]:8083->80/tcp     mediawiki
f60a13fe9af9   mysql:5.7           "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes      3306/tcp, 33060/tcp                         mediawiki_db

Copieu localment el directori d'extensions del docker

jordi@asix2:~/bin/mediawiki-docker$ ls -ls
total 12
4 drwxr-xr-x 5 dnsmasq root  4096  9 de febr. 00:13 db_data
4 -rw-r--r-- 1 jordi   jordi  665  9 de febr. 00:12 docker-compose.yml
4 drwxr-xr-x 2 root    root  4096  9 de febr. 00:13 mediawiki_data
jordi@asix2:~/bin/mediawiki-docker$ docker cp mediawiki:/var/www/html/extensions/ ./mediawiki_extensions
Successfully copied 29.3MB to /home/jordi/bin/mediawiki-docker/mediawiki_extensions 
jordi@asix2:~/bin/mediawiki-docker$ ls -ls
total 16
4 drwxr-xr-x  5 dnsmasq root  4096  9 de febr. 00:13 db_data
4 -rw-r--r--  1 jordi   jordi  665  9 de febr. 00:12 docker-compose.yml
4 drwxr-xr-x  2 root    root  4096  9 de febr. 00:13 mediawiki_data
4 drwxr-xr-x 24 jordi   jordi 4096  5 d’oct.    2019 mediawiki_extensions

Reinicieu la mediawiki

  • Atureu els contenidors
jordi@asix2:~/bin/mediawiki-docker$ docker stop mediawiki
mediawiki
jordi@asix2:~/bin/mediawiki-docker$ docker rm mediawiki
mediawiki
jordi@asix2:~/bin/mediawiki-docker$ docker stop mediawiki_db
mediawiki_db
jordi@asix2:~/bin/mediawiki-docker$ docker rm mediawiki_db
mediawiki_db
  • Traieu el comentari (#) de la línia de l'arxiu docker-compose.yml:
      - ./mediawiki_extensions:/var/www/html/extensions
  • Reinicieu la mediawiki
jordi@asix2:~/bin/mediawiki-docker$ docker-compose up -d
[+] Running 2/2
 ⠿ Container mediawiki_db  Started                                                                                                                                                               0.6s
 ⠿ Container mediawiki     Started                                                                                                                                                                0.8s

Accediu a la mediawiki

  • Consulteu la Ip interna del docker de la base de dades de la mediawiki:
jordi@asix2:~/bin/mediawiki-docker$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mediawiki_db
 172.18.0.2

Si tot va bé, hi surt:

MediaWiki 1.33.0
LocalSettings.php not found.
Please set up the wiki first.
  • Premeu a sobre de Please set up the wiki first. La primera pàgina és Instal·lació del MediaWiki 1.33.0. Seleccioneu la vostra llengua i la llengua de la wiki. A les dues seleccioneu ca - català.
  • Després de prémer el botó per a continuar, i si tot ha anat bé, hi surt una pàgina amb aquest text de color verd: S'ha comprovat l'entorn. Podeu instal·lar el MediaWiki.
  • La següent pàgina és la de connexió a la base de dades.
Servidor de la base de dades: 172.18.0.2
Nom de la base de dades (sense guionets): mediawiki
Prefix de la base de dades (sense guionets):
Nom d'usuari de la base de dades: mediawiki
Contrasenya de la base de dades: clotfje
  • La següent pàgina Paràmetres de la base de dades la deixem tal i com està:
Selecionat Utilitza el mateix compte que a la instal·lació
Motor d'emmagatzemament: InnoDB (recomanat)
  • La següent pàgina demana:
Nom de la wiki: Wiki d'en Pere Camps i López d'ASIX2 (canvieu Pere Camps i López pel vostre nom i cognoms)
Espai de noms del projecte: El mateix que el nom del wiki:
El vostre nom d'usuari: Pere Camps
Contrasenya: clotfje1234
Repetiu la contrasenya: clotfje1234
Adreça electrònica: 1234567890.clot@gje.edu
Deseleccioneu les dues darreres caselles de selecció
Seleccioneu Fes-me més preguntes, que ja hi és per defecte.
  • La pàgina següent es sobre permisos. Seleccionau:
Perfil de permisos d'usuari: Només editors autoritzats
Copyright i llicència: Creative Commons Reconeixement-CompartirIgual
Paràmetres del correu electrònic: desactiveu els correu sortint
Extensions: ImageMap, Interwiki, Nuke i WikiEditor. 
Imatges i càrregues de fitxers: seleccioneu Habilita la càrrega de fitxers
Resta d'opcions: deixeu-les per defecte
  • Premeu el botó Continua per acabar la instal·lació. Si tot ha anat bé hi sortirà:
Instal·la

   S'estan incloent les extensions... fet
   S'està configurant la base de dades... fet
   S'estan creant les taules... fet
   S'està creant l'usuari de la base de dades... fet
   S'està emplenant la taula per defecte d'interwiki... fet
   S'estan inicialitzant les estadístiques... fet
   S'estan generant les claus secretes... fet
   Evita que s'executin actualitzacions no necessàries... fet
   S'està creant un compte d'usuari d'administrador... fet
   S'està creant la pàgina principal amb el contingut per defecte... fet
   S'estan creant taules de les extensions habilitades...
   fet

   Database was successfully set up

Automàticament us baixa l'arxiu LocalSettings.php. En cas de que no sigui així baixeu-lo vosaltres.

  • Es convenient que securitzeu el vostre LocalSettings.php per a evitar intrusions:
# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;
# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;
  • Deseu LocalSettings.php al vostre directori mediawiki-docker i copieu-lo a la carpeta mediawiki_data
jordi@asix2:~/bin/mediawiki-docker$ ls -ls
total 24
4 drwxr-xr-x  5 dnsmasq root  4096  9 de febr. 00:35 db_data
4 -rw-r--r--  1 jordi   jordi  680  9 de febr. 00:32 docker-compose.yml
8 -rw-r--r--  1 root    root  5005  9 de febr. 01:09 LocalSettings.php
4 drwxr-xr-x  2 root    root  4096  9 de febr. 00:13 mediawiki_data
4 drwxr-xr-x 24 jordi   jordi 4096  5 d’oct.    2019 mediawiki_extensions
jordi@asix2:~/bin/mediawiki-docker$ sudo cp LocalSettings.php ./mediawiki_data/

Font

Install MediaWiki using Docker and Docker Compose