Archive for October, 2008

¿Qué es linux y por qué lo uso?

October 07, 08 by Max Villegas
Linux vs Windows

Acabo de leer una entrada que intenta explicar qué es Linux en 10 frases a personas que no lo conocen; aunque es certero en lo que señala, creo que es una mala pésima forma de presentar Linux a un novato. Si en la primera frase habla del Kernel, en la segunda, el principiante salió corriendo. Eso es seguro.

Sin duda, creo que las distros modernas de Linux,  como Ubuntu o CentOS, son sistemas robustos, seguros y amigables con el usuario que no quiere ni debe ser un experto. De hecho, no hay nada más fácil y confiable que instalar programas con Synaptic o Yum. Pero la verdad es que intentar explicar qué es Linux en 10 frases me parece estéril, sobre todo si esperamos con ello convencer sobre las bondades del pingüino.

Lo digo porque llevo 11 años usando Linux y aunque he visto infinidad de veces la cara de envidia que ponen los usuarios Windows el ver mi escritorio con Compiz y Cairo-Dock, ninguno se ha atrevido a instalar Linux por su cuenta (a uno le gusta Quanta para trabajar, pero igual tiene su notebook con Windows y añora tener un Mac).  Yo mismo comencé alternando entre Windows 95 y Redhat 5.0 en 1997, y luego entre Win XP y SuSe; vicio que dejé sólo hace 3 años cuando me hice fan de Ubuntu.

Es cierto que desde los ’90 hasta ahora Linux ha evolucionado muchísimo como Sistema Operativo orientado al uso de Escirtorio Personal, primero emulando a Mac con Compiz-Fusion (Beryl) y ahora entrando con fuerza en el mercado de los NetBooks con versiones ligeras y adaptadas al uso de la Red como Ubuntu Netbook Remix o la versión Xandros para el EeePC de Asus.

A pesar de esto, creo que los usuarios se resiste a cambiar sus hábitos frente al computador. Sin ir más lejos, esta semana  Microsoft nuevamente ha aunciado que extenderá “la vida” de Windows XP y tanto MSI como Canonical han tenido que salir a dar explicaciones frente a la noticia sobre alto número de Netbook’s con linux que devueltos por usuarios que no quieren complicarse la vida aprendiendo un nuevo Sistema Operativo.

Por eso creo que ni 100 razones son suficientes para cambiarse de Sistema Operativo (Linux no es más que eso) si antes no se está dispuesto a cambiar de vicios hábitos y eso requiere tiempo. Aunque hay dos hábitos que se olvidan rápido: correr el antivirus como paranoico y reiniciar el equipo como necio.

PD. Sabía usted que Windows también tiene un Kernel. plop!

Problemas comunes I: Max File Uploads en PHP

October 02, 08 by Max Villegas

Como programador y administrador de servidores muchas veces me encuentro con problemas simples que, por diversas razones, se repiten cada cierto tiempo. Algunas veces son tareas que fueron realizadas en  proyectos antiguos que nadie recuerda o conoce; otras, en cambio, se pierden en la trivialidad de lo cotidiano y, por lo tanto, no están debidamente documentadas para que el resto de las personas con las que trabajo puedan resolverlas por su cuenta.

La idea entonces es crear y compartir algo así como un repositorio de soluciones rápidas a estos problemas comunes. Por tanto, si se animan, espero que en los comentarios pregunten lo que sea pertinente al tema expuesto o propongan nuevos problemas.

Problema: aumentar tamaño máximo para subir archivos con PHP

Estamos trabajando con un gestor de contenidos como Wordpres o Drupal y necesitamos subir mediante un formulario archivos PDF, PNG o DOC que pesan sobre 2 MB, pero resulta que no se puede y nos sale un mensaje de error.

El problema no es del gestor de contenidos. La configuración por defecto de PHP en un servidor Linux permite copiar o subir archivos desde la máquina local al servidor que tengan un tamaño máximo de 2MB. Aunque no es recomendable aumentar esta cuota en entornos poco protegidos o públicos es posible hacerlo de la siguiente forma:

serumax@bunbury:~$  sudo nano /etc/php5/apache2/php.ini
[sudo] password for serumax:

Ingresamos la clave sudo de nuestra máquina y con CTRL+W procedemos a buscar “upload_max_filesize“:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Nos fijamos que el parámetro file_uploads esté en On y donde dice upload_max_filesize = 2M reemplazamos por el tamaño que necesitamos, pero ojo con el tiempo de ejecución de los script en PHP, que por defecto es de 30 segundos (se archiva un nuevo draft) y si subimos un archivo muy grande esto puede verse afectado.

Por ejemplo, podemos aumentarlo a 5 Megas:

; Maximum allowed size for uploaded files.
upload_max_filesize = 5M

Guardamos con CTRL+O y salimos con CTRL+X.  Con esto ya hemos hecho lo más díficil. Ahora sólo nos resta volver a iniciar Apache, sí Apache, para  que los cambios tengan efecto. Esto porque PHP generalmente corre como módulo de Apache

serumax@bunbury:~$sudo /etc/init.d/apache2 restart
[sudo] password for serumax:

o mejor solo recargamos la nueva configuración

serumax@bunbury:~$sudo /etc/init.d/apache2 reload
[sudo] password for serumax:

Como comentario final, este ejemplo lo hice pensando en un servidor Linux  Ubuntu 8.04, con Apache2 y PHP5. Espero que sea de utilidad :)