User Tools

Site Tools


informatica:linux:mediawiki

This is an old revision of the document!


mediawiki

wiki

Instalacion

Migracion

1. Backup

1.1 Volcado de BD vieja

1.2 Copia de archivos, transformando enlaces simbolicos en directorios:

sudo mkdir /var/www/wiki_backup/
rsync -raL /var/www/wiki/ /var/www/wiki_backup/
sudo chown -R www-data:www-data /var/www/wiki_backup/

2. Crear una copia limpia de la wiki, para que si se quiere se pueda seguir trabajando (idealmente en modo “read-only”) en la wiki vieja.

2.1 Crear una nueva BD, e importar el esquema y datos provenientes del backup del paso 1.1

2.2 O bien crear un nuevo usuario y darle permisos sobre esa nueva BD o bien al usuario existente de la wiki vieja darle esos permisos

2.3 Descargar la ultima version de mediawiki en un directorio vacio:

sudo mkdir /var/www/wiki_new
cd /var/www/wiki_new
sudo wget -c --tries=0 http://download.wikimedia.org/mediawiki/1.21/mediawiki-1.21.1.tar.gz
sudo tar xvfz mediawiki-1.21.1.tar.gz
sudo ln -s mediawiki-1.21.1 wiki_new
sudo chown -R www-data:www-data wiki_new

3. Configurar la nueva wiki a traves del navegador:

http://localhost/wiki_new

3.1 Especificar BD y usuario de los pasos 2.1 y 2.2

3.2 La propia instalacion detecta que hay que hacer un upgrade. Decirle que si y cruzar los dedos

3.3 Al final del proceso se genera un archivo “LocalSettings.php” que tiene que dejarse en la raiz de la nueva wiki:

/var/www/wiki_new/LocalSettings.php

4. Importar imagenes

cp -R /srv/www/wiki/images/* /srv/www/wiki_new/images/*

5. Importar modulos. Yo prefiero hacerlo a mano y comparar los modulos instalados en la wiki vieja y en la nueva, consultando la pagina 'index.php/Special:Version':

http://localhost/wiki/index.php/Special:Version
http://localhost/wiki_new/index.php/Special:Version

Hay que ir una a una y seguir los pasos para instalar los modulos, que tipicamente requieren:

-Descomprimir y renombrar el directorio en “extensions” -Anyadir algunas lineas en “LocalSettings.php” -Tocar la BD (pocas veces) ejecutando “php /var/www/wiki_new/maintenance/update.php” -Probar cada vez a ver si la extension ha roto la wiki:

http://localhost/wiki_new

LDAP

http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

1. Requisitos:

http://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Requirements

2. Descargar, descomprimir y renombrar:

http://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication

cd /var/www/wiki_new/extensions
sudo tar xvfz wikimedia-mediawiki-extensions-LdapAuthentication-2.0c-18-g013532d.tar.gz
sudo mv wikimedia-mediawiki-extensions-LdapAuthentication-2.0c-18-g013532d LdapAuthentication
sudo chown -R www-data:www-data LdapAuthentication
sudo rm -fr wikimedia-mediawiki-extensions-LdapAuthentication-2.0c-18-g013532d.tar.gz

3. Ejecutar script para actualizar esquema de BBDD:

cd /var/www/wiki_new
php maintenance/update.php
  

4. Editar:

cd /var/www/wiki_new
sudo cp LocalSettings.php LocalSettings.php.bak
sudo vim LocalSettings.php

Y anyadir:

###################### LDAP ######################

require_once 'extensions/LdapAuthentication/LdapAuthentication.php';
# Required to fix a bug complainin about missing table 'ldap_domains'
require_once 'includes/AuthPlugin.php';

#require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();

$wgLDAPDomainNames = array(
  'ldap_example_com',
);

$wgLDAPServerNames = array(
  'ldap_example_com' => 'ldap.example.com',
);

$wgLDAPUseLocal = false;

$wgLDAPEncryptionType = array(
  'ldap_example_com' => 'tls',
);

$wgLDAPPort = array(
  'ldap_example_com' => 389,
);

$wgLDAPProxyAgent = array(
  'ldap_example_com' => 'cn=readonly,dc=example,dc=com',
);
$wgLDAPProxyAgentPassword = array(
  'ldap_example_com' => 'secret',
);
$wgLDAPSearchAttributes = array(
  'ldap_example_com' => 'uid'
);
$wgLDAPBaseDNs = array(
  'ldap_example_com' => 'ou=people,dc=example,dc=com',
);

###################### end LDAP ######################

5. Para evitar el error TLS provocado porque el servidor LDAP autofirmo su propio certificado.

5.1. Edito:

sudo cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.bak
sudo vim /etc/ldap/ldap.conf

Y anyado la siguiente linea:

# TODO: fix this, needed by LDAP in mediawiki
TLS_REQCERT never

5.2. Reinicio Apache

sudo /etc/init.d/apache2 restart

Reducir el numero de encabezados que genera un TOC (Table Of Contents)

Por defecto 4+ encabezados generan un TOC.

Si se quiere alterar al alza, probar esta extension:

https://www.mediawiki.org/w/index.php?title=Extension:CustomTOCLength

Si se quiere reducir:

1. Backup files

cp ~/includes/parser/Parser.php ~/includes/parser/Parser.php.bak
sudo vim ~/includes/parser/Parser.php

2. Replace the '4' in below line:

( ( $numMatches >= 4 ) || $this→mForceTocPosition );

With the number that you want, for instance 2:

( ( $numMatches >= 2 ) || $this→mForceTocPosition );

Redirecciones

#REDIRECT [[pagename]]

Envio de correos

1. Instalar PHP PEAR:

sudo aptitude update; sudo aptitude install php-pear

2. Instalar paquetes PEAR:

sudo pear install mail net_smtp

3. Editar:

sudo cp /srv/www/wiki/LocalSettings.php /srv/www/wiki/LocalSettings.php.bak
sudo vim /srv/www/wiki/LocalSettings.php

Y anyadir las siguientes lineas:

# Email
$wgEnableEmail = true;
$wgEnableUserEmail = true;
$wgEmergencyContact = "admin@example.com";
$wgPasswordSender = "app_robot@www-1.local.example.com";
$wgEnotifUserTalk = true;
$wgEnotifWatchlist = true;
$wgEmailAuthentication = true;
$wgSMTP = array(
 'host'     => "127.0.0.1",
 'IDHost'   => "www-1.dev.local.jamgo.org",
 'port'     => 25,
 'auth'     => false,
);

IMPORTANTE: el valor “IDHost” debe coincidir con el hostname (ejecutar comando “hostname”)

4. Editar el archivo de config de postfix:

sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
sudo vim /etc/postfix/main.cf

Y asegurarse que las lineas quedan asi:

myhostname = www-1.dev.local.jamgo.org
mydestination = www-1.dev.local.jamgo.org

5. Reiniciar servicios:

sudo /etc/init.d/postfix restart
sudo /etc/init.d/apache restart

6. Configurar el usuario “vigilante” para que reciba correos

6.1. Iniciar sesion en mediawiki

6.2. Ir a “preferences/user profile”

6.3. Asegurarse que tiene direccion de correo valida y marcar todas las opciones de la caja “Email options”

6.4. Editar “pagina” y hacerle un watch.

7. Con el usuario “A” editar “pagina” y grabar. Deberia enviarse el correo.

informatica/linux/mediawiki.1377530941.txt.gz · Last modified: 2015/04/13 20:19 (external edit)