20 de enero de 2014

Servidor Web Cherokee con PHP en Fedora 20

¡No no compañeros! No es Fedora ni nigún otro Linux metido en la marca de automóviles reconocida Cherokee. ¡Estamos hablando de un servidor Web!
 
Muchos o muchas somos a veces preguntones, y nos interesa saber si existe alguna especie de servidor que incluya una interfaz gráfica. Con la que monitoricemos el servidor con el que podamos crear uno de eso “Virtual host” sin tener que toquetear ficheros de configuración, definir reglas de seguridad o viceversa. Pues al parecer tenemos un programa ideal para ello.

Cherokee es un servidor Web creado por un desarrollador llamado Álvaro López Ortega con la intención de crear un servidor escrito plenamente en C con la intención de ser mucho más rápido que el propio Apache. Este cuenta con una interfaz multi-lenguaje y multiplataforma fácil de configurar.

Por otro lado la configuración o mantenimiento del servidor, se puede realizar mediante texto como es obvio, o mediante una interfaz gráfica mediante navegador. Para una fácil gestión del mismo. Cherokee permite entre muchas otras cosas, dar de alta, eliminar o modificar Virtual hosts, que en una explicación escueta, quiere decir, que permite tener múltiples instancias de “servidores” al mismo tiempo. Cada uno con una carpeta distinta, e incluso, hostname distintos.

Y no sólo eso, si no que en cada uno se puede añadir un “complemento”, como un CMS, PHP, Symphony, Django...

Para tenerlo en nuestro PC, tan solo tendremos que instalar los siguientes paquetes:
  • $ su -c “dnf install cherokee php php-common rddtool rddtool-php
Y para empezar a configurarlo, arrancamos con el siguiente comando en una terminal:
  • $ su -c “cherokee-admin”
Saldrá una salida como en la siguiente imagen que incluirá una contraseña generada aleatoriamente y de un solo uso con un usuario llamado admin y una dirección de red local, con un puerto por defecto, que es el 9090.

Tomamos la IP, y nos logueamos, en la interfaz que nos aparece después de abrir el enlace de la salida anterior y nos encontraremos con un portal así:


En este portal podemos configurar todo lo que queramos (hasta lo que nos permita) seguridad, puertos, virtual hosts, reglas de seguridad, SSL, TLS, IPv6....

Tan sólo para testarlo deberemos “encenderlo”, y poner en el navegador:


Nota: Una vez que activemos el servidor, siempre se ejecutará al arranque del sistema, de tal forma, que no necesitaremos activarlo desde systemd. (systemctl). Aunque nuestro compañero Cherokee, aún sigue utilizando SysV (init.d).
Para desactivarlo, podemos hacer o bien systemctl disable cherokee. (Esto le dirá a chkconfig el viejo programa para la manipulación de servicios SysV, que lo desactive). O bien utilizando chkconfig cherokee off.

Deberá abrirse una página como la siguiente:


¡Y eso es todo!

Fuentes:
  • Google.com
  • Cherokee-project.com
  • Wikipedia.org

Fedora 20 en VirtualBox con Guest Additions.

Para aquellos que les interese tener VirtualBox con Fedora 20 con las herramientas Guest Additions instaladas en él para mejorar su funcionamiento y, así obtener mejoras como, el acceso a carpetas compartidas, portapapeles, y copiar-pegar host-guest o viceversa. Sólo tendremos que instalar una serie de paquetes dentro de nuestra máquina virtual con Fedora para poder empezar jugar con ella a fondo.

Nota: Existen dos versiones de VirtualBox, una es la versión privativa que posee Oracle. Y la segunda es la versión open source, llamada VirtualBox-OSE. Ambas funcionan de igual forma, lo que la versión privativa trae más añadidos. Si quieres utilizar -OSE. Puedes obtenerla desde el repositorio de RPM Fusion. Y la privativa, puedes descargarla desde aquí.

Para los que no sepan qué es VirtualBox, este es un programa que nos permite tener, por así decirlo, un "ordenador" dentro de nuestro "ordenador". Esto quiere decir, que podemos ejecutar entre 1 y más sistemas operativos en nuestro PC sin dañarlo o causar problemas. Para que sea posible, el programa tomará parte del hardware de nuestro equipo el cuál utilizará para poder correr el sistema operativo. Es más, si ves con un lscpu en la máquina virtual te mostrará las características del procesador que nosotros tenemos en nuestro ordenador.

