Diferència entre revisions de la pàgina «Migració d'una wiki a una altra dockeritzada»
m (→2) Connexió amb la base de dades) |
m (→2) Connexió amb la base de dades) |
||
Línia 22: | Línia 22: | ||
6944309dd20a mysql:5.6.48 "docker-entrypoint.s…" 14 minutes ago Up 14 minutes 0.0.0.0:3309->3306/tcp, :::3309->3306/tcp binefa_cat_db_docker | 6944309dd20a mysql:5.6.48 "docker-entrypoint.s…" 14 minutes ago Up 14 minutes 0.0.0.0:3309->3306/tcp, :::3309->3306/tcp binefa_cat_db_docker | ||
− | Es consulta l'adreça IP del contenidor de la base de dades dins de la xarxa local de contenidors: | + | Es consulta l'adreça IP del contenidor de la base de dades dins de la xarxa local de contenidors (necessari per a la configuració de la mediawiki per la generació de l'arxiu LocalSettings.php): |
<pre>jordi@vps-wiki:~/bin/wikis/binefa_cat$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' binefa_cat_db_docker | <pre>jordi@vps-wiki:~/bin/wikis/binefa_cat$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' binefa_cat_db_docker | ||
172.18.0.11</pre> | 172.18.0.11</pre> |
Revisió del 13:13, 28 ago 2021
Contingut
1) Prova del contenidor docker a migrar
Es cerca la versió actual del wiki en funcionament a l'enllaç "Pàgines especials" / "Versió". En el cas d'aquest exemple és la versió 1.29.0
Es prova el funcionament, sense volums associats ni base de dades, a un domini secundari de prova (Aquest domini ha d'estar configurat a la configuració DNS del nostre proveïdor de nom de domini):
docker run --name wiki_binefa_cat --network net -e VIRTUAL_HOST="wiki2.binefa.cat" -e LETSENCRYPT_HOST="wiki2.binefa.cat" -d mediawiki:1.29.0
Un cop provat que funciona el servei web de la mediawiki, es desactiva el servei:
docker stop wiki_binefa_cat docker rm wiki_binefa_cat
2) Connexió amb la base de dades
Per tal de poder fer servir més d'una base de dades al nostre sistema dockeritzat, es canvia el port normal de funcionament a les bases de dades SQL, el 3306, per un altre exclusiu per al servei de cada wiki, en aquest cas és el 3309.
També es comenten els volums relacionats amb el contingut html de la wiki a migrar i de l'arxiu LocalSettings.php
Al mateix directori a on és docker-compose.yml executem el contenidor docker:
docker-compose run --name wiki_binefa_cat -e VIRTUAL_HOST="wiki2.binefa.cat" -e LETSENCRYPT_HOST="wiki2.binefa.cat" -d web
Es verifica la correcta execució del contenidor docker:
jordi@vps-wiki:~/bin/wikis/binefa_cat$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 03e0b6d10eda mediawiki:1.29.0 "docker-php-entrypoi…" 11 minutes ago Up 11 minutes 80/tcp wiki_binefa_cat 6944309dd20a mysql:5.6.48 "docker-entrypoint.s…" 14 minutes ago Up 14 minutes 0.0.0.0:3309->3306/tcp, :::3309->3306/tcp binefa_cat_db_docker
Es consulta l'adreça IP del contenidor de la base de dades dins de la xarxa local de contenidors (necessari per a la configuració de la mediawiki per la generació de l'arxiu LocalSettings.php):
jordi@vps-wiki:~/bin/wikis/binefa_cat$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' binefa_cat_db_docker 172.18.0.11
Arxiu docker-compose.yml per al 2n pas
### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/ ### Docker Compose Example for Kinda Lame ### Created October 2020 ### Modified August 2021 by Jordi Binefa ### version: '3.3' services: web: ### ### We suggest using the LTS, long term support images ### image: mediawiki:1.29.0 ports: - 80:80 - 443:443 - 3309:3306 links: - database restart: unless-stopped volumes: - /home/jordi/bin/wikis/binefa_cat/wikibinefacat/images:/var/www/html/images # - /home/jordi/bin/wikis/binefa_cat/wikibinefacat/LocalSettings.php:/var/www/html/LocalSettings.php # - /home/jordi/bin/wikis/binefa_cat/wikibinefacat:/var/www/html # - /home/jordi/bin/wikis/binefa_cat/php:/usr/local/etc/php networks: - "net" database: container_name: binefa_cat_db_docker image: mysql:5.6.48 ports: - 3309:3306 environment: MYSQL_DATABASE: 'nom_base_de_dades_sql' MYSQL_USER: 'usuari_sql' # # Generate a secure password and place it in the area below # MYSQL_PASSWORD: 'contrasenya_usuari_sql' MYSQL_ROOT_PASSWORD: 'contrasenya_mestra_sql' MYSQL_RANDOM_ROOT_PASSWORD: 'no' volumes: - /home/jordi/bin/wikis/binefa_cat/database:/var/lib/mysql restart: unless-stopped networks: - "net" volumes: certs: html: vhost: dhparam: networks: net: external: true
En marxa
Des del directori a on hi ha l'arxiu docker-compose.yml (per exemple ~/bin/wikis/things_cat):
docker-compose run --name wiki_things_cat -e VIRTUAL_HOST="wiki.things.cat" -e LETSENCRYPT_HOST="wiki.things.cat" -d web
Des del directori a on hi ha l'arxiu docker-compose.yml (per exemple ~/bin/wikis/binefa_com):
docker-compose run --name wiki_binefa_com -e VIRTUAL_HOST="wiki.binefa.com" -e LETSENCRYPT_HOST="wiki.binefa.com" -d web
docker-compose.yml de things.cat
### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/ ### Docker Compose Example for Kinda Lame ### Created October 2020 ### Modified August 2021 by Jordi Binefa ### version: '3.3' services: web: # image: mediawiki:lts # Es recomana la versió LTS per a wikis a partir de zero image: mediawiki:1.31.3 # Aquesta versió era l'original. Recomanen fer servir la mateixa per a la migració ports: ### We are running the server behind NGINX which we ### recommend all users doing. And due to the need to ### login to the site we recommend running Certbot ### on your domain and putting the proxy behind ### an SSL certificate to keep your passwords safe! ### - 80:80 - 443:443 - 3307:3306 # Es connecta amb la base de dades de sota mitjançant el port 3307. Això ens permet posar diferents bases de dades links: - database restart: unless-stopped volumes: - /home/jordi/bin/wikis/things_cat/www_things_cat_segur/images:/var/www/html/images - /home/jordi/bin/wikis/things_cat/www_things_cat_segur/LocalSettings.php:/var/www/html/LocalSettings.php - /home/jordi/bin/wikis/things_cat/www_things_cat_segur:/var/www/html # - /home/jordi/bin/wikis/things_cat/php:/usr/local/etc/php networks: - "net" database: container_name: things_cat_db_docker image: mysql:5.6.48 ports: - 3307:3306 # Es connecta amb la wiki de dalt mitjançant el port 3307. Això ens permet posar diferents bases de dades environment: MYSQL_DATABASE: 'wiki_things_cat' MYSQL_USER: 'usuari_BD_things' # # Generate a secure password and place it in the area below # MYSQL_PASSWORD: 'contrasenya_BD_things' MYSQL_ROOT_PASSWORD: 'alguna' MYSQL_RANDOM_ROOT_PASSWORD: 'no' volumes: - /home/jordi/bin/wikis/things_cat/database:/var/lib/mysql restart: unless-stopped networks: - "net" volumes: certs: html: vhost: dhparam: networks: net: external: true
docker-compose.yml de binefa.com
### Based on https://kindalame.com/2020/11/25/self-hosting-mediawiki-with-docker/ ### Docker Compose Example for Kinda Lame ### Created October 2020 ### Modified August 2021 by Jordi Binefa ### version: '3.3' services: web: ### ### We suggest using the LTS, long term support images ### # image: mediawiki:lts # Es recomana la versió LTS per a wikis a partir de zero image: mediawiki:1.33.0 # Aquesta versió era l'original. Recomanen fer servir la mateixa per a la migració ports: - 80:80 - 443:443 - 3308:3306 # Es connecta amb la base de dades de sota mitjançant el port 3308. Això ens permet posar diferents bases de dades links: - database restart: unless-stopped volumes: - /home/jordi/bin/wikis/binefa_com/www_binefa_com/images:/var/www/html/images - /home/jordi/bin/wikis/binefa_com/www_binefa_com/LocalSettings.php:/var/www/html/LocalSettings.php - /home/jordi/bin/wikis/binefa_com/www_binefa_com:/var/www/html # - /home/jordi/bin/wikis/binefa_com/php:/usr/local/etc/php networks: - "net" database: container_name: binefa_com_db_docker image: mysql:5.6.48 ports: - 3308:3306 # Es connecta amb la wiki de dalt mitjançant el port 3308. Això ens permet posar diferents bases de dades environment: MYSQL_DATABASE: 'wiki_binefa_com' MYSQL_USER: 'usuari_BD_binefa_com' # # Generate a secure password and place it in the area below # MYSQL_PASSWORD: 'contrasenya_BD_binefa_com' MYSQL_ROOT_PASSWORD: 'algunaAltra' MYSQL_RANDOM_ROOT_PASSWORD: 'no' volumes: - /home/jordi/bin/wikis/binefa_com/database:/var/lib/mysql restart: unless-stopped networks: - "net" volumes: certs: html: vhost: dhparam: networks: net: external: true