Instal·lació i configuració de la Mediawiki, 1a part

De wikijoan
La revisió el 16:04, 8 abr 2021 per Joan (discussió | contribucions) (Es crea la pàgina amb «=Introducció= =Desenvolupament= <pre> You are missing a required extension to PHP that MediaWiki requires to run. Please install: mbstring (more information) https...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

Introducció

Desenvolupament

You are missing a required extension to PHP that MediaWiki requires to run. Please install:

mbstring (more information)

https://www.php.net/manual/en/book.mbstring.php

sudo apt-cache search php | grep mbstring
php-mbstring - MBSTRING module for PHP [default]
php7.4-mbstring - MBSTRING module for PHP

sudo apt-get install php-mbstring

mirar la funció phpinfo()

<?php
phpinfo();
?>

reiniciar apache

psql -h localhost -p 5432 -U postgres -d postgres

nom de la wiki: wikibalmes
nom usuari: joan

s'ha creat el fitxer LocalSettings.php

$ psql -h localhost -p 5432 -U postgres -d my_wiki
Password for user postgres: 
psql (12.4 (Ubuntu 12.4-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

my_wiki=# 

Per veure totes les taules:
my_wiki=# \dt mediawiki.*

$ cd ~/M09_IAW_2021/UF2/mediawiki-1.35.1/

$ find . -type f -print | xargs egrep -i "CREATE DATABASE"
...
./includes/installer/DatabaseInstaller.php:	 * Create database tables from scratch.
...
./includes/installer/PostgresInstaller.php:			$conn->query( "CREATE DATABASE $safedb", __METHOD__ );
...

fitxers importants:
./includes/installer/DatabaseInstaller.php
./includes/installer/PostgresInstaller.php
./maintenance/postgres/archives/tables.sql

TODO
posar el logo
aprendre les marques bàsiques d'edició
crear una pàgina, posar-hi una imatge
fer una sentència SQL: títol de la pàgina, contingut de la pàgina, revisions de la pàgina
fer la còpia de seguretat (base de dades postgres, LocalSettings.php, imatges)

LocalSettings.php
$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];

habilitar pujada de fitxers
$wgEnableUploads = true;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'gz' );

http://localhost/wiki/index.php/Fitxer:Baixa.jpeg

Fem una edició bàsica amb 2 nivells, posem una foto.
*https://www.mediawiki.org/wiki/Help:Editing

Fem vàries modificacions (revisions) de la pàgina

SQL:
my_wiki=# select page_id,page_title,page_latest from mediawiki.page;
 page_id |    page_title    | page_latest 
---------+------------------+-------------
       1 | Pàgina_principal |           3
       3 | Pàgina_1         |           7
       2 | Baixa.jpeg       |           4

(3 rows)

revisions sobre la pàgina 3. Fixar-se que page_latest=7, que és el comptador de revisions:

detalls de la revisió 7:
select * from mediawiki.revision where rev_id=7;

revisions:
select * from mediawiki.revision;

revisions sobre la pàgina 3:
select * from mediawiki.revision where rev_page=3;

Contingut de la pàgina 3 (la revisió 7 de la pàgina 3):
per saber els camps:
my_wiki=# \d mediawiki.pagecontent

my_wiki=# select old_text from mediawiki.pagecontent where old_id=7;

Fem una modificació directament amb SQL:
my_wiki=# update mediawiki.pagecontent set old_text = concat(old_text,'afegim aquesta cadena de text') where old_id=7;

Però no n'hi ha prou. Hem de canviar el camp page_touched per obligar a què es renderitzi la pàgina. Posarem el timestamp del dia i hora actuals.
update mediawiki.page set page_touched='2021-04-08 17:37:22+02' where page_id=3;

Ara si refresquem la pàgina veurem que els canvis ja estan publicats.

Còpia de seguretat
------------------
la imatge que hem penjat està disponible a images/. També tenim disponible la versió de thumbnail.
Quan fem una còpia de seguretat, hem de pensar en la base de dades, i en els altres fitxers.

Per fer la còpia de seguretat, seguim el mateix esquema que féiem amb la còpia de seguretat del Wordpress (però recordem que ara fem servir Postgres i no MySQL).

copia_seguretat.sh

#!/bin/bash
NOM_BACKUP="Mediawiki"
tdate=`date +%y%m%d`
export PGPASSWORD=postgres

#1. Còpia de seguretat mysql local
#mysqldump --add-drop-table -i -C -u alumne -pkeiL2lai -r ./backup/wordpress_"$tdate".dmp -v wordpress
pg_dump -h localhost -U postgres -F t -d my_wiki > /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat/mediawiki_"$tdate".tar


#2. Còpia dels fitxers de la web (conté els uploads, entre altres coses)
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/images /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat

#3. Fitxer llegir.txt, LocalSettings.php, etc
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/llegir.txt /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat
cp -r /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/LocalSettings.php /home/joan/M09_IAW_2021/UF2/mediawiki-1.35.1/copia_seguretat

exit 0

Un pas més enllà: editar la Viquipèdia catalana (que ha acomplert 20 anys).

Entrega

Entregaràs la pràctica al Classroom. Només se't demana que demostris que has fet una instal·lació correcta de la Mediawiki, i que has solucionat els possibles problemees.


creat per Joan Quintana Compte, abril 2021