Instalar Dropbox en CentOS Stream

Al instalar el paquete rpm que Dropbox ha desarrollado para Fedora en CentOS Stream veo que no funciona correctamente del todo, pues tiene dos carencias que yo considero importantes: no se arranca automáticamente al inicio y no te muestra los emblemas de sincronizado o no en el navegador de archivos.

Ambos errores se solucionan si en vez de instalar el paquete lo compilamos desde la fuente. Para ello hacemos lo siguiente:

Descargamos el código fuente de la página de descargas de Dropbox.

Instalamos el entorno necesario para compilar paquetes:

sudo dnf groupinstall 'Development Tools'

Instalamos las librerías necesarias para la compilación:

sudo dnf install nautilus-devel python3-docutils

Nos situamos en el directorio donde hayamos descargado el código fuente y lo descomprimimos ejecutando:

tar xjf ./nautilus-dropbox-20220.03.04.tar.bz2

Esto nos crea una carpeta cuyo nombre se corresponderá con la versión que hayamos descargado. Nos situamos en ella con:

cd ./nautilus-dropbox-2020.03.04

Y ejecutamos:

./configure

Al terminar este comando comprobamos la salida que genera para ver que no ha dado problemas de dependencias. Si todo ha ido bien ejecutamos:

make

sudo make install

Una vez hecho esto ya tendremos el icono de Dropbox al pulsar en «Actividades». Al lanzarlo la primera vez se ejecutará la descarga del daemon y cuando termine la instalación ya podremos ver el directorio de Dropbox con los emblemas correspondientes.

Tenemos que tener presente que al igual que ocurre con todos las aplicaciones que compilamos desde los fuentes, para actualizarla a una versión posterior tendremos que descargar y compilar la nueva versión repitiendo de nuevo todo el proceso.

Update-grub en CentOS 7

Minientrada

Para aquellos que cambian de entornos Linux basados en Debian / Ubuntu a otros basados en Red Hat como CentOS, es posible que la fuerza de la costumbre les haga teclear como si fueran comandos de validez universal cosas que son solo scripts específicos de ciertas distribuciones. Este es el caso del comando «update-grub», que si lo ejecutamos en CentOS el sistema nos contesta:
bash: update-grub: comando no encontrado...
Pues dicho script no existe en esta distribución. Pero esto no es un gran problema, pues dicho script lo único que hace es recargar el fichero de configuración de Grub2, así que podemos obtener el mismo resultado ejecutando el comando:
grub2-mkconfig -o /etc/grub2.cfg
Tenemos que tener en cuenta que en otras distribuciones que utilicen también Grub2 es posible que la ruta a su fichero de configuración cambie. De hecho en CentOS el fichero /etc/grub2.cfg en realidad es un enlace, como podemos comprobar ejecutando:
readlink /etc/grub2.cfg
Comando que nos devuelve a dónde apunta dicho enlace, que es al fichero /boot/grub2/grub.cfg

Instalar Vuze (Azureus) en CentOS

Aunque yo lo he hecho en un CentOS 6.3 para 64 bits, este procedimiento debería de funcionar en cualquier linux.  Lo primero es descargarse el JRE de Java de la web de Oracle. Seleccionaremos el rpm más actual que se ajuste a nuestra arquitectura, en mi caso y en estos momentos es el jre-7u6-linux-x64.rpm.
Abrimos una consola como root y lo instalamos con:
cd /home/<nuestro_usuario>/Descargas
rpm -ivh jre-7u6-linux-x64.rpm
export PATH=/<path_to_java>/bin:$PATH

En mi equipo el «path_to_java» está en /usr/java/bin pero puede ser que varíe de un sistema a otro.
Descargamos el programa Vuze de aquí.
Instalamos el programa en el directorio opt:
cd /opt
tar xvjf /home/<nuestro_usuario>/Descargas/Vuze_4712_linux.tar.bz2
Cambiamos el usuario del directorio creado:
chown -R <nuestro_usuario>:<nuestro_grupo> /opt/vuze
Para poner un icono en el panel superior (en Gnome 2, que es el escritorio por defecto de CentOS 6) pulsamos con el botón derecho sobre el panel superior, seleccionamos Añadir al panel, seleccionamos Lanzador de aplicación personalizado y pulsamos Añadir, seleccionamos tipo Aplicación, ponemos de nombre “Vuze” o «Azureus», comando “/opt/vuze/azureus”, comentario “Pues eso”, pulsamos en el icono cuadrado con el chisme raro, seleccionamos el icono de Vuze de /opt/vuze/vuze.png, pulsamos Aceptar y ya tenemos el lanzador con la ranita en el panel.

