Centos 6 the Perfect Desktop

Parto de la base de instalar Centos 6.0 como estación de trabajo (sistema de 32bits), especificamente como estación para el diseño y desarrollo de aplicaciones Web que es mi trabajo diario. Instalación.
Empezamos con instalar minimal Desktop, cada quien puede partir de la instalación que prefiera, sobre todo si lo hace desde un dvd completo como fue mi caso, el objetivo de tener un desktop reducido es el de alcanzar el maximo nivel de personalización y no arrastrar con herramientas que probablemente nunca utilizaremos. Continuar leyendo “Centos 6 the Perfect Desktop”

Liberado Joomla 2.5

Hoy ha sido liberado Joomla 2.5 con algunas novedades que pueden verse en:

http://www.joomla.org/announcements/release-news/5403-joomla-250-released.html

Tenemos que reconocer que las ventajas reales están en la corrección de fallos de seguridad frente a versiones anteriores y que una de sus características más promocionadas como es la del “nuevo sistema de actualizaciones” es en la realidad muy poco útil porque depende de una variable de php (allow_url_fopen) que es bloqueada en la gran mayoría de servidores de hosting y que bien representa un riesgo de seguridad bastante conocido.

Por demás es totalmente compatible con extensiones y plantillas de Joomla 1.6 y Joomla 1.7.

Actualizar a Joomla 2.5 | Joomla 1.7 to 2.5

joomlaHoy ha sido liberado Joomla 2.5, la actualización desde Joomla 1.7.x debería ser un proceso simple y sin quebraderos de cabeza. A continuación una mirada por los métodos de actualización disponibles:

Automatic Update

Es el método más simple, debes dirigirte a la zona de administración:

0

ve a extensiones –> Administrador de extensiones

1

Una vez aquí, vas a hacer click en buscar actualizaciones, de otra forma no verás nada, del listado, selecciona Joomla 2.5 y actualiza. 2

3

Espera a que termine y tu sitio estará actualizado.

4

5

Manual Update

No siempre será posible hacer esto, sobre todo porque la inmensa mayoría de hosting compartido tiene desactivada por temas de seguridad la variable allow_url_fopen de php.

image-2

lo que nos deja solo con la posibilidad de actualización manual a través de ftp.

Paso 1-> Ir a http://www.joomla.org/download.html

image

descargar 1.7 to 2.5.0 Upgrade Package, descomprimir en una carpeta local y subirlo a tu website a través de FTP, una vez completada la subida de archivos, tu website estará actualizado.

Configuración y Seguridad en PHP.INI

Lo primero es definir las funciones a no utilizar o no permitir su ejecución en nuestros servidores, mi recomendación es ser conservadores, no excederse ni limitar a los usuarios, pero si controlar la ejecución de las que consideramos potencialmente peligrosas o que simplemente no quermos mostrar, las siguientes sin mi recomendación:
disable_functions = popen,exec,system,passthru,proc_open,shell_exec,phpinfo,
disk_free_space,diskfreespace,leak,set_time_limit,
show_source,pclose,proc_nice,proc_terminate,
proc_get_status,proc_close,pfsockopen

También está evitar la carga dinámica de módulos (más información: http://www.gonullyourself.org/ezines/phrack/62/p62-0x0a_Attacking_Apache_Modules.txt ) con:
enable_dl = Off
Luego, apagar register_globals y no permitir la creación de variables al vuelo entre otras cosas con:
register_globals = Off
Otras funciones un tanto incomodas o innecesarias como expose_php (ej ?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 )
expose_php = Off
Setear open_basedir para minimizar el acceso al sistema de ficheros, si usas apache con vhost como es mi caso, el setear open_basedir en php.ini no será de tanta utilidad como se esperaría, falta hacerlo en cada vhost, una ayuda sería esta:
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@dominio.com
DocumentRoot "/www/htdocs"
ServerName midominio.com
ServerAlias www.midominio.com
...
<Directory "/www/htdocs">
Options -Indexes FollowSymLinks -ExecCGI
AllowOverride All
DirectoryIndex index.php index.html
Order allow,deny
Allow from all
<IfModule mod_php5.c>
php_admin_value open_basedir "/www/htdocs:/tmp"
</IfModule>
</Directory>
</VirtualHost>

o simplemente:
open_basedir = /www/htdocs:/tmp
Definitivamente desactivar allow_url_fopen, puede parecer una buena idea en principio, pero no todos controlarán lo que pasa por sus urls (ejem: http://midominio.com/?configile.php=http://dominio-hack.ru/config-spam.php)
El resto parece carpintería, pero a tener en cuenta, apagar
magic_quotes_gpc = Off
output_buffering = Off

Y por último pero no menos importante, setear variables como:
max_execution_time =
max_input_time =
memory_limit =
post_max_size =
upload_max_filesize =

Igualar alto de columnas en JA T3 Framework

En algún momento te topas con un diseño en el que sus requerimientos te llevan a igualar el alto de las columnas, por ejemplo que user1, user2, user3… presenten el mismo alto porque buscamos simetría o bien sea por capricho de un diseñador gráfico que se cree diseñador Web que quiere ver el background de left y right al mismo alto aunque la situación no ayude a nadie ni mejore la presentación.
Bueno, aquí la solución, con jat3 framework el asunto es simple y lo resumiré por temas de tiempo 😉
Paso 1° extrae de plg_system_jat3 el archivo que necesites, en mi caso voy a igualar left, right y content, por lo que he de utilizar el archivo que maneja su presentación, es decir: page/default.php ( http://wiki.joomlart.com/wiki/JA_T3_Framework_2/Guides ) puedes bien editar directamente el plugin, pero la desventaja es que no podrás actualizar sin perder tus cambios, así que lo ideal es que copies en la carpeta de tu theme el archivo (copia page/default.php al root de tu theme).
Aquí es carpintería, pero daré un ejemplo:
<div id="ja-content" style="width:<?php echo $this->getColumnWidth('cw') ?>%">
y lo cambias por:
<div id="ja-content sameheight" style="width:<?php echo $this->getColumnWidth('cw') ?>%">
Haaces lo mismo para cada columna a igualar, recuerda, sameheight bien pudo ser fooheight, pon el nombre que gustes, lo importante es luego usar js para igualarlas (recuerda, joomla/t3 usan mootools, blah, blah…)
y antes de MAIN CONTAINER pega el sigiuente código:
...
<script type="text/javascript">
window.addEvent('load', function (){ equalHeight ('.sameheight') });
</script>
<!-- MAIN CONTAINER -->
....

Listo, ya tendrás columnas con alturas iguales.