Manual:LocalSettings.php
Archivo de MediaWiki: LocalSettings.php | |
---|---|
Ubicación: | / |
Código fuente: | no se encuentra en Git (creado durante la instalación) |
Clases: |
El archivo LocalSettings.php
proporciona opciones de configuración básicas de una instalación de MediaWiki.
Es recomendable que dediques algo de tiempo a revisar las opciones de este archivo.
Normalmente, este archivo lo genera el instalador web de MediaWiki, pero tal vez quieras ajustar algunos de los parámetros, posiblemente en sintonía con la configuración de Apache.
Se puede utilizar un archivo llamado CommonSettings.php
para instalaciones de MediaWiki configuradas como granjas de wikis.
Ubicación en el servidor
El archivo LocalSettings.php
no es una página wiki, y no puedes acceder a él con tu navegador.
Es un simple archivo que se encuentra instalado en un directorio del servidor.
Su contenido se genera durante el proceso de configuración inicial del wiki y el archivo resultante debe copiarse manualmente al servidor.
El archivo debe ubicarse en la carpeta en la que instaló MediaWiki, en el mismo nivel con carpetas como includes/
y skins/
, y archivos como api.php
.
Si este archivo no está en ese lugar, el wiki no funcionará en absoluto — si el wiki funciona, entonces el archivo está donde debe.
En caso de que no sepas dónde lo has guardado, puedes introducir un comando como find / -iname LocalSettings.php -print
en una ventana de terminal para localizarlo.
(Si utiliza Vagrant, consulte también MediaWiki-Vagrant#MediaWiki_settings.)
Seguridad
LocalSettings.php
suele contener información sensible, como identificadores de acceso a la base de datos.
¡Esta información jamás debe revelarse al público!
En caso de un fallo de seguridad en algún lugar del servidor, podría ocurrir que otros usuarios pudiesen ver el contenido de archivos que no deberían.
Para mejorar la seguridad de sus datos, debe establecer los permisos UNIX correspondientes para este archivo: El usuario del servidor web debe tener acceso a este archivo.
Si se trata de la misma cuenta, la que es propietaria del archivo, entonces puede establecer los permisos en 600.
A veces, el usuario del servidor web no es el propietario del archivo, pero pertenece al grupo de usuarios UNIX del propietario.
En este caso, los permisos de 640 deberían estar bien. Para mejorar la seguridad debería restringir los permisos tanto como sea posible.
Además, puedes crear un usuario de MySQL que sólo tenga acceso a la base de datos utilizada por el wiki, e indicar las credenciales de este usuario en LocalSettings.php
. También puedes configurar tu servidor de base de datos de forma que sólo acepte conexiones de localhost: esto debería impedir el acceso desde el exterior en caso de que las credenciales salgan a la luz.
Véase también Manual:Securing database passwords para obtener un método para mover las partes confidenciales de LocalSettings.php
a un archivo diferente en un directorio diferente.
Contenido del archivo
Cuando edites LocalSettings.php
, asegúrate de guardarlo de nuevo con la codificación correcta. Deberías usar la codificación "ANSI como UTF-8", es decir, codificación UTF-8 sin marca de orden de bytes (BOM).
LocalSettings.php
contiene código PHP; principalmente, la definición de una serie de variables con sus valores correspondientes. Cambiar algo en este archivo normalmente conlleva cambiar el valor de una variable de PHP. Los cambios que hagas tendrán efecto inmediatamente en cuanto guardes el archivo de nuevo en el servidor. No hay necesidad de "reiniciar" nada manualmente; en todo caso, en determinadas ocasiones puede ser necesario que limpies el caché de tu navegador para poder ver el resultado de los cambios que has hecho.
Los valores predeterminados de muchos otros ajustes están definidos en includes/MainConfigSchema.php
, que no debes editar; si la variable que quieres cambiar no figura todavía en tu LocalSettings.php
, copia la línea que corresponda desde $3 y entonces modifícala según convenga en LocalSettings.php
.
Dentro de LocalSettings.php
se pueden añadir nuevas líneas al final.
Dentro del archivo puede haber varias líneas del estilo require_once "$IP/extensions/NombreExtension.php";
o wfLoadExtension( 'NombreExtension' )
, que apuntan a extensiones.
Estas líneas activan en el wiki la extensión a la que hacen referencia.
Tales extensiones pueden, a su vez, necesitar que se definan más variables en el archivo LocalSettings.php
; consulta la documentación de cada extensión para más detalles.
Al igual que la mayoría de archivos PHP que emplea MediaWiki, LocalSettings.php
no termina con la etiqueta de cierre ?>
de PHP. Esto evita que los administradores añadan accidentalmente información después de esta etiqueta. PHP funciona bien sin una etiqueta de cierre.
Si tienes un wiki en una granja de wikis basada en MediaWiki, posiblemente no tengas acceso de escritura (quizá ni siquiera de lectura) al archivo LocalSettings.php
(véase por ejemplo [1]). La empresa que gestiona la granja puede (o no) estar dispuesta a hacer los cambios que buscas; posiblemente prefiera que la mayoría de los ajustes sean idénticos en todos los wikis que forman la granja.
Descripción general de las opciones disponibles
Mira el índice de opciones de configuración y los comentarios incluidos en los archivos de configuración para encontrar más detalles sobre lo que hacen todas las variables. A continuación, una breve lista de las variables más importantes, así como de las características más solicitadas.
Opciones estándar
Ruta de instalación
La variable $IP (del inglés Install Path, o ruta de instalación) contiene la ruta de los archivos locales que conforman la instalación de base de tu wiki.
Desde MediaWiki 1.18, el sistema establece automáticamente el valor de $IP.
Ya no es necesario definir $IP
en LocalSettings.php
.
$IP
será de forma predeterminada el directorio actual de trabajo, y puede usarse sin necesidad de definirla manualmente.
Intentar establecer $IP
(o MW_INSTALL_PATH
) en LocalSettings.php
puede producir resultados inesperados.
Nombre del sitio
La variable $wgSitename contiene el nombre que identifica a tu wiki. Este nombre se reutiliza muchas veces a lo largo de todo el sistema, mismamente en MediaWiki:Pagetitle. El lema "From Wikipedia, the free encyclopedia" de Wikipedia en inglés utiliza esta variable.
Declinaciones del nombre del sitio
Algunas traducciones de la interfaz está preparadas para soportar distintas declinaciones del nombre del sitio. Puedes definir las formas que necesites en variables $wgGrammarForms ; para ver algún ejemplo, por favor, consulta la página de documentación de $wgSitename .
Ruta de script
$wgScriptPath es el prefijo de ruta URL para acceder al script principal de MediaWiki, que es la pieza central del código de MediaWiki. Esta configuración debería corresponder con las configuraciones de Apache, especialmente si está utilizando las reglas de reescritura de Apache.
Nombre del servidor
$wgServer contiene la URL base del servidor, incluyendo el protocolo, pero sin la barra diagonal final y sin ningún subdirectorio. Cuando se accede al wiki desde localhost, desde una intranet o desde Internet, las notificaciones por correo electrónico y algunos otros mensajes automatizados se enviarán normalmente con los diferentes URLs.
A partir de MediaWiki 1.34 $wgServer
debe definirse en LocalSettings.php.
Antes de eso, MediaWiki intentaba autodetectar el nombre del servidor y $wgServer
era opcional, para anular la autodetección.
Si www.example.com es la dirección del servidor de tu wiki visto desde Internet, añade una línea como
$wgServer = 'http://www.example.com';
La variable en forma de palabra mágica {{SERVER}}
puede utilizarse en páginas del wiki y equivale al valor de $wgServer
; sin embargo, en un wiki como los que usa la familia Wikimedia, donde se usan URLs relativos, no se expandirá completamente. Por ejemplo, aquí muestra //www.mediawiki.org, y no puede pulsarse sobre el enlace ni copiarse y pegarse tal cual a una barra de direcciones.
You can also use a protocol relative URL as shown below.
When using a protocol relative URL, be sure to set $wgCanonicalServer
.
$wgCanonicalServer
is needed for some places in the code where an origin with a protocol and hostname is needed.
$wgServer = '//www.example.com';
$wgCanonicalServer = 'https://www.example.com';
Nombre del script
$wgScript es el nombre del script principal (índice) PHP de MediaWiki, llamado index.php
de forma predeterminada. Cambiar el nombre del script probablemente no sea una buena idea. Sin embargo, si sientes la necesidad de hacerlo, éste es el lugar para ello. Asegúrate de que sabes lo que haces.
Ruta de artículos
$wgArticlePath es la ruta a utilizar cuando se accede a una página en MediaWiki.
La ruta debería contener la ruta al script principal (normalmente usando $wgScript
) y usar la variable de sustitución $1
para el nombre del artículo.
Si estás usando reglas de reescritura de Apache para crear URLs bonitos y cortos, probablemente necesites modificar $wgArticlePath
para que apunte a la ruta correcta.
Tenga en cuenta que wgArticlePath se utiliza para construir URLs desde dentro de MediaWiki.
Si comete un error aquí, los enlaces internos se mostrarán de forma incorrecta mientras que aún podrá acceder a la página principal especificando manualmente la URL correcta.
Consulte Manual:URL corto para obtener más información sobre la configuración de URL.
Las valores típicos son:
"$wgScript/$1"
|
pasar el nombre del artículo con un separador "/" |
"$wgScript?title=$1"
|
pasar el nombre del artículo como un parámetro (el estilo antiguo) |
"/mypath/$1"
|
ruta personalizada. Usa reglas de reescritura de Apache para convertir "mypath" a la ruta correcta para el script principal. |
Ubicación de las hojas de estilo
Usa la variable $wgStylePath para definir la ruta URL al lugar donde se encuentran ubicadas las hojas de estilo (CSS) para la instalación de MediaWiki. La variable $wgStyleDirectory debería apuntar al mismo lugar, pero ten en cuenta que esto es una ruta del sistema de archivos local para uso con scripts internos que accedan al sistema de archivos.
Ubicación de las subidas
El directorio de subidas es el lugar donde se guardan los archivos que suben los usuarios al wiki. La variable $wgUploadPath especifica la ruta URL, mientras que $wgUploadDirectory apunta a la ruta dentro del sistema de archivos local.
Logotipo
La variable $wgLogo especifica el logotipo gráfico que se muestra en la esquina superior izquierda de todas las páginas de un wiki de MediaWiki. Los siguientes pasos ilustran cómo se sustituye el logotipo predeterminado situado en el directorio /wiki/skins/common/images/, recuerda que deberás cambiar /wiki por la ruta del directorio donde instalaste el software MediaWiki.
See Manual:Preguntas frecuentes for how to change the logo.
Información de contacto
La variable $wgEmergencyContact es la dirección de correo electrónico del usuario con el que contactar en caso de que algo vaya mal. Esta dirección de correo se usa para enviarle avisos internos de fallos; si eres la persona responsable de la administración del sitio, querrás indicar aquí tu dirección de correo.
La variable $wgPasswordSender es la dirección de correo desde la cual se envía el correo electrónico, por ejemplo cuando se envían contraseñas a usuarios que han olvidado las suyas. Elige una dirección a la que la gente pueda contestar en caso de que surja cualquier problema o confusión.
Opciones de la base de datos
MediaWiki necesita acceder a la base de datos (actualmente MySQL o PostgreSQL) para guardar páginas, modificaciones, información de los usuarios y muchas cosas más.
La variable $wgDBserver contiene el nombre del servidor donde está alojada la base de datos. En la mayoría de los casos esto será simplemente "localhost" si la base de datos se encuentra en el mismo sistema, pero en el caso de instalaciones distribuidas necesitarás indicar el nombre completo del dominio que corresponde al ordenador que aloja la base de datos.
$wgDBname es el nombre de base de datos de la base de datos que debe utilizar MediaWiki. Una única instalación de MySQL o PostgreSQL puede albergar más de una base de datos y puedes incluso disponer de muchas instalaciones de MediaWiki en un único servidor. Asegúrate de haber indicado aquí el nombre de base de datos correcto y utiliza nombres de base de datos distintos para diferentes instalaciones de wikis en el mismo servidor de base de datos.
Las variables $wgDBuser y $wgDBpassword contienen el nombre de usuario y la contraseña que debe utilizar MediaWiki para acceder a la base de datos. Asegúrate de que el usuario que indiques dispone de los permisos de acceso apropiados para poder manipular la tabla del wiki en el servidor de la base de datos.
Véase también Manual:Securing database passwords para obtener un método para mover las partes confidenciales de LocalSettings.php
a un archivo diferente en un directorio diferente.
Permisos de los usuarios
La variable $wgGroupPermissions es una matriz asociativa que controla los permisos que a su vez gobiernan la creación y edición de páginas para tus distintos grupos de usuarios. En esta matriz pueden crearse niveles de permisos personalizados, y pueden definirse niveles de permisos para esos grupos de usuarios. Consulta Help:User rights para más información sobre los distintos permisos y grupos de usuarios disponibles.
Forzar los enlaces en mayúsculas
De forma predeterminada, ningún nombre de una página puede empezar por una letra romana minúscula; si se intenta crear una página que empiece de ese modo, la primera letra se convierte automáticamente en mayúsculas. Del mismo modo, si se hace referencia mediante un enlace ya sea a una página, una imagen o una categoría mediante un nombre que empieza por una letra minúscula, el destino real será la página que tiene ese nombre pero que empieza por la letra mayúscula correspondiente.
Alternativamente, si así se desea los nombres de las páginas pueden empezar con una primera letra en minúscula, además de poder empezar con mayúscula, un dígito, etc. Para ello debes definir la variable $wgCapitalLinks : si su valor es FALSE entonces se permiten los caracteres en minúscula, mientras que si es TRUE se sigue el comportamiento predeterminado.
Activación de subpáginas
En LocalSettings.php
, las subpáginas se activan de forma selectiva por cada espacio de nombres usando la variable $wgNamespacesWithSubpages . Por ejemplo, para activar las subpáginas en el espacio de nombres principal:
$wgNamespacesWithSubpages[NS_MAIN] = 1;
Subida de imágenes
Para que los usuarios puedan subir archivos al sistema MediaWiki, tienes primero que activar esta característica. Asegúrate de que el directorio de subidas está correctamente configurado y de que el proceso del servidor web Apache puede escribir en él, entonces pon la variable $wgEnableUploads a TRUE para permitir las subidas por medio del interfaz de usuario de la web.
Ejemplo: Este código se ha tomado de includes/DefaultSettings.php y puedes colocarlo en LocalSettings.php
:
$wgUploadPath = "$wgScriptPath/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
$wgUploadDirectory = "$IP/uploads"; ## Wiki 1.5 defaults to /images, but allows more than just images
## To enable image uploads, make sure the above '$wgUploadPath' directory is writable by Apache User or group.
## ''(i.e. chmod og+w uploads images)'' then the following should be true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
## If you want to use image uploads under safe mode, create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment this, if it's not already uncommented:
$wgHashedUploadDirectory = false;
Si quieres poder redimensionar imágenes al vuelo para soportar el uso de imágenes en miniatura, MediaWiki necesita una instalación operativa de ImageMagick.
Pon la variable $wgUseImageMagick a true una vez que hayas instalado y probado ImageMagick en tu sistema.
Asegúrate de que $wgImageMagickConvertCommand apunta a la ubicación correcta del comando convert
en tu instalación, de que el comando puede ser ejecutado por el proceso del servidor web, y de que el valor de memoria definido en $wgMaxShellMemory es lo suficientemente grande.
Mira Manual:Image administration#Image thumbnailing para una información más detallada y el diagnóstico de posibles problemas.
También es posible que te interese modificar la lista de extensiones aceptadas, que se guardan en la matriz de $wgFileExtensions :
$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ];
En caso de que ImageMagick produzca un mensaje de error como el siguiente:
Error fatal: mime_magic no se pudo inicializar, el archivo magic no está disponible en includes/MimeMagic.php en la línea 506
prueba a añadir la siguiente línea a LocalSettings.php
:
$wgMimeDetectorCommand = "file -bi";
Encontrarás más información en:
Soporte interwiki
El soporte para InterWiki está incorporado en MediaWiki, pero necesitarás configurar el prefijo que hay que utilizar para tus enlaces internos.
Este prefijo suele ser el mismo que $wgSitename
, pero en caso de que necesite cambiarlo, establezca la variable $wgLocalInterwikis
con el nombre preferido.
Idioma de la interfaz de usuario
MediaWiki admite una amplia variedad de idiomas para localizar su interfaz de usuario además del inglés que usa de forma predeterminada. Si quieres que tu wiki funcione en un idioma distinto del inglés, indica en la variable $wgLanguageCode
el código de idioma correcto; por ejemplo, "de" para el alemán, "es" para el español, etc.
Puedes usar cualquiera de los idiomas con un archivo en el directorio languages/i18n. Por ejemplo, si encuentras es.json
, entonces puedes usar "es"
para el español. No utilices "Es"
con letra mayúscula; aunque parezca que funciona, no se traducirán todos los textos.
maintenance
y entonces introduce el comando php rebuildMessages.php --rebuild
. En Windows, la carpeta donde se encuentra PHP quizá no esté en tu variable de entorno PATH
, con lo cual tendrías que anteponer a php la ruta del programa.No todos los idiomas están soportados. Consulte las estadísticas de traducción en TranslateWiki para obtener una lista actualizada de los idiomas soportados y hasta qué punto. Esa lista refleja el estado actual del núcleo de MediaWiki, por lo que dependiendo de la versión que esté utilizando puede haber alguna discrepancia.
Configuración de derechos de autor del sitio
- $wgRightsPage apunta a la página del wiki que cubre los derechos de autor bajo los que se amparan sus contenidos. Normalmente, esta página será Proyecto:Derechos de autor .
- $wgRightsUrl apunta a la página que proporciona todos los detalles sobre tu licencia. Por ejemplo, para la GNU FDL, esta página sería
http://www.gnu.org/licenses/fdl.html
. - $wgRightsText es el texto que aparece al pie de cada página inmediamente a continuación de "El contenido está disponible bajo". El texto se enlazará automáticamente con la página especificada en
$wgRightsPage
. - $wgRightsIcon contiene el URL de la imagen situada a la izquierda del pie de página.
$wgRightsPage
no está vacía, el enlace de la nota de copyright/licencia apuntará a esa página. Si $wgRightsPage
está vacía entonces la nota apuntará a la página indicada en $wgRightsUrl
.Para modificar la información de derechos de autor del sitio, añade algo como esto a LocalSettings.php
:
$wgRightsPage = "YourWiki:Copyright";
$wgRightsText = "copyright YourWiki";
A continuación, edita MediaWiki:Copyright para proporcionar un mensaje apropiado, usando "$1"
para indicar la posición donde quieras que se sitúe el enlace a tu página con la información de derechos de autor.
Ejemplo: configurar una licencia Creative Commons
Para configurar una licencia Creative Commons, haz lo siguiente:
- Elige tu licencia: http://creativecommons.org/choose/
- Examina el código HTML obtenido; por ejemplo:
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights30.png" />
</a>
This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>.
- En
$wgRightsURL
, introduce la información de referencia del primer enlace:
$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";
- En
$wgRightsText
, introduce el texto desde el que apunta el segundo enlace de licencia (en este ejemplo añadimos la "a" delante a la variable wiki para tener una versión gramaticalmente más correcta):
$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";
- En
$wgRightsIcon
, introduce el enlace a la imagen que figura en el código. Aunque querrás copiar la imagen a tu propio servidor en lugar de usar la del sitio Creative Commons.
$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";
Espacios de nombres personalizados
Declarando la matriz $wgExtraNamespaces y modificando las matrices $wgNamespacesWithSubpages y $wgNamespacesToBeSearchedDefault , pueden añadirse espacios de nombres adicionales a una instalación de MediaWiki; además, declarando la matriz $wgNamespaceAliases pueden añadirse también alias de espacios de nombres. Ten cuidado de no tener ninguna página con un nombre que figure ya en ese espacio de nombres; por ejemplo, si tuvieras una página llamada "Cervantes:Biografía" y creases posteriormente el espacio de nombres Cervantes:, entonces esa página no sólo se perdería, sino que no podrías eliminarla desde Especial:Todas. Para corregir esto, borra el espacio de nombres, traslada "Cervantes:Biografía" a "Biografía" en el espacio de nombres principal, borra la redirección, reinserta el espacio de nombres, y traslada la página de nuevo a su lugar definitivo como "Cervantes:Biografía". Mira cómo usar espacios de nombres personalizados para más información sobre este proceso.
Apariencias
La apariencia que usa el sitio de forma predeterminada puede cambiarse mediante la variable $wgDefaultSkin .
Véase también
- LocalSettingsGenerator.php código fuente que genera el contenido inicial de
LocalSettings.php
durante la instalación. - Las Familias wiki pueden compartir el mismo LocalSettings.php.
- Manual:Securing database passwords - una guía para proteger las contraseñas de tu base de datos y el archivo
LocalSettings.php
.