Servidor LAMP en Fedora

18 06 2009

En este artículo encontraran una guía sobre como implementar un servidor LAMP en Fedora tal y como la escribí en el wiki de proyectofedora.org. Recomiendo que visiten el wiki, pues en el mismo pueden encontrar contenido enriquecido por el aporte de otros.

Un servidor LAMP, es aquel en el que se combinan los siguientes elementos Linux + Apache + MySQL + PHP. Es en términos simples: un servidor web, con para páginas dinámicas y bases de datos relacionales montado sobre una plataforma Linux.

Apache es el servidor web HTTP más usado en el mundo, es de código abierto y viene por defecto en los repositorios de Fedora. PHP es uno de los lenguajes de programación más usados para el desarrollo de páginas web y MySQL es un gestor de bases de datos relacionales muy poderoso y que se encuentra bajo licencia GPL.

Instalar Apache y PHP

Lo primero que se debe hacer es instalar Apache.

# yum install httpd

Fedora 11 trae en sus repositorios la última versión de Apache a la fecha. Apache 2.2.

Luego se instala PHP

# yum install php php-gd

Fedora 11 trae en sus repositorios la última versión de PHP a la fecha. PHP 5.2.9. El paquete php-gd es el módulo para aplicaciones PHP para usar la librería de gráficos gd.

El archivo de configuración de apache está ubicado por defecto en /etc/httpd/conf/httpd.conf y la carpeta web (donde se deben publicar las páginas) por defecto es /var/www/html/

Para verificar la instalación del apache se pone en el navegador http://localhost, y deberá ver algo como esto:

Apache_bienvenida

Para verificar la instalación de PHP deberá crear el archivo que contenga el comando para la visualización y guardarlo en /var/www/html/. La forma más sencilla y rápida en este momento de la instalación es:

# gedit /var/www/html/test.php

en el editor de textos escriba <?php phpinfo(); ?> y guardelo.

En el navegador vaya a la dirección http://localhost/test.php, y deberá ver algo como esto:

PHP_test

Instalar MySQL

En realidad lo que se instala es el servidor de MySQL y la extensión de PHP para trabajar con el gestor de la base de datos.

# yum install mysql-server php-mysql

Se debe iniciar el servicio del servidor de MySQL y se hace así:

# service mysqld start

El archivo de configuración del servidor de MySQL se encuentra en /etc/my.cnf

Lo más común es que se desee que los servidores (Apache y MySQL) se inicien en el arranque de Fedora. Para ello ejecutamos lo siguiente:

# chkconfig --level 345 httpd on
# chkconfig --level 345 mysqld on

Para usar de forma apropiada MySQL es recomendable asignar una contraseña al usuario por defecto root, para dar una primera restricción de seguridad a la manipulación de las bases de datos.

# mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('nuevo-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;

Dado que el usuario root tiene todos los privilegios sobre todas las bases de datos que se generen es poco recomendable trabajar usándolo. Resulta más apropiado crear usuarios para las bases de datos que se vayan creando. Para ello es recomendable instalar un panel de control con una interfaz más intuitiva como phpMyAdmin.

Instalar phpMyAdmin

phpMyAdmin es un panel de control libre y basado en web para la interacción del usuarion con el gestor de bases de datos MySQL. Se accede a él a través de un navegador y presenta una interfaz muy intuitiva para el usuario.

Nota: Si aún esta con el promt mysql>, teclee el comando exit y volverá al promt del terminal.

# yum install phpMyAdmin mcrypt php-mcrypt

mcrypt permite el uso de encriptación y php-mcrypt es el modulo de PHP que brinda soporte para encriptación. Es necesario instalarlos, pues phpMyAdmin los solicitará para su correcto uso.

Se debe editar el archivo de configuración de phpMyAdmin para obtener permiso para el acceso desde el navegador. Así:

# gedit /etc/phpMyAdmin/config.inc.php

busque las siguientes líneas:

$cfg['Servers'][$i]['auth_type']='http';
$cfg['Servers'][$i]['user']= '';
$cfg['Servers'][$i]['password']= '';

y modifíquelo para que quede así:

$cfg['Servers'][$i]['auth_type']='cookie'
$cfg['Servers'][$i]['user']= 'root';
$cfg['Servers'][$i]['password']= 'clave de root de mysql';	// La clave que asignó en el paso anterior para el root de mysql.

y para evitar error de blowfish, se agrega la siguiente línea:

$cfg['blowfish_secret']='nueva clave';	//esto es para poner una clave bastante fuerte preferiblemente