Login automático en CentOS 6

Para que al arrancar el sistema en modo gráfico entremos en Gnome directamente con nuestro usuario, sin tener que hacer login con usuario / contraseña, tenemos que editar el archivo /etc/gdm/custom.conf y añadir en la seccion «daemon» las siguientes dos líneas:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=<nuestro_usuario>

Leído aquí.

Configurar Selinux para un VirtualHost de Apache en Centos 6

Para que al utilizar un host virtual en Apache (por ejemplo localdev) cuyas páginas se encuentren en un directorio dentro de la carpeta del usuario (por ejemplo en public_html) no tengamos problemas de seguridad con Selinux, tenemos que realizar lo siguiente:

1) Instalar paquetes necesarios

Una instalación por defecto de Centos 6 a partir del CD Live configura Selinux en modo enforcing pero no instala algunos paquetes que vienen bien. En una consola como root hacemos:
#yum install policycoreutils-python setroubleshoot

2) Activar Selinux (en caso de que no lo tengamos ya activado)

Editar (como root) el fichero /etc/selinux/config dejándolo así:

SELINUX=enforcing
SELINUXTYPE=targeted

Tenemos que tener en cuenta que si no lo teníamos activado y modificamos este fichero para activarlo, es necesario reiniciar el equipo, porque hace falta que se haga de nuevo un «relabel» del sistema de ficheros.

3) Crear el host virtual en Apache

Modificar el fichero /etc/httpd/conf/httpd.conf descomentando la línea:
NameVirtualHost *:80 y añadiendo al final de dicho fichero:

DocumentRoot ~user/public_html
Servername localdev

4) Modificar el /etc/hosts

Modificamos la línea del host local incluyendo el nuevo host virtual (en este caso localdev) dejándola más o menos así:
127.0.0.1 localhost localhost.localdomain localdev

5) Configurar el contexto de Selinux y los permisos de la carpeta

Tenemos que lanzar como root los siguientes comandos en una consola.
Para cambiar el contexto Selinux de la carpeta del host virtual al necesario para que lo utilice el servidor web:
#chcon -R -v -u system_u -r object_r -t httpd_sys_content_t ~user/public_html

Para permitir al servidor web que lea el contenido de la carpeta home de los usuarios:
#setsebool -P httpd_enable_homedirs 1

Para que la configuración de Selinux se mantenga después de un «relabel» del sistema de ficheros:
# semanage fcontext -a -t httpd_sys_content_t "~user/public_html

Para que no haya problemas de permisos de acceso a las páginas web:
#chmod -R 755 ~user/public_html

(Los dos primeros comandos pienso que habría también que utilizarlos si en vez de crear un host virtual lo que se hace es utilizar el módulo userdir de Apache.)

6) Reiniciamos Apache y probamos nuestra página de inicio.

http://localdev/index.html

(Esta entrada es una versión resumida de este post, en el que se explica todo con más detalle)

Instalar Skype en CentOS 6

Para instalar Skype en un Lenovo T61 funcionando con CentOS 6.2 en su versión para 64 bits hay que seguir las instrucciones para CentOS 6 que aparecen en la wiki de CentOS:

1) Instalar las librerías de 32 bits necesarias para instalarlo en 64 bits:
yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686
libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXi.i686 libXrender.i686
libXrandr.i686 freetype.i686 fontconfig.i686 zlib.i686
glib2.i686 libstdc++.i686 libv4l.i686

2) Instalar la versión «static» de Skype (bueno, muy «static» no es, pues hay que instalar más cosas para que funcione):
cd /tmp
wget http://www.skype.com/go/getskype-linux-beta-static
cd /opt
tar xjvf /tmp/skype_static-2.2.0.35.tar.bz2
rm /tmp/skype_static-2.2.0.35.tar.bz2
ln -s skype_static-2.2.0.35 skype

