Update-grub en CentOS 7

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

Anuncios

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.