Para poder virtualizar, necesitaremos mucha memoria RAM, ya que en la virtualización se tira más por la RAM que del procesador, aunque este último ayude en la desenvoltura del área de trabajo. En suma de una serie de instrucciones que deberá tener nuestro procesador para que trabaje correctamente. 



Para saber si tenemos ese set de instrucciones, ejecutamos el siguiente comando en función el procesador que tengamos:
  • Para Intel
$ cat /proc/cpuinfo |grep vmx
  • Para AMD
$ cat /proc/cpuinfo |grep svm
Hay que tener en cuenta, que en los ordenadores portátiles, tienen desactivada por defecto las instrucciones de virtualización de Intel (VT-X) o de AMD (AMD-V). Hay que activarlas para una mejor respuesta de nuestro hardware. Esto se hace desde la BIOS. Que es el software genérico que trae la placa base.

Bueno una vez chequeadas que tenga soporte svm/vmx, que nuestro ordenador tenga 64 bits (preferible 100%), al menos 1.5/2GB de RAM, y la .iso de Fedora 20. Pasamos a la parte práctica.

Creamos una máquina virtual desde VirtualBox, y le instalamos Fedora 20, al que posteriormente lo actualizaremos y le instalaremos los siguientes paquetes, y luego reiniciamos:

  • $ su -c "dnf upgrade -y"
  • $ su -c "dnf install kernel kernel-devel kernel-headers gcc binutils make dkms"
  • $ su -c "reboot"
Una vez hecho esto, nos dirigimos al apartado "Dispositivos" -> "Instalar Guest Additions..." Al pulsar, nos arrancará como un "CD". Esto es una .iso que tiene las herramientas necesarias para poder trabajar correctamente con nuestra máquina. Por lo que procederemos a su instalación:

Abrimos una terminal, y nos situaremos en el directorio donde se haya montado el disco. Para ello ejecutaremos los siguientes comandos:
  • $ su
  • # mount /dev/sr0 /mnt
  • # cd /mnt
  • # ./VBoxLinuxAdditions.run
Una vez instalado, reiniciamos y ya tendremos nuestro Fedora completamente listo para utilizar.



Fuentes:
  • Google.es
  • RPM Fusion.org
  • VirtualBox.org
  • Humblec.com

17 de enero de 2014

Soporte mate-bluetooth en Fedora 20 ¿Dónde se fue?

Al parecer, recién instalé Fedora 20 con MATE, y me encuentro con que el paquete mate-bluetooh no está en los repositorios. Y bueno, uso este tipo de protocolo para pasar archivos entre la Tablet y el smartphone cuando me urge prisa. Pues buscando me encuentro en la página de la wiki de Fedora con la nueva versión de Bluez5 comunicándonos lo siguiente:

"...mate-bluetooth has not received much upstream attention recently and is likely to not get ported to BlueZ 5 in time for F20. However, the Fedora MATE maintainers are looking into switching back to using gnome-bluetooth, and creating a panel applet for MATE that uses gnome-bluetooth underneath. An initial prototype is available at https://github.com/NiceandGently/bluetooth-panel-applet

El mensaje es claro. Parece que en el proyecto oficial de MATE no le ponen mucha atención según la wiki de Fedora. Pero no veo tan poco que sea algo tan viejo según el último registro de su GitHub va de camino para 3 meses la última actualización.

Sin embargo, los desarrolladores, empaquetadores de MATE en Fedora, están haciendo todo lo posible para crear un pequeño panel utilizando código del paquete gnome-bluetooth para facilitarnos la vida. Según ese enlace apunta a un pequeño prototipo, pero ya no está disponible. Así que habrá que esperar...

Sin embargo, lo que hice fue aprovechar la idea, instalar el paquete gnome-bluetooth y pasar los archivos por ahí que funcionó a la perfección. Vamos puro workaround.

Para instalarlo:
  • $ su -c "dnf install gnome-bluetooth"
Enviando ficheros:

$ bluetooth-send-to

Pequeño panel con asistente:

$ bluetooth-wizard 
Y para gestionar el dispositivo de nuestro ordenador:

$ bluetoothctl

Fuentes:
  • Google
  • FedoraProject.org Changes/Bluez5
  • GitHub - mate-bluetooth

MySQL Workbench 6.0.1 en Fedora 20