guarde el archivo y cierrelo. Luego reinicie el servidor Apache para que tome los cambios realizados.

# service httpd restart

Ahora pruebe ingresando desde el navegador a http://localhost/phpMyAdmin, debería ver la página de bienvenida de phpMyAdmin. Sin embargo es frecuente que el navegador presente un mensaje de 403 Forbidden, para corregirlo se hace lo siguiente:

# gedit /etc/httpd/conf.d/phpMyAdmin.conf

se busca este segmento

Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
   order deny,allow
   deny from all
   allow from 127.0.0.1
</Directory>

y se edita para que quede así:

Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
   order deny,allow
   deny from all
   allow from localhost
</Directory>

luego reinicie Apache

# service httpd restart

después de reiniciado el servidor Apache, ingrese de nuevo a http://localhost/phpMyAdmin y verá algo como esto:

phpMyAdmin

Debe ingresar por primera vez como root y crear los nuevos usuarios de acuerdo a su preferencia en el enlace Privilegios. En el enlace Bases de datos puede administrar las mismas.

Reitero la invitación para que visiten el wiki de proyectofedora.org. Allí encontraran las anteriores instrucciones e información enriquecida por los colaboradores del proyecto de documentación de Fedora en Latinoamerica. El vínculo para este artículo en el wiki es Servidor LAMP en Fedora.

  • Share/Bookmark


Fedora 11 con video Intel

17 06 2009

Si ya esta utilizando Fedora 11 “Leonidas” y su hardware tiene un adaptador de video Intel, probablemente se haya encontrado con que no puede cambiar la resolución de su pantalla o que no puede utilizar múltiples monitores. Infortunadamente he encontrado este defecto. Sin embargo, afortunadamente este asunto es de rápida y fácil solución. A continuación, una solución sencilla y además las instrucciones para configurar adecuadamente el Plymouth.

Configuración para adaptador de video Intel – Fedora 11

  • Si al acceder a Sistema->Preferencias->Pantalla o ejecutar en el terminal el comando xrandr sólo les aparece disponible una resolución para su pantalla, la solución es la siguiente:

Como superusuario ejecute:

# gedit /etc/grub.conf

para editar el archivo de arranque de fedora, y agregue nomodeset a la línea del kernel de arranque por defecto, para obtener algo como esto:

default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title Fedora 11 (2.6.29.4-167.fc11.i686.PAE)
root (hd0,1)
kernel /vmlinuz-2.6.29.4-167.fc11.i686.PAE ro nomodeset root=UUID=d175967f-bc44-4633-9d5e-937728d300e9 rhgb quiet
initrd /initrd-2.6.29.4-167.fc11.i686.PAE.img

guarde y por último reinicie el equipo para que los cambios surtan efecto.

  • Si tiene inhabilitada la función de escritorios extendidos, como superusuario ejecute lo siguiente:
#yum install system-config-display
#system-config-display

para instalar y ejecutar las “configuraciones de pantalla”. Seleccione las opciones pertinentes de acuerdo a su hardware y de clic en Aceptar. Así, crea el archivo de configuración de pantalla xorg.conf. Luego ejecute:

#gedit /etc/X11/xorg.conf

y agregue Virtual 2560 2560 en la sección Screen, subsection Display, para obtener algo así:

Section “Screen”
Identifier “Screen0″
Device     “Videocard0″
Monitor    “Monitor0″
DefaultDepth     24
SubSection “Display”
Viewport   0 0
Depth     24
Virtual 2560 2560
EndSubSection
EndSection

guarde y por último reinicie el equipo para que los cambios surtan efecto.

Habilitar Plymouth

De nuevo como root ejecute:

# gedit /etc/grub.conf

agregue vga=0x318 a la línea del kernel de arranque por defecto, para obtener algo así:

default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title Fedora 11 (2.6.29.4-167.fc11.i686.PAE)
root (hd0,1)
kernel /vmlinuz-2.6.29.4-167.fc11.i686.PAE ro nomodeset root=UUID=d175967f-bc44-4633-9d5e-937728d300e9 rhgb quiet vga=0×318
initrd /initrd-2.6.29.4-167.fc11.i686.PAE.img

guarde los cambios en el archivo. Ahora, ejecute:

# yum -y install plymouth plymouth-system-theme plymouth-theme-charge plymouth-theme-fade-in plymouth-theme-solar plymouth-theme-spinfinity
#plymouth-set-default-theme 'nombre del tema'

Con la instrucción anterior instala los cuatro temas disponibles para plymouth a la fecha. Las opciones: charge, fade-in, solar y spinfinity. Si de sea el arranque en pantalla negra y sólo la barra de progreso en 'nombre del tema' escriba text. Por último ejecute:

