Differenze tra le versioni di "Migrazione su wikivirtuale"

Da Wiki-itsos.
(Analisi funzionamento cartella images)
(Analisi funzionamento cartella images)
Riga 292: Riga 292:
 
<br />
 
<br />
  
Dopo aver caricato UNA immagine la situazione è:
+
Dopo aver caricato UNA immagine la situazione è:<br />
 +
 
 
[[File:Immagine28DopoCaricamento.png]]
 
[[File:Immagine28DopoCaricamento.png]]
  

Versione delle 14:55, 29 giu 2017

Obiettivi

Ottenere una macchina wiki (fisica o virtuale) con le seguenti specifiche:

  • os ubuntu server 16.04 aggiornato
  • IP 192.168.1.6 corrispondente a wiki.tes.mi.it
  • compatibile con configurazione dns su 192.168.1.9
  • funzionante su mediawiki 1.28 o superiore
  • deve consentire la autoregistrazione ma deve bloccare i bot
  • deve contenere tutte le estensioni di wiki presenti su wiki.tes.mi.it (o almeno tutte quelle compatibili con 1.28)
  • deve contenere tutti i contenuti e tutti gli utenti di wiki.tes.mi.it
  • deve essere pulito dai bot
  • mantenere funzionante la macchina wikivirtuale attuale, con ip 192.168.1.14 e la documentazione presente

Situazione iniziale

Macchina fisica wiki.tes.mi.it

  1. 5-2-2015 Carlo Bocchetti - Nuovo server ifs e wiki

Configurazione HD Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 testine, 63 settori/tracce, 30401 cilindri, totale 488397168 settori Unità = settori di 1 * 512 = 512 byte Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Identificativo disco: 0x000de591

Dispositivo Boot Start End Blocks Id System /dev/sda1 * 2048 471644159 235821056 83 Linux /dev/sda2 471646206 488396799 8375297 5 Esteso /dev/sda5 471646208 488396799 8375296 82 Linux swap / Solaris


avente la seguente configurazione di rete

  1. The loopback network interface

auto lo iface lo inet loopback

  1. The primary network interface

auto em1 iface em1 inet static

       address 192.168.1.6
       netmask 255.255.248.0
       network 192.168.0.0
       broadcast 192.168.7.255
       gateway 192.168.0.70
  1. dns-nameservers 192.168.0.70
  2. 22-11-2016 cambiato momentaneamente il ns
       dns-nameservers 192.168.1.6
       dns-search tes.mi.it

auto em1:0 iface em1:0 inet static

       address 192.168.1.9
       netmask 255.255.248.0
       network 192.168.0.0
       broadcast 192.168.7.255
       dns-nameservers 192.168.0.70
       dns-search tes.mi.it

Su wiki è configurato bind9 con queste configurazioni salienti


include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";

zone "tes.mi.it" IN {

     type master;
     file "/etc/bind/zones/interno.tes.mi.it";
     allow-transfer  { any; };
     allow-query { any; };

};

zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/1.168.192.in-addr.arpa"; };


