Server Wiki su Macchina Fisica

Da Wiki-itsos.

Installazione base Wiki

Situazione iniziale

siamo partiti da un server avente:

  • processore 64 bit 4core
  • 8Gb Ram
  • Hd 160G
  • Connessione a internet

configurata con il sistema operativo Ubuntu14.04 Serve base

Azioni preparatorie

Installazione del server LAMP

per installare un sever lamp abbiamo implementato i seguenti pacchetti:

sudo apt-get install apache2 php5 php5-mysql mysql-server php-apc php5-intl git ImageMagick


Installazione wikimedia base

Scarico il cms da:
http://www.mediawiki.org/wiki/Download
la versione:Mediawiki <Versione> il file è mediawiki-<Versione>.tar.gz si trasporta in /home/tech per scompattarlo:

tar -xzf mediawiki-<Versione>.tar.gz
cd mediawiki-<Versione>3/
sudo mv * /var/www/html/

Il risultato, se impostiamo nel browser http://wiki.tes.mi.it/index.php, è l'avvio della configurazione di wiki

Configurazione iniziale

Accettiamo i valori proposti, ma impostiamo

nome Database beta-wiki

Nome wiki: <ScegliereNome> account <Utente> mail <ImpostareMail>

solo editori autorizzati

abilita posta in uscita mail <ImpostareMail> abilita inoltre etc

Generato il file LocalSettings.php Il file viene portato in /home/tech per un backup

chmod 544 /var/www/html/LocalSettings.php
chown tech:tech /var/www/html/LocalSettings.php

abilitare il caricamento di immagini

chmod 777 /var/www/html/images/

abilitare invio mail

sudo -s
apt-get install php-pear
pear install mail
pear install Net_SMTP
pear install Auth_SASL
pear install mail_mime
service apache2 restart
* Restarting web server apache2                                         [ OK ]

Nel file LocalSettings.php aggiungiamo

$wgEmailConfirmToEdit = true;
$wgSMTP = array(
'host' => "Server di mail", //could also be an IP address
'IDHost' => "IdDel server mail",
'port' => 25,
'auth' => true,
'username' => "UtenteDelServerMail",
'password' => "PasswdDelServerMail"
);

Ovviamente occorre avere a disposizione:

  • un server mail connesso a internet e capace di fare il relay di posta
  • un account abilitato sul server

(Può essere, ad esempio, un account di gmail, oppure un server creato ad hoc, o anche la stessa macchina che ospita wiki (usare postfix)

Azioni successive

  • impostato redirect index.html
<html>
<meta http-equiv="refresh" content="0;URL=http://betatester.tes.mi.it/index.php">
</html>
  • impostato Logo (file /var/www/html/resources/assets/Logo.png
  • Usermerge
wget https://extdist.wmflabs.org/dist/extensions/UserMerge-REL1_24-3a8651b.tar.gz
tar -xzf UserMerge-REL1_24-3a8651b.tar.gz -C /var/www/html/extensions
  • parse function
wget https://extdist.wmflabs.org/dist/extensions/ParserFunctions-REL1_25-6c24f60.tar.gz
tar -xzf ParserFunctions-REL1_25-6c24f60.tar.gz -C /var/www/html/extensions
  • abilitato counter
wget https://extdist.wmflabs.org/dist/extensions/HitCounters-REL1_25-7e36831.tar.gz
tar -xzf HitCounters-REL1_25-7e36831.tar.gz -C /var/www/html/extensions/
cd /var/www/html/maintenance
php update.php

WikiForum

Dal sito https://www.mediawiki.org/wiki/Extension:WikiForum

1- da utente tech scaricare la cartella wikiforum

 wget https://extdist.wmflabs.org/dist/extensions/WikiForum-REL1_25-96fe03c.tar.gz
..
2015-12-05 17:28:56 (356 KB/s) - ‘WikiForum-REL1_25-96fe03c.tar.gz’ saved [105404/105404]

2- Estrarre l'archivio nella cartella estensioni

$ tar -xzf WikiForum-REL1_25-96fe03c.tar.gz -C /var/www/html/extensions/


3- aggiungere a LocalSettings.php la riga

require_once "$IP/extensions/WikiForum/WikiForum.php";

4- Eseguire il programma di manutenzione.

/var/www/html/maintenance$ php update.php

Procedura per creare un backup di wiki

  • impostato script /home/tech/backupwiki.sh

#!/bin/bash
# author - 12-11-15 per backup wiki
data=$(date +"%d-%m-%y")

echo BackupWiki beta 0.2

# Operazione per eseguire il blocco del database durante il backup
cp /var/www/html/BLocalSettings.php /var/www/html/LocalSettings.php
echo Database Bloccato

# Operazione per eseguire il dump del database 
mysqldump -u root -psupp betatester > /backupwiki/backupwiki.sql
echo Eseguito dump database

# Operazione per eseguire il salvataggio della cartella /var/www/html
cd /var/www/html
echo cambiato percorso
tar -cf backupwiki.tar.gz *
echo eseguito compressione
mv backupwiki.tar.gz /backupwiki
echo spostato file
cd  /backupwiki
echo Eseguito salvataggio di /var/www/html

# Operazione per creare l'archivio contenente i 2 file per il backup
tar -cf backupwiki$data.tar.gz backupwiki.tar.gz backupwiki.sql
rm backupwiki.tar.gz backupwiki.sql
echo Archivio completo salvato nella cartella /backupwiki

# Operazione per sbloccare il database
cp /var/www/html/NLocalSettings.php /var/www/html/LocalSettings.php
echo Database Sbloccato

(usando i file BLocalSettings.php e NLocalSettings.php)

Procedura ripristino di wiki

Procedura per Mobile FrontEnd

Protezione server da attacchi DOS