#/usr/libexec/plymouth/plymouth-update-initrd

y reinicie para que los cambios surtan efecto.

Así se verá el arranque de acuerdo a la opción que elija:

Plymouth Charge

Plymouth Fade-in

Plymouth Solar

Plymouth Spinfinity

Videos tomados de youtube

  • Share/Bookmark


Ayuda para usuarios Fedora

26 05 2009

Fedora_LogoLa comunidad latinoamericana de usuarios de la distribución de GNU/Linux Fedora ha montado una útil estructura de apoyo a los usuarios de la distribución. Así, cualquier usuario de Fedora con una conexión a internet podrá acceder a la ayuda de los cientos de usuarios Fedora de habla hispana.

Los medios que se han habilitado son los siguientes:

  1. Wiki: En el wiki de proyectofedora.org se encuentra una enorme cantidad de artículos que sirven como guía al usuario de Fedora para instalar el software que necesite y el uso de herramientas comunes, además instrucciones de uso de elementos característicos de Fedora.
  2. Foro: En los foros de proyectofedora.org los usuarios de Fedora de habla hispana pueden encontrar consejos y soluciones a situciones en su sistema Fedora.
  3. Lista de Correo: La lista de correo de usuarios de Fedora en latinoamerica brinda consejos de los cientos de usuarios de habla hispana disponibles. Un poco de paciencia y alguien dará respuesta a tu solicitud.
  4. IRC: A través del canal irc de Fedora Latinoamérica los usuarios pueden recibir ayuda en tiempo real. Usando un cliente IRC local o un clinte web para IRC, en el canal #fedora-latam del servidor Freenode el usuario puede plantear sus inquietudes y recibir colaboración.

Con estos medios, la comunidad latinoamericana de usuarios de Fedora pretende acercar más la distribución a los hispanoparlantes de nuestro continente.

  • Share/Bookmark


¿Está el Software Libre listo para ti?

24 05 2009

Una reflexión desde el usuario doméstico hasta el usuario profesional.

Al hablar de software libre, regularmente aparece una cierta renuencia en el ambiente. Generada por muchos factores, miedo a lo desconocido, miedo al cambio, la percepción de que hay que ser un experto en informática para usar software libre, que no tiene soporte, en fin, podría encontrar mil excusas que he recibido de conocidos y familiares y que yo mismo en algún momento utilicé para rechazar el uso de software libre, incluso incurriendo en la ilegalidad al usar software propietario sin pagar las licencias del mismo.

Sin embargo, es hora de decir que esos miedos son por no decir más, falsos. Hoy, el software libre es tan “fácil” de usar como el software propietario y por el lado del soporte, desde mi punto de vista tiene mejor soporte que el software propietario.

No a la piratería

En principio debo decir que el uso ilegal de software propietario no es la solución. La filosofía del software libre, está directamente ligada al uso legal del software. Está en contraposición del cobro de licencias para el uso del software, pero nunca en favor del uso ilegal del mismo.

Además, no hay una justificación real para utilizar software de forma ilegal, si existe software libre que permita realizar la tarea que necesita el usuario.

Hace poco concluí que un pirata no es más que un “cojo tuerto”

Un pirata no puede pedir soporte, no puede solucionar el problema, está sujeto a qué alguien se encuentre con un problema similar y sea capaz de solucionarlo o simplemente buscar otra opción. Eso, sin hablar del asunto moral involucrado.

El software libre al alcance de tus manos

El software libre tiene ventajas desde el principio, en lo más básico: ¿Cómo adquirirlo? El software libre te lo puede pasar un amigo (o un desconocido), lo puedes copiar, no tienes que ir a una tienda a comprarlo ni necesitas una tarjeta de crédito para pagarlo. Para muchas personas el asunto de ir a la tienda de software se soluciona utilizando pagos electrónicos o solicitando domicilios, pero en un país como Colombia y me atrevo a decir que en general para toda Latinoamérica, donde hay elevados problemas de pobreza el dinero y el acceso a la “tienda” si es un problema.

Por otro lado, el software libre adquirió la fama de ser “difícil”, eso hace que a muchos de nosotros nos de miedo utilizarlo, pero hoy eso ya no es una realidad. Muchos de nosotros tenemos una imagen del software libre, asociada a una interfaz de comandos difícil de usar y de entender. Hoy, el software libre en general está construido para interfaces gráficas de fácil uso. Las distribuciones de sistemas operativos GNU/Linux cuentan con variadas interfaces gráficas para su uso (Gnome, KDE, Xfce, fluxbox), casi que hay una interfaz para cada gusto. Además de los sistemas operativos, las aplicaciones de usuario como programas de ofimática, gráficos, navegadores, mensajería y demás, están prácticamente todas construidas para trabajar en ambientes gráficos.