options {

       directory "/var/cache/bind";
        forwarders {
               192.168.0.70;
        };



$ttl 24h

tes.mi.it. IN SOA ns.tes.mi.it. admin.tes.mi.it. (

//il seriale è nel formato aaaammddhh 2017053109 28800 3600 604800 38400 )

tes.mi.it. IN NS ns.tes.mi.it. IN A 192.168.1.9 mail.tes.mi.it. IN MX 10 mail.tes.mi.it. tes.mi.it. IN MX 10 mail.tes.mi.it.

ns IN A 192.168.1.9 www IN A 192.168.1.242 mail IN A 192.168.1.9 wiki IN A 192.168.1.6 cis IN A 192.168.1.47 WikiVirtuale IN A 192.168.1.14 wikiprova IN A 192.168.1.19


$ttl 24h @ IN SOA ns.tes.mi.it. admin.tes.mi.it. ( //il seriale è in formato aaaammddhh

                       2017053109;
                       28800;
                       604800;
                       604800;
                       86400

)


@ IN NS ns. 9 IN PTR ns.tes.mi.it. 9 IN PTR mail.tes.mi.it. 242 IN PTR www.tes.mi.it. 6 IN PTR wiki.tes.mi.it. 47 IN PTR cis.tes.mi.it. 14 IN PTR WikiVirtuale.tes.mi.it. 19 IN PTR WikiVirtuale2.tes.mi.it.


Macchina virtuale wikivirtuale.tes.mi.it

Configurazione MV

  • 1 processore 64bit
  • 2Gb Ram
  • hd 8G
  • 1 sk rete

# 5-6-2017 Bocchetti Ramon configurazione wikivirtuale base

source /etc/network/interfaces.d/*

  1. The loopback network interface

auto lo iface lo inet loopback

  1. configurazione in lab 121

auto enp0s3 iface enp0s3 inet static address 192.168.1.14 netmask 255.255.248.0 network 192.168.0.0 broadcast 192.168.7.255 gateway 192.168.0.70 dns-nameservers 192.168.1.9 dns-search tes.mi.it


Installato e funzionante

  • mediawiki 1.28
  • autoregistrazione con invio mail
  • iniziale produzione di contenuti
  • mancano ancora diverse estensioni di wiki

Azioni svolte sinora

  • backup wikivirtuale (salvato)
  • assegnato a wikivirtuale l'IP di wiki.tes.mi.it
  • Scambiato il valore della variabile $wgServer nel file LocalSettings.php di wikivirtuale con il valore della stessa variabile dello stesso file in wiki.tes.mi.it
  • Corretto il redirect nel file /var/www/html/index.html in modo da raggiungere la macchina giusta.
  • verificato che il sistema non presente nuovi bot
  • Effettuato il backup del sito con lo script wikibackup

preparazione MvWiki

  • aggiungere un disco da 20gb montato nella cartella /dati.
  • portare in /dati archivio tar.gz di wiki grosso
  • creata cartella /dati/wiki25 e riversarci /var/www/html del wiki con dati e utenti
  • creata cartella /dati/wiki28 e riversarci /var/www/html diciamo che stimo facendo un backup del running, usando linguaggio cisco
  • verificata che la mv wiki risponda accedendo con il browser, e fare un backup TOTALE della macchina virtuale

adattamento di wiki 1.25 alla nuova versione wiki 1.28

  • aggiustato LocalSettings.php in modo che FUNZIONI con wiki 1.28 ma con le estensione di wiki.tes.mi.it (tutte quelle ancora supportate)

UserMerge

#2016-06-14 - per UserMerge
require_once "$IP/extensions/UserMerge/UserMerge.php";
// By default nobody can use this function, enable for bureaucrat?
$wgGroupPermissions['bureaucrat']['usermerge'] = true;
// optional: default is array( 'sysop' )
$wgUserMergeProtectedGroups = array( 'groupname' );

WikiEditor

#2016-06-14 aggiunto WikiEditor
wfLoadExtension( 'WikiEditor' );
# Con questo codice, WikiEditor è abilitato ma l'utente può disabilitarlo nelle$
$wgDefaultUserOptions['usebetatoolbar'] = 1;
$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
# Mostra l'anteprima e la sezione Modifica
$wgDefaultUserOptions['wikieditor-preview'] = 1;
# Mostra i pulsanti Pubblica e Annulla in alto a destra
$wgDefaultUserOptions['wikieditor-publish'] = 1;

QuestyCaptcha

Da un controllo fatto sul sito, sembra che mancasse qualche elemento.
Ho aggiunto il tutto, tolto i commenti e inserito una nuova domanda.
Ora il codice presente è

#-----------Confirm Edit e QuestyCaptcha-------------
wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]);
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions = [
       'Quale è la capitale della Francia?' => 'Parigi',
       'Quale è la capitale della Spagna?' => 'MADRID', 
       'Quale è il nome di questo wiki?' => $wgSitename, 
       'Quante dita ha una mano?' => [ 5, 'cinque' ], 
       'Come si chiama il pollice del piede?' => 'alluce', 
       'Come si chiama la donna amata da Romeo?' => 'Giulietta', 
       'Quale è il contrario di pari?' => 'dispari'        'Quale è il contrario di pari?' => 'dispari'
];
foreach ( $arr as $key => $value ) {
       $wgCaptchaQuestions[] = array( 'question' => $key, 'answer' => $value );
}
#Configurazionei suggerite nella pagina di QuestyCaptcha
$wgMainCacheType    = CACHE_ANYTHING;
$wgCaptchaTriggers['edit']          = true;
$wgCaptchaTriggers['create']        = true;
$wgCaptchaTriggers['createtalk']    = true;
$wgCaptchaTriggers['addurl']        = true;
$wgCaptchaTriggers['createaccount'] = true;
$wgCaptchaTriggers['badlogin']      = true;
#-----------Fine sezione QuestyCaptcha----------------

Esito: dopo 24 ore circa, sembra che non ci sono nuovi bot, la procedura di registrazione comunque funziona.

Mobile FrontEnd

A differenza del precedente, non è necessario usare mantle.
Procedura seguita, riferimento MobileFrontEnd su Mediawiki

  • scaricare l'archivio e decomprimerlo, creando la cartella in extensions con
wget http://extdist.wmflabs.org/dist/extensions/MobileFrontend-REL1_28-a0c8024.tar.gz
tar -xzf MobileFrontend-REL1_28-a0c8024.tar.gz -C /var/www/html/extensions/
  • aggiunto le seguenti righe a LocalSettings.php
#----2016-06-17-Mobile FrontEnd-------
wfLoadExtension( 'MobileFrontend' );
$wgMFAutodetectMobileView = true;

Esito: sui dispositivi mobili ora appare la versione apposita (è possibile passare alla versione tradizionale usando il link desktop in fondo alla pagina)

  • verificato che FUNZIONI sui contenuti wikivirtuale

Ora abbiamo una mvWiki ver 28 con tutte le funzionalità del vecchio wiki

  • backup integrale della macchina virtuale

Confronto fra la cartella di wiki25 e quella di wiki28

Da un sommario confronto, ecco le principali differenze nelle estensioni.
Nota: non ho indagato se qualche estensione è modificata dalla 1.25 alla 1.28

Esensione wiki25 wiki28 Note
Antispam No Si Indagare come si usa, magari è utile
CiteThisPage Si No Forse già incluso in Cite?
PdfHandler Si No Aggiungere
WikiForum Si No Indagare perchè no, come fa a funzionare forum?
wiki_filebrowser No Si Indagare come si usa, magari è utile

La cartella includes contiene numerosi file .php necessari al sistema. i contenuti delle 2 cartelle NON sono uguali, ci sono piccole differenze, su cui ora non stiamo a indagare.


Migrazione contenuti da wiki25 a wiki28

lavori preparatori al passaggio dei dati

  • partire da backup integrale di wiki, salvato come file .tar.gz dal programma wikibackup
  • estrarre dal file tar.gz il dump del data base e il contenuto di /var/www/html CHE VA MESSO IN /Data/wiki25
  • Copiare nel running le immagini e gli altri file che servono al contenuto di wiki

Analisi funzionamento cartella images

Prima di cominciare, osserviamo che la cartella /images di wiki28 è vuota in quanto il sistema non ha ancora alcuna immagine salvata
(il logo non conta in quanto è inserito nella cartella assets)

Immagini28Inizio.png Nota: il file immagini in effetti NON fa parte di mediawiki, è semplicemente stato copiato manualmente durante prove e lavori per replicare la cartella. Non tenerne conto.

Dopo aver caricato UNA immagine la situazione è:

Immagine28DopoCaricamento.png

  • far un check e assicurarsi che wikivirtuale funzioni

- eventuale backup integrale della macchina

Azioni ancora da svolgere

29/6/2017


restore del database

  • esecuzione dump del DB (importarlo in mysql)
  • cambiare i parametri del DN in LocalSettings
  • dare comando di manutenzione php
  • verificare che il sistema funzioni.

Se ok, ora abbiamo un sistema wiki 1.28 che gira su mv e ospita sia i contenuti del vecchio wiki, sia quelli del nuovo, con possibilità di swappare tra i 2 sistemi

  • backup integrale del sistema

- inizia il lavoro di pulizia degli utenti fake - parallelamente può iniziare anche il lavoro di sistemazione della macchina fisica.

  • eseguire i comandi di restore
  • aggiustare credenziali del database
  • fare la manutenzione php e collaudo

Se funziona, abbiamo un wiki.tes.mi.it migrato, sicuro dai nuovi bot ma ancora da pulire

  • eventuale backup integrale della macchina virtuale

eliminare utenti fake

Questa operazione richiede solamente tempo, si tratta di usare la funzione unione e cancellazione degli utenti

  • collaudo e sistemazione

Ora si dispone di un sistema wiki pulito, aggiornato, funzionante e con tutti i contenuti disponibili

  • backup integrale della Mv
  • valutare se ripristinare wiki su macchina fisica