3) Finalmente, hay que hacer un par de enlaces, el segundo es opcional, pero el primero es necesario para que funcione el sonido:
ln -s /opt/skype /usr/share/skype
ln -s /opt/skype/skype /usr/bin/skype

Se puede poner un enlace a Skype en el menú, en el panel o directamente lanzarlo desde consola. Yo he preferido añadir un lanzador de aplicación al panel superior. Para ello tenemos que pulsar el botón derecho sobre el panel superior, seleccionar Añadir al panel, seleccionar Lanzador de aplicación personalizado y pulsar Añadir, seleccionar tipo Aplicación, ponerle de nombre «Skype», comando «/opt/skype/skype», comentario «Pues eso» y pulsando en el icono con el chisme raro, seleccionar el icono azul de 32×32 que hay en la carpeta /opt/skype_static-2.2.0.35/icons. Pulsamos Aceptar y ya tenemos el lanzador en el panel.

Bueno, pues una vez hecho todo esto y arrancado el Skype, el sonido no me funciona. Después de darme una vuelta por google mirando por aquí y por allá, he decidido probar con Pulseaudio, para lo que he tenido que instalar:
yum install pulseaudio-libs.i686

Una vez instaladas todas las dependencias, arranco de nuevo Skype y ya funciona la salida de sonido. La entrada no, pero es porque en este equipo hay que ir a Sistema / Preferencias /Sonido, pulsar en la pestaña Entrada y en la opción Conector seleccionar «Micrófono 2».

Si al lanzar el programa sale el error: error while loading shared libraries: libtiff.so.4 esto es debido a un problema de versiones, hay que hacer el enlace:
ln -s /usr/lib/libtiff.so.3.9.4 /usr/lib/libtiff.so.4

Instalar Firefox 10 en CentOS 6.2

La versión de Firefox que trae CentOS 6.2 es la 3.6, a la cual le falta una característica muy interesante para mí, que es el complemento Sync. Para actualizar a la versión más moderna de Firefox (en estos momentos la 10) tenemos que hacer lo siquiente (como root):

Habilitar los repositorios EPEL y Famillecollet:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Actualizar Firefox a partir de este último repositorio:
# yum --enablerepo=remi update firefox

Y ya está.

Edito (29/8/2012): parece que han cambiado la dirección de EPEL, ahora está en ftp.cica.es, por lo que el primer comando quedaría:
# rpm -Uvh http://ftp.cica.es/epel//6/i386/epel-release-6-7.noarch.rpm
En caso de que la arquitectura fuera de 64 bits sólo habría que cambiar el «i386» por «x86_64».

Edito de nuevo (9/1/2013): pues han vuelto a cambiar el enlace, ahora el comando sería para 32 bits:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
y para 64 bits:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Configurar LAMP en CentOS 6.1

Apache

El servidor de páginas web Apache viene instalado por defecto con Centos, así que lo único que hace falta es arrancarlo (como root) con:

service httpd start

PHP

Para tener PHP, hay que instalar los paquetes php, php-mysql y php-gd. Si queremos también el paquete php-mcrypt podemos descargarlo del repositorio de EPEL (el enlace es para i386).
También se puede, en vez de descargar cada paquete de EPEL, incluir este repositorio para tenerlo disponible. Esto se hace con el comando:

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm'

Reiniciamos el servidor web para que se reflejen los cambios.

MySQL

Instalamos el paquete MySQL-server y si queremos hacer seguras las cuentas iniciales, en la guía de referencia lo explican perfectamente.

Instalar phpMyAdmin

Descargar o instalar el paquete php-php-gettext de EPEL:

Descargar o instalar el paquete phpMyAdmin de EPEL:

Como el paquete no instala directamente la aplicación en el servidor web, hay que hacer un enlace simbólico (ojo con las mayúsculas):

ln -s /usr/share/phpMyAdmin/ /var/www/html/phpMyAdmin

Hay que editar el fichero /usr/share/phpMyAdmin/config.inc.php y localizar $cfg[‘blowfish_secret’] = ”; Ponemos entre comillas una frase cualquiera, con el fin de que exista una semilla para la encriptación de contraseñas cuando se utiliza la autentificación por cookies. Debe de quedar así:

