MediaWiki bajo Debian
Contents
Paquetes
Antes de empezar podemos anadir unas líneas en el fichero /etc/apt/sources.list
deb http://www.cti.ecp.fr/~beauxir5/sarge binary/ deb-src http://www.cti.ecp.fr/~beauxir5/sarge source/
A continuación instalamos los paquetes siguientes, yo personalmente he elegido Apache 2
apt-get update apt-get install apache2-mpm-prefork libapache2-mod-php4 php4-gd php4-imagick php4-mysql mysql-server
Configurar Apache
Lo primero que hay que hacer es definir el servidor virtual de apache, para ello creamos un archivo en la carpeta /etc/apache2/sites-available que llamamos wiki por ejemplo
<VirtualHost *:80> ServerName wiki.luniel.com ServerAdmin correo electronico DocumentRoot /wiki/web/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /wiki/web/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/wiki_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/wiki_access.log combined ServerSignature On </VirtualHost>
Luego tenemos que activar el sitio virtual con
a2ensite wiki /etc/init.d/apache2 restart
Configurar MySQL
Normalmente mysql en debian crea los archivos de datos en la carpeta /var/lib/mysql, personalmente no me gusta esa ubicación, por lo que la he movido a mi propia carpeta de datos.
cd /var/lib/mysql && find . -depth -print0 | afio -px -a0 /wiki/mysql
Luego tenemos que editar el fichero /etc/mysql/my.cnf y cambiamos las líneas siguientes
datadir = /wiki/mysql language = /usr/share/mysql/spanish
Cambiamos la contraseña del root de la base de datos
mysqladmin -u root password contraseña
Configurar PHP
Editamos el fichero /etc/php4/apache2/php.ini
memory_limit = 30M (Cambiar Valor) extension=mysql.so (Descomentar) extension=gd.so (Descomentar)
A continuación hay que reiniciar apache
/etc/init.d/apache2 restart
Descargar MediaWiki
Vamos a la página http://sourceforge.net/projects/wikipedia y nos copiamos el enlace de la versíon que nos interrese (yo elijo la estable), y la descargamos en nuetra carpeta.
cd /wiki wget http://heanet.dl.sourceforge.net/sourceforge/wikipedia/mediawiki-1.5.2.tar.gz tar xvfz mediawiki-1.5.2.tar.gz chown -R www-data:www-data mediawiki-1.5.2.tar.gz ln -s mediawiki-1.5.2.tar.gz web
Configurar MediaWiki
Abrimos un navegador contra nuestro servidor virtual web, en mi caso http://wiki.luniel.com. Y nos aparece una pagina para seguir con la configuración. Una vez rellenado todos los parametros, le damos al boton install, y movemos el fichero siguiente:
cd /wiki/mediawiki-1.5.2/config cp LocalSettings.php ../ cd .. chown -R root:root config chown www-data:www-data LocalSettings.php
Normalmente a partir de este momento, nuestro Wiki esta totalmente operativo
Activar Tex
Tex nos permite realizar formula mathematicas dentro de nuestras páginas. Lo primero hay que instalar los siguientes paquetes:
apt-get install ocaml imagemagick gs cjk-latex tetex-extra php4-imagick binutils gcc
Luego en el fichero LocalSettings.php hay que descomentar la línea siguiente:
$wgUseTeX = true;
En el archivo php.ini tambien tenemos que tener la variable siguiente
extension=imagick.so
Luego hay que compilar los elementos matematicos
cd /wiki/mediawiki-1.5.2 cd math make cd ../images mkdir -m777 math tmp
Logotipo
Para personalizar nuestro Wiki podemos cambiar la variable $wgLogo del archivo LocalSettings.php
$wgLogo = "$wgStylePath/common/images/luniel.png";
Y nos aparecera nuestro Logotipo arriba a la izquierda.
Permisos de Usuarios
Los permisos de usuario han cambian desde la versión 1.4, estos son el listado de permisos que aparecen en el archivo DefaultSettings:
/** * Permission keys given to users in each group. * All users are implicitly in the '*' group including anonymous visitors; * logged-in users are all implicitly in the 'user' group. These will be * combined with the permissions of all groups that a given user is listed * in in the user_groups table. * * This replaces wgWhitelistAccount and wgWhitelistEdit */ $wgGroupPermissions = array(); $wgGroupPermissions['*' ]['createaccount'] = true; $wgGroupPermissions['*' ]['read'] = true; $wgGroupPermissions['*' ]['edit'] = true; $wgGroupPermissions['user' ]['move'] = true; $wgGroupPermissions['user' ]['read'] = true; $wgGroupPermissions['user' ]['edit'] = true; $wgGroupPermissions['user' ]['upload'] = true; $wgGroupPermissions['bot' ]['bot'] = true; $wgGroupPermissions['sysop']['block'] = true; $wgGroupPermissions['sysop']['createaccount'] = true; $wgGroupPermissions['sysop']['delete'] = true; $wgGroupPermissions['sysop']['editinterface'] = true; $wgGroupPermissions['sysop']['import'] = true; $wgGroupPermissions['sysop']['importupload'] = true; $wgGroupPermissions['sysop']['move'] = true; $wgGroupPermissions['sysop']['patrol'] = true; $wgGroupPermissions['sysop']['protect'] = true; $wgGroupPermissions['sysop']['rollback'] = true; $wgGroupPermissions['sysop']['upload'] = true; $wgGroupPermissions['bureaucrat']['userrights'] = true; // Used by the Special:Renameuser extension $wgGroupPermissions['bureaucrat']['renameuser'] = true;
Lo que pongamos en el archivo LocalSettings.php sobreescribe los valores del default, por ejemplo
$wgGroupPermissions['*' ]['createaccount'] = false; $wgGroupPermissions['*' ]['edit'] = false;
Upload de ficheros
Personalmente me he encontrado que la subida de ficheros esta deshabilitada por defecto. Para permitir he tenido que añadir estas variables al archivo LocalSettings.php
$wgEnableUploads = true; $wgMimeDetectorCommand = "file -bi";
La segunda variable la tuve que poner porque me saltaba un error. Como este: Fatal error: mime_magic could not be initialized, magic file /usr/share/file/magic.mime is not available in /wiki/mediawiki-1.5.2/includes/MimeMagic.php on line 497
Para cambiar la barra de navegación a partir de la versión 1.5, hay que esitar la página con la URI siguente:
index.php/MediaWiki:Sidebar
Reescritura de URI
Si queremos Reescribir nuestra URL para que los scripts sean accesible por /w/ y la páginas en / sin el index.php. hay que cambiar el fichero de configuración del apache y LocalSettings.php. Esto nos permitira que los bots empiecen a meterse en todas las páginas de diffs y de configuración.
- LocalSettings.php
$wgScriptPath = ""; $wgScript = "$wgScriptPath/w/index.php"; $wgArticlePath = "$wgScriptPath/$1";
De esta manera todos los scripts serán llamados por la URI /w/index.php...
- apache (mi fichero se llama wiki) añadimos las reglas de reescritura siguientes
# Rewrite rules for a MW installation with normal article view # without index.php and /w/ in front of all other links. RewriteEngine on # Don't rewrite requests for files in MediaWiki subdirectories, # MediaWiki PHP files, HTTP error documents, favicon.ico, or robots.txt RewriteCond %{REQUEST_URI} !^/(stylesheets|images|skins)/ RewriteCond %{REQUEST_URI} !^/(redirect|texvc|index).php RewriteCond %{REQUEST_URI} !^/error/(40(1|3|4)|500).html RewriteCond %{REQUEST_URI} !^/favicon.ico RewriteCond %{REQUEST_URI} !^/robots.txt RewriteCond %{REQUEST_URI} !^/w/ # Rewrite anything not matched by the rules above. RewriteRule ^/(.*)$ /index.php/$1 [L,QSA] # Remove the /w/ from the edit links RewriteRule ^/w/(.*)$ /$1 [L,QSA]
Robots.txt
Para evitar que los bots se paseen por todos los edit y los diffs de nuestra web pondremos un archivo llamado robots.txt en el raiz de nuestro wiki que se parezca a
User-agent: * Disallow: /w/ Disallow: /Special:Search Disallow: /Special%3ASearch Disallow: /Special:Recentchanges Disallow: /Special%3ARecentchanges Disallow: /Special:Randompage Disallow: /Special%3ARandompage
De esta forma todas las páginas de los scripts serán inaccesibles
Referencias
- MetaWiki instalación parar Debian
- Error de Mime
- Variables de LocalSettings
- Upload
- Bara de Navegación
- URL rewrite
--Daniel Simao 13:52, 21 Nov 2005 (CET)