Para aquellos que les guste el diseño de una base de datos con un toque visual. Tenemos la súper herramienta MySQL Workbench. Este programa nos permitirá entre otras cosas, crear un esquema lógico para facilitarnos la estructura y diseño de la base de datos que queramos usar acorde a nuestros fines. Porque no solo es una interfaz sencilla para ver como están las tablas con sus atributos, relaciones... si no que nos permite exportarla a un fichero .SQL. Esto nos facilita en un cierto modo el trabajo. Porque si tenemos un servidor corriendo con MySQL o MariaDB, importamos el fichero y ¡voilá! Tendremos una fantástica base de datos ¡sin haber tocado un solo comando SQL!

Este programa te permite definir los campos de las tablas incluyendo el mecanismo de cómo almacenar la información incluyendo InnoDB, Spider, MyISAM, Aria, Xtra... entre muchas mas elecciones; además de multitud de codificaciones utf8, koio8u, ascii...; pasando por los 'disparadores o triggers' y una larga lista de funciones sólo para las tablas.

Por otro lado, el programa cuenta, incluso con una gestión de base de datos en red, pudiendo conectarse a cualquier servidor de base de datos que administremos con MySQL o MariaDB; consola interna.... ¡necesitaría 1 año para ver todo lo que tiene el programa!


También viene con un diseño lógico por defecto llamado 'sakila_full.mwb' que se muestra en la siguiente captura de pantalla, que nos aclarará un poco cómo es su uso y su diseño. No parece que esté tan mal ¿verdad?



Para poder instalarlo, necesitaremos descargar los paquetes desde la página web comunitaria de MySQL. Al no ver una versión para Fedora 20, me vi obligado a usar la de Fedora 19. Pero sin ningún problema. :)

Descarga tu versión en los siguientes enlaces:
Si te gustaría ver si está la versión actualizada para Fedora 20, puedes echarle un vistazo aquí.

Fuentes:
  • Google
  • MySQL Web page

Cambiando la apariencia visual en aplicaciones Qt para entornos ajenos a KDE

Si estás usando un entorno de escritorio como GNOME, XFCE, LXDE o incluso MATE. Y no te gusta ver esa "vieja" apariencia que muestran los programas escritos en Qt4 que uses. Pues no te desesperes que aquí tienes una solución para poder cambiar esa interfaz.

Qt4 Configuration nos permite vestir todas las aplicaciones Qt4 instaladas en nuestro sistema como queramos. Modificando la apariencia, las fuentes, como generar la salida de la información a la hora de imprimir un documento, incluso cómo queremos que salga la información audiovisual de los programas multimedia de nuestro sistema (Qt4).

Como podemos ver en la siguiente imagen, un antes y un después de como ha cambiado la interfaz visual.


Para guardar los cambios no os olvidéis de ir a "File" -> Save.

Para instalarlo:
  • $ su -c "dnf install qt-config"
Fuentes:
  • Google
  • ArchWiki - Uniform Look for Qt and GTK Applications

Drivers AMD Catalyst en Fedora 20


Si tienes Fedora 20, una tarjeta gráfica AMD (antes ATI), y no te gusta mucho el driver libre radeon, sea por lo que sea. Siento decirte que estamos de luto. En el repositorio RPM Fusion desde Fedora 20 no tenemos más soporte. Aunque esto no nos debe de impresionar, dado que, radeon es el driver libre que nos viene por defecto en Fedora. Y es lo que nosotros apoyamos. No nos olvidemos que RPM Fusion son repositorios ajenos al proyecto, con el fin de facilitar programas, librerías, códecs... privativos o que no correspondan con los términos del Software Libre que defiende Fedora. Este repositorio no es oficial y está hecho gracias a un equipo voluntario que lo mantiene día tras día.

Sin embargo, todos los que lo usamos, es un palo bastante grande. De la comodidad de akmod o kmod, a pasar de vuelta a la ejecución de un script. Tal vez sea no muy llevadero para quiénes no estén muy familiarizados con el tema de la compilación. Sin embargo, para otros es como comer pipas que los veo y me dan envidia. No obstante, lo bueno de Linux y este mundillo es que no se cansan de hacer soluciones.

Por ende, encontré una alternativa a la hora de instalar los controladores de Catalyst en Linux, en las anotaciones del siguiente autor del blog tojaj donde nos relata un poco como hacerlo.

¡OJO! Es muy importante que sepas, que para la instalación del driver nosotros compilaremos el núcleo y usaremos el sistema SIN el secure boot activado.

Bueno, primero tenemos que revisar nuestra versión de servidor X.org instalada en nuestro sistema, y comparar si corresponde a la versión que tenemos en nuestro sistema, además de la versión de nuestro kernel.
  • Xorg/Xserver 7.4 y/o superior (1.14)
  • Linux kernel 2.6 o superior (3.11)
Después deberíamos tener instalado en nuestro sistema, las fuentes del kernel, más el compilador GCC y otras herramientas como make, binutils...
  • $ su -c "dnf install gcc binutils make kernel-devel kernel-headers"
Pasamos a descargarnos el driver de la página de AMD y lo descomprimimos.

Luego, nos situamos en el directorio desde terminal, otorgamos permisos de ejecución y lo corremos como root!
  • # chmod +x amd....sh
  • # ./amd...run 
Asistente de instalacón Catalyst
Nos saltará un asistente gráfico, nosotros seguiremos los pasos de "Siguiente", y la opción la dejamos en automático. Una vez que realicemos la instalación nos dará un pequeño error con el que no nos debemos asustar. Según estuve mirando, es un error de AMD que no tomó en cuenta las APIs del kernel de Fedora, supuestamente. Y falla en la compilación dando a lugar el siguiente error:
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.12.7-300.fc20.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/kernels/3.12.7-300.fc20.x86_64'
  CC [M]  /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
  CC [M]  /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
/usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c: In function ‘KCL_ACPI_ParseTable’:
/usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:999:5: warning: passing argument 1 of ‘(acpi_status (*)(u32,  void *, void *))handler’ makes integer from pointer without a cast [enabled by default]
     ((acpi_table_handler)handler)(hdr);
     ^
/usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:999:5: note: expected ‘u32’ but argument is of type ‘struct acpi_table_header *’
/usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:999:5: error: too few arguments to function ‘(acpi_status (*)(u32,  void *, void *))handler’
make[2]: *** [/usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1
make[1]: *** [_module_/usr/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.12.7-300.fc20.x86_64'
make: *** [kmod_build] Error 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
[Reboot] Kernel Module : dracut

Nuestra solución es la siguiente:
Cerramos el instalador y con un editor de texto, modificamos el fichero que se encuentra en /lib/modules/fglrx/build_mod/kcl_acpi.c y en la línea 999. Realizaremos este pequeño cambio:

==> ((acpi_table_handler)handler)(hdr);) 
==>((acpi_tbl_table_handler)handler)(hdr)

Posteriormente, guardamos el fichero y ejecutamos los siguientes comandos que nos llevarán a la compilación he instalación del driver:
  • $ cd /lib/modules/fglrx/build_mod/
  • $ ./make.sh
  • $ cd .. && ./make_install.sh
Una vez terminado, editaremos el fichero /etc/default/grub con un editor de texto y añadimos en la línea del kernel el parámetro radeon.modeset=0, quedando más o menos así.
GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rhgb quiet radeon.modeset=0"
Regeneramos el fichero del gestor de arranque:
  • # grub2-mkconfig -o /boot/grub2/grub.cfg
 Y ¡voilá!

Solución de errores:

No sé ustedes, pero yo NO he podido utilizar Fedora con GNOME 3.10.*.




Desconozco el error. El GDM no lo puedo utilizar, porque se pone oscura la pantalla. Y he iniciar X desde startx y configurando el .xinitrc para que me abra openbox. Solo sé que un tal Clutter dice que no existe OpenGL en nuestro sistema y no lanza programas como Cheese, gnome-shell... No lo comprendo porque si puedo lanzar muchos programas de GNOME que parecen no requerirlo como nautilus, gnome-terminal, y programas como Stellarium que necesitan OpenGL para correr. Además que fglrxinfo dice la versión que soporta OpenGL el driver incluso. Si alguien sabe el por qué, por favor, que no dude en sumarse al reporte que abrí en Bugzilla.

Fuentes:
  • FedoraForum.org
  • Tojaj.com
  • Google

Licencia y responsabilidades

Licencia Creative Commons
netSys blog por Álvaro Castillo se encuentra bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

El propietario de este blog no se responsabiliza de los daños que puedan generarse u ocurrir por la información expuesta aquí, en caso de ser utilizada la responsabilidad recae bajo quién la use.

Se les informa de posibles publicaciones donde queden expuestas imágenes a terceros o marcas comerciales que siempre tendrán sus fuentes, y sus atribuciones.

Por último, en caso de confusión por la temática que se trate de los artículos, tutoriales...etc dejaremos claro que este sitio Web no colabora directamente con ningún proyecto de forma oficial.