Configuración de Joomla - el archivo configuration.php
La configuración global de Joomla se guarda en un archivo llamado configuration.php
independiente por completo de la base de datos. Esta configuración global
no es más que un conjunto de variables con valores asignados por el administrador
del sitio que sirven para "indicarle" al sistema cómo deben
funcionar sus características más generales. Lo más importante
de este archivo de configuración es que contiene los valores que determinan:
dónde se encuentra instalado el CMS Joomla, mediante qué URL se
accede a sus archivos, y cómo debe conectarse a su base de datos para
leer o escribir información.
Variables más importantes del archivo configuration.php
de configuración de Joomla :
$mosConfig_offline = '0'; // parámetro que
indica si el sitio está online u offline por orden del administrador
$mosConfig_host = 'localhost'; // host de la base
de datos mysql
$mosConfig_user = 'root'; // nombre de usuario de
la base de datos utilizada por Joomla
$mosConfig_password = 'root'; // contraseña
del usuario de la base de datos de Joomla
$mosConfig_db = 'joomla'; // nombre de la base de
datos de Joomla
$mosConfig_dbprefix = 'jos_'; // prefijo de las
tablas de la base de datos
$mosConfig_lang = 'english'; // idioma del frontend
$mosConfig_absolute_path = 'c:/apache1/htdocs/joomla'; //
ruta en el servidor hacia el directorio que contiene los archivos de Joomla
$mosConfig_live_site = 'http://127.0.0.1/joomla'; //
URL del sitio Joomla
...
?>
Antes de entrar a explicar todos los valores de configuration.php
voy a explicar brevemente cómo funciona.
Antes de instalar el sistema Joomla este archivo no existe como tal, sino como
configuration.php-dist. El propio configuration.php
comienza a escribirse en el paso 1 de la instalación de Joomla
y termina de ingresar sus valores en el paso 3.
Cuando Joomla CMS se ejecuta, el index.php requiere los datos
de configuration.php. Si este archivo no existe se dispara
el instalador porque supuestamente el sistema aún no está instalado,
pero si configuration.php sí existe es porque el sistema
ya está instalado. En caso de errores hay que comprobar y corregir los
valores de las variables más importantes manualmente (ver recuadro anterior)
para que el sistema funcione correctamente. Luego subir nuevamente este archivo
por FTP.
¿Por qué configuration.php es independiente de la base
de datos?
Esto es así porque Joomla necesita utilizar valores antes de conectarse
a la base de datos y además contempla la posibilidad de que el servidor
de Mysql esté inoperativo o que haya errores para conectarse a la base
de datos, entonces, con la ayuda del archivo offline.php el
sistema entrega mensajes personalizados, también en el caso de que se
estén haciendo tareas de mantenimiento y pongamos el sitio "offline"
desde la configuración global.
Configuración Global desde la administración de Joomla
En esta interfaz administrativa seteamos los valores de la configuración
global. Cuando hacemos esto, Joomla escribe el archivo configuration.php
con los valores que nosotros predeterminamos en este panel. Es muy importante
que el archivo esté Writable para
que Joomla pueda escribir en él. Si no es así podemos darle permisos
777 desde el FTP o panel de control.
Tenemos también una opción "Make unwriteable after
saving". Si marcamos esta opción, al guardar los cambios
el archivo configuration.php se hará "no escribible"
La lengüeta "Site"
Site Offline: cuando queremos poner el sitio Joomla offline (para
hacer mantenimiento por ejemplo) seleccionamos la opción "si" y aplicamos
el cambio haciendo click en el ícono de guardar arriba a la derecha.
Offline Message: cuando hemos desactivado el sitio Joomla con la opción
anterior se mostrará este mensaje a los usuarios que intenten acceder a él.
Puede editarse.
System Error Message: cuando Joomla no puede conectarse con la base
de datos este es el mensaje que se mostrará a los usuarios. Al igual que en
el caso anterior puede editarse a gusto.
Site Name: Nombre del sitio. Esto aparecerá en todos los títulos de
las páginas mostradas por Joomla.
Show unauthorized links (Mostrar enlaces no autorizados): Si está
seteada en "si" se permite a los visitantes anónimos del sitio ver
los enlaces hacia contenidos que requieren de registración de usuario. Solamente
verán los enlaces, ya que para ver sus contenidos tendrán que registrarse como
usuarios del sitio.
Allow User Registration (Permitir registro de usuarios): si esta opción
está deshabilitada, los usuarios no podrán registrarse en el sitio Joomla, sin
embargo vos podrás registrar usuarios desde el panel de administración (esta
opción es buena para cuando necesitamos un sitio con información privada destinada
a usuarios a los cuales nosotros decidimos mostrarla)
Use New Account Activation (Usar activación de cuenta): envía un email
a la casilla del usuario que se suscribe en nuestro sitio Joomla para que este
active su cuenta haciendo click (o copiando y pegando en su navegador) el código
de activación generado automáticamente por el sistema.
Require Unique Email (Requerir único Email): esta opción
impide a cada usuario compartir una única cuenta de email con otros usuarios.
Debug Site (Depuración del sitio): esta opción permite activar
o desactivar la visualización de las sentencias ejecutadas a la base
de datos (con sus errores o fallos). Es conveniente activar esto solamente si
el sitio Joomla no está funcionando bien.
Default WYSIWYG Editor: es el editor html predeterminado que se utiliza
en Joomla para crear el contenido o editarlo. Cada vez que se instale un nuevo
editor hay que volver aquí a seleccionarlo "por defecto" para
su uso.
List Length (Tamaño de lista): esto es simplemente para configurar
el tamaño de lista de los elementos publicados (entre 5 y 50 elementos).
Siempre conviene setear esta opción a 50.
Lengüeta "Locale"
Language (idioma): Este es el idioma por defecto del sitio Joomla.
Ten en cuenta que este idioma NO es el de los contenidos, sino el de los mensajes
del sistema.
Country Locale (país local): Esto define la etiqueta meta lenguaje,
por ejemplo para Argentina es: ES_AR. (Español - Argentina)
Time offset se refiere a la diferencia horaria entre el sistema y
el horario que se desea configurar. Por ejemplo, al pasar el mouse sobre la
i mostrará la configuración horaria del sistema, luego con el menú
desplegable podemos quitar o agregar horas a esa configuración. Esto es muy
útil cuando el sitio se destina a otras zonas geográficas con diferente huso
horario, o cuando Joomla corre en un servidor ubicado en otro país.
Lengüeta "Content"
Aquí se configura la información adicional y otras características
de los items de contenido que estarán disponibles a los visitantes del
sitio Joomla. Hide: esconde el elemento en cuestión Show: lo muestra
Lengüeta "Database"
ATENCIÓN: no toques nada
aquí a excepción de que sepas muy bien lo que estás haciendo!
Lengüeta "Server"
Absolute Path: Ruta absoluta en el servidor hacia el directorio donde
está Joomla
Live Site: Esta es la URL del sitio Joomla, accesible desde el navegador
GZIP Page Compression: Compresión Gzip de la salida (generada
por Joomla) en el búfer
Login Session Lifetime: Tiempo en que caducan las sesiones después
X segundos de inactividad.
Error Reporting: Nivel del reporte de errores de PHP (conviene dejar
"por defecto")
File Creation: Permisos predeterminados en la creación o subida
de nuevos archivos mediante la administración de Joomla (Conviene dejar
esto en 0644)
Directory Creation: Permisos predeterminados en la creación
de nuevos directorios mediante la administración de Joomla (Conviene
dejar esto en 0755)
IMPORTANTE: Con respecto a estas
dos últimas opciones es preferible no crear una combinación diferente
de permisos porque el sitio puede quedar inoperativo.
Lengüeta "Metadata"
Aquí van a escribirse los metatags de descripción y keywords de la página
principal de Joomla, para que puedan ser leidas por los robots buscadores.
Por ejemplo, en el código fuente de la cabecera de la página principal podemos
ver estas etiquetas así:
Joomlaos.net - Joomla CMS - Home
Lengüeta "Mail"
Aquí se configura la forma en que Joomla enviará emails a los usuarios.
Puede utilizarse la función de PHP que viene por defecto o puede utilizarse
un servidor SMTP o Sendmail si sabemos los datos de configuración de nuestro
servidor de email.
Estos datos pueden ser consultados al administrador / soporte de nuestro servidor
de hosting.
Lengüeta "Cache"
Aquí indicaremos al sistema si deseamos que se guarden en la cache de
Joomla los documentos generados y también cada cuánto tiempo debe
renovarse esta cache. Esto hace que el sistema se vuelva más rápido, ya que
cada vez que se realiza una petición se muestran los archivos de la cache sin
necesidad de estar conectándose a la base de datos constantemente. El directorio
donde se van a guardar los archivos de cache debe ser writable,
para que Joomla pueda crear y borrar archivos en él. También tenemos el tiempo
que determina cada cuanto se realiza el cacheo de archivos, en segundos.
Lengüeta "Statistics"
Statistics: Aquí podemos indicar al sistema Joomla si queremos
que se guarde un registro de las visitas al sitio, que luego podremos ver en:
Site>> Statistics del menú de administrador de
Joomla
Log Content Hits by Date: guarda un log con los accesos día a día
(es recomendable no tenerlo activado ya que se almacena gran cantidad de datos)
Log Search Strings es simplemente un log (registro) con las búsquedas
que los visitantes hicieron desde el buscador interno del sitio
Lengüeta "SEO" - Search Engine Optimization
Search Engine Friendly URLs: esta opción es exclusiva de servidores
Apache, con el módulo "MOD REWRITE" activado. Permite reescribir las
urls para ser más amigables a los motores de búsqueda.
Ejemplos:
URL NO AMIGABLE: http://www.joomlaos.net/index.php?option=com_content&task=section&id=1&Itemid=2
URL AMIGABLE: http://www.joomlaos.net/component/option,com_remository/Itemid,46/func,fileinfo/parent,folder/filecatid,938/
URL OPTIMIZADA: http://www.joomlaos.net/tutoriales-de-joomla/instalar-componentes.htm
En caso de setear en "si" la opción Search Engine Friendly URLs,
debe renombrarse el fichero htaccess.txt ubicado en el directorio donde
está instalado Joomla, por .htaccess, para que el servidor pueda comprender
las instrucciones en dicho archivo de reescribir las urls.
Dynamic Page Titles: deberíamos setearlo a "si", para que
el título de la página actual se corresponda con su contenido visualizado.
* Proyecto: Joomla!
* Subproyecto: Todos
* Severidad: Alta
* Versiones: 1.5.17 y todas las versiones anteriores 1,5
Exploit * Tipo: Inyección de XSS
* Reportado Fecha: 2010-May-13
* Fecha Fijo: 2010-May-28
Descripción
Usuarios del Back-end pueden inyectar javascript en varias pantallas de administrador.
Instalaciones afectadas
Todas las instalaciones 1.5.x incluyendo la 1.5.17.
Solución
Actualizar a la última versión de Joomla! (1.5.18 o posterior)