$cfg['blowfish_secret'] = ‘poner una frase cualquiera’;

Verificar que tu servidor de base de datos es correcto:

 $cfg['Servers'][$i]['host'] = ‘localhost’;

Verificar que la autenticación es por cookie:

$cfg['Servers'][$i]['auth_type'] = ‘cookie’;

Incluir el usuario y contraseña de acceso:

$cfg['Servers'][$i]['user'] = ‘root’;
$cfg['Servers'][$i]['password'] = ‘miPassword’;

Y guardar el archivo config.inc.php.

Accedemos a http://localhost/phpMyAdmin y verificamos que todo va bien entrando como root y con la contraseña que establecimos para MySQL.

CentOS 6 en un EeePC

La distribución CentOS en su versión 6.1 funciona perfectamente en el netbook EeePC (mod. 1001HA), el único problema que da es que el wireless no es reconocido de primeras, por lo que para poder hacer la instalación completa es necesario tener una conexión por cable a internet.

Hay que seguir los siguientes pasos:

  1. Crear un USB de arranque.
    • Descargar la imagen iso del Live CD de la página de descarga de CentOS, eligiendo el protocolo (http, ftp) que más nos guste del país más cercano al nuestro.
    • Crear un USB de arranque con dicha imagen iso, siguiendo las instrucciones para el Fedora Live USB Creator (hay versiones de este programa tanto para windows como para Linux).
  2. Instalar la distro en el disco duro.
    • Con el USB insertado en la ranura correspondiente del netbook, encenderlo, y nada más comience el arranque, pulsar Esc para seleccionar el medio desde el que arrancar. Aparecerá una lista y si no está nuestro USB en ella es que algo ha ido mal. Si aparece, lo seleccionamos y el sistema arrancará en modo Live (sin tocar por ahora el disco duro).
    • Vemos que prácticamente todo el hardware es detectado y funciona a la primera, salvo el wifi, para el que tendremos que hacer unas pocas cosas más una vez instalada la distro.
    • Al arrancar el sistema nos aparece una pantalla de login en la que deberemos seleccionar en la parte de abajo nuestro idioma y la distribución de teclado que tenemos. Una vez hecho, el sistema arranca con el usuario por defecto.
    • Pasado un rato nos aparece un escritorio Gnome de los que a mi me gustan (versión 2.28) en el que haremos doble-click en el icono «Instalar en el disco duro». El programa de instalación es muy sencillo y fácil de seguir. Lo único que he visto que falla es que si cuando nos aparece el nombre del host intentamos cambiar el que aparece por defecto (livecd.centos), en el siguiente paso al seleccionar la zona horaria el programa falla y hay que volver a comenzar de nuevo. Así que mejor no cambiarlo, pues de todas formas el nombre de host que finalmente deja en el sistema tras la instalación es el habitual de «localhost.localdomain».
    • Una vez terminada la instalación, rearrancamos el sistema, contestamos las pocas preguntas que quedan por resolver y a mi me ha dado un error de falta de memoria para el «kdump», pero al reiniciar de nuevo todo va bien y el sistema funciona.
  3. Actualizar el sistema. Por muy actual que sea nuestra imagen iso, casi seguro que habrá que actualizar un montón de paquetes antes de nada. Se puede hacer de modo gráfico o por consola, pero con esperar un rato, mientras exploramos los menús de Gnome, al poco os aparecerá un aviso de que hay que actualizar el sistema.
  4. Para hacer que funcione el wifi, tenemos que incorporar el repositorio «elrepo» en su rama «testing. Para ello tenemos que:
    • Hacernos root con : su –
    • Instalar el repositorio: rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm
    • Habilitarlo: yum –enablerepo=elrepo-testing
    • Si nos hemos cansado de la consola, podemos ir a Sistema – Administración – Añadir/ Quitar Software y allí poner «rt3090» en la ventanita de arriba a la izquierda y pulsar «Buscar». Nos deberían de aparecer dos paquetes: rt3090sta y el firmware de Ralink. Seleccionamos los dos y pulsamos en «Aplicar».
    • Para que nos funcione y podamos gestionar la red por el Network Manager, quitamos el cable de red, reiniciamos sesión o rearrancamos y ya nos aparecerán las redes disponibles.