Ahora, es cierto que sistemas operativos como GNU/Linux tiene interfaces de comandos muy poderosas, permiten al usuario tener un control casi total sobre su sistema y por eso se ha formado la idea de que se necesita ser un “genio” en informática para poder usarlo. Lo que no hemos notado es que sistemas operativos propietarios también trabajan bajo interfaces por comandos, el mayor ejemplo es Unix, pero no dejemos de lado al más popular de los sistemas operativos Microsoft Windows. El éxito de Windows ha sido el generar una interfaz gráfica, de aprendizaje intuitivo para el usuario final, el que no sabe nada de informática. Con el desarrollo de interfaces gráficas para sistemas libres como Gnome, que se puede montar tanto en sistemas GNU/Linux como en sistemas Solaris, o KDE, el software libre ha adquirido esa facilidad de uso que requiere el usuario final. Un usuario sin conocimientos en informática es capaz de aprender a utilizar software libre para tareas cotidianas, de forma intuitiva y sin instrucción.

Los desarrollos realizados en interfaces gráficas, en la facilidad de uso en aplicaciones comunes y en la automatización de procesos y tares que el usuario no necesariamente conoce ha puesto al software libre al alcance de cualquier usuario. Ya no importa si eres un experto, puedes usar software libre. El software libre Ya es “fácil”. Obviamente lo “fácil” es una percepción subjetiva, pero mi intención es mostrar que existen muchas aplicaciones de uso común y de aprendizaje intuitivo.

Aplicaciones de uso general (Doméstico)

Los usuarios de computadores que no conocen de informática usan sus equipos para tareas comunes como: generación de documentos de texto (cartas, tareas) manejo de hojas de cálculo (sencillas o complejas) y tablas, navegación en internet, manipulación de gráficos, reproducción multimedia y “quemar” discos (seguramente hay más). Para estas tareas acá unos ejemplos:

Ofimática

OpenOffice.org Logo

Una suite de ofimática que incluye: Writer (Procesador de Texto), Calc (Hoja de Cálculo), Impress (Presentaciones), Draw (Dibujos) y Base (Bases de Datos). Es producida por Sun Microsystems. Tiene una interfaz gráfica muy amigable, múltiples idiomas, funcionalidades típicas y es de aprendizaje intuitivo. Página oficial OpenOffice.org.

Otra opción es IBM Lotus Symphony, también es una suite.

Navegadores

Firefox es el navegador libre más conocido, tiene la segunda cuota del mercado entre los navegadores (20%) después de Internet Explorer. La fundación Mozilla ha creado un enorme hito gracias al éxito de su navegador.

No es la única opción, existe epiphany que es el navegador por defecto del entorno Gnome, Konqueror de KDE, Opera.

Multimedia

En la reproducción de medios hay una inmensa cantidad de aplicaciones disponibles. El entorno de escritorio Gnome tiene Totem y Rythmbox para video y audio respectivamente, KDE cuenta con Amarok y Kaffeine, Audacious y VLC. VLC es multiplataforma. Además para “quemar” discos están Brasero y K3B entre otros.

Aplicaciones de uso académico, profesional y/o empresarial

A medida que un usuario va adquiriendo habilidad en algún área en particular, empieza a demandar software especializado. Regularmente, estos programas no son tan sencillos de aprender a usar, pues requieren de mayor conocimiento para ser usados. A continuación pongo un listado, tratando de clasificarlo por áreas de interés:

Sistemas Operativos

Sin duda GNU/Linux y Open Solaris son los sistemas operativos libres más populares. No conozco acerca de Open Solaris, por tanto no voy a opinar al respecto. Por otro lado, las distribuciones de GNU/Linux han expuesto un enorme desarrollo. Hay distribuciones casi que para cada gusto y aplicación. Se usan en computadores de escritorio, portátiles, netbooks, servidores y  sistemas embebidos.

Programación

Aunque para programar sólo es necesario un buen editor de texto. Eclipse y NetBeans son Entornos de Desarrollo Integrado (IDE) multiplataforma.

Redes

  • Apache: Servidor Web
  • Asterisk: Plataforma para telefonía IP y PBX
  • Xen, KVM, Qemu: Virtualización
  • Horde: Webmail, administrador de contactos, calendario, notas.
  • Squid: Web proxy

Bases de Datos

Electrónica

Fedora Electronic Lab – FEL es un potente paquete de software para electrónica que incluye simuladores de circuitos electrónicos, diseñadores de PCB, editor y visualizador de VLSI layout, editor de esquemáticos, IDE para microcontroladores, editor de mapas mentales, computo científico, entre otros.

Gráficos

  • GIMP: Programa de manipulación de imágenes de GNU
  • Inkscape: Editor de gráficos vectoriales
  • Dia: Editor de diagramas de Gnome

Ingeniería

  • Scilab: Plataforma para computación numérica
  • Octave: Plataforma para computación numérica de GNU (QtOctave, interfaz gráfica)

La cantidad de aplicaciones es innumerable. Cada quién buscará la que supla su propia necesidad, los anteriores son sólo ejemplos y seguramente hay más aplicaciones para los mismos propósitos.

Un recurso importante en el mundo del software libre son los repositorios. Estos depósitos de aplicaciones le permiten a los desarrolladores publicar sus creaciones y a los usuarios buscarlas de un modo más eficiente. El más grande a mi criterio es SourceForge. En sus servidores se aloja un enorme inventario de aplicaciones libres y de código abierto; además cuenta con un motor de búsqueda que permite al usuario buscar el programa que más se ajuste a sus necesidades.

Ahora, en mi opinión, el mejor proveedor de programas en el mundo del software libre es el amigo, el colega. Una de las enormes virtudes del software libre es permitirnos la libre reproducción y distribución del mismo. ¿Quién mejor que un usuario conocido para recomendarnos y pasarnos un buen programa? Nuestros amigos, profesores, colegas o incluso un desconocido nos puede copiar el programa que necesitamos sin incurrir en ninguna ilegalidad, eso es libertad.

Soporte

Mencioné al comienzo que en mi criterio el software libre tiene mejor soporte que el software propietario, me explico: El soporte desde mi punto de vista es la disponibilidad de asesoría para solucionar algún inconveniente que se tenga con el producto, en nuestro caso el software. En ese orden de ideas, me he encontrado con que existen enormes comunidades de usuarios y desarrolladores de software libre a las que un usuario puede acudir cuando quiera. Claro está, que dicha asesoría no involucra ningún compromiso o responsabilidad. Razón por la que las compañías regularmente se rehúsan a usar software libre, pero para el usuario doméstico puede resultar más que suficiente. Ahora viene lo mejor, existen compañías que se dedican a trabajar y asesorar a otras en el uso de software libre, esas compañías regularmente no cobran por el software (aunque puede suceder), esas compañías cobran un servicio, la asesoría, mantenimiento y soporte del software que las compañías usan, entonces aparece los siguiente:

No resulta mejor invertir dinero en soporte para que las aplicaciones funcionen que invertirlo en el costo de licencias.

De algo estoy seguro y es que el precio de los servicios prestados por soporte, siempre van a ser menores que los costos en los que se incurre por comprar de licencias y de soporte adicional. Incluso, resulta mejor negocio, pagar algún costo razonable por software libre (los desarrolladores también comen), pero que resulte completamente adaptable a las necesidades propias, pues su código fuente está a la disponibilidad del comprador.

Los ejemplos acá citados son aplicaciones comunes, para personas sin conocimientos en computación y para personas que usan sus máquinas para desarrollo profesional. Eso prueba que el software libre está hoy al alcance de cualquier persona. Cada persona según su experticia requiere determinadas aplicaciones, las mismas están ahí disponibles para quién las requiera.

Fuentes

  • Share/Bookmark


Fedora 11 – "Leonidas"

11 05 2009

Restan sólo días para el día. El próximo 26 de Mayo es la fecha de lanzamiento final de Fedora 11 “Leonidas”. A continuación mencionaré algunas de sus características más destacadas:

  • Linux Kernel 2.6.29
  • Gnome 2.26, KDE 4.2, Xfce 4.26
  • Instalador automático de fuentes y Mime
  • IDE Eclipse, IDE NetBeans 6.5
  • Sistema de Archivos por defecto ext4
  • Soporte para lectores de huellas digitales
  • Firefox 3.1
  • Xserver 1.6

y más …

Fedora 11, se iniciará y cerrará más rápido (20 segundos) y viene listo tanto para un usuario doméstico, como para su uso en sevidores.

La versión de prelanzamiento está disponible hace unas semanas en https://fedoraproject.org/get-prerelease.

Notas de Lanzamiento en Español

  • Share